今天在 GitHub Trending 上看到一个有意思的项目:GBrain。它的核心主张很反直觉——搜索(Search)给你一堆原始网页,而 GBrain 直接给你答案。它把个人知识库从「关键词匹配 + grep」升级为「合成式回答 + 知识图谱 + 缺口分析」的一体化系统,是 AI Agent 一直缺失的那一层「大脑」。

一、项目概述

GBrain 由 Y Combinator 总裁兼 CEO Garry Tan 打造,定位为「你的 AI Agent 缺失的大脑层」。它把合成(synthesis)、图谱遍历(graph traversal)与缺口分析(gap analysis)打包进同一个盒子,既可承载一个完全自主的 Agent,也能用一条命令接入 Claude Code 或 Codex 作为增强检索层——让你的编码 Agent 不再对代码之外的一切「失忆」。

Garry 自己的生产部署是它最好的背书:在 OpenClaw 与 Hermes 上跑着 146,646 页文档、24,585 个人物、5,339 家公司、66 个全天候 cron 任务。他的 Agent 在他睡觉时摄入会议、邮件、推文、语音通话与原始想法,自动丰富每个遇到的人和公司,并在夜间自愈引用、整合记忆。

GBrain 提供两种查询形态,服务于不同职责:

  • gbrain search:原始检索,按混合打分返回 top 页面,快速、零 LLM 成本——适合给 Agent 上下文窗口喂料、查引用、找某句原话。
  • gbrain think:在检索之上做合成,输出跨结果的带引用答案,并诚实标注「大脑还不知道什么」。结尾的缺口分析(gap analysis)才是改变你使用方式的关键。

相比常见的个人知识工具,它额外做了两件别人没打包到一起的事:一是给出真正答案的合成层(而非 10 个相关片段),二是零 LLM 调用的自连知识图谱。

二、技术原理

架构:双引擎、单一契约

GBrain 提供两套存储引擎,但对外只有一份契约:

  • PGLite:WASM 版 Postgres 17,零配置、无服务进程,默认用于个人大脑(≤ 5 万页),gbrain init --pglite 2 秒就绪。
  • Postgres + pgvector:Supabase 或自托管,用于共享 / 大规模 / 多机部署。

核心抽象是 BrainEngine 接口(src/core/engine.ts),定义了约 47 个操作,CLI 与 MCP Server 都从同一份源码生成。所谓「大脑仓库是系统记录(system of record)」:你的知识以普通 git 仓库里的 markdown 文件存在,GBrain 把仓库同步进 Postgres 用于检索,git 中的删除会映射为数据库软删。

混合检索

检索由多层融合而成:向量(pgvector 上 HNSW)+ BM25 关键词 + 倒数排名融合(RRF)+ 来源分层加权 + 意图感知 query 改写 + reranker。三种命名模式 conservative / balanced / tokenmax 把成本/质量旋钮打包成单个配置键(默认 balanced 开 ZeroEntropy reranker)。gbrain search "<query>" --explain 可逐阶段查看归因:基础分、每个触发的 boost、乘了什么。

自连知识图谱

这是 GBrain 最硬核的差异点。每次 put_page 从 markdown / wikilinks / 类型链接语法中提取实体引用,并写入带类型的边attendedworks_atinvested_infoundedadvisesmentions …),零 LLM 调用。通过 gbrain graph-query 可做多跳遍历——这是向量检索单独做不到的。

基准测试很说明问题:在 240 页 Opus 生成的富文本语料上,P@5 49.1%、R@5 97.9%,相比关闭图谱的变体、以及 ripgrep-BM25 + 纯向量的 RAG,P@5 高出 +31.4 个点。图谱负责「事实相连」,向量负责「语义相近」,混合检索两者都取。

全天候 dream cycle

cron 驱动的增量学习是让大脑「保持锋利」的部分:去重人物页、修复引用、给显著性打分、发现矛盾、准备次日任务。signal detector 在 Agent 收到的每条消息上运行,捕获想法、实体提及、时间敏感待办;auto-link 在每次写入时以纯模式匹配触发,新建实体页桩、图谱随之生长。

任务队列 Minions

一个 BullMQ 形态、Postgres 原生的任务队列。崩溃安全的双阶段持久化子 Agent(pending→done),带审计的 shell 任务,级联超时的子任务,面向外发提供商的速率租约。它把「spawn 子 Agent 当 fire-and-forget Promise」替换成了能从任何故障中恢复的机制。

MCP 与集成

GBrain 通过 MCP 暴露 30+ 工具(stdio + HTTP)。HTTP Server 内置 DCR 风格的客户端注册、scope 门控(read / write / admin)与限流,支持 Claude Code、Codex、Cursor、Claude Desktop、Perplexity、ChatGPT 等。embedding 与 reranker 可接 OpenAI / OpenRouter / Voyage / ZeroEntropy / Gemini / Azure / Ollama 等 16 种 provider。

技术栈速览

package.json 看,GBrain 是 TypeScript + Bun 运行时:依赖 pgvector@electric-sql/pgliteai(Vercel AI SDK)与 @ai-sdk/*tree-sitter-wasmschokidarexpressmarkedzod 等;要求 bun >= 1.3.10engines 锁定,MIT 协议,当前版本 0.42.74.0

三、安装与快速开始

警告:GBrain 不走 npm。npm 上那个 gbrain 是无关包,会遮蔽真实二进制。只通过 bun install -g github:garrytan/gbrain 或 git clone 安装。误装后用 npm uninstall -g gbrain / bun remove -g gbrain 卸载,再经 GitHub 重装;gbrain doctor 可检测 PATH 遮蔽。

CLI 独立安装(无需 Agent):

bun install -g github:garrytan/gbrain
gbrain init --pglite     # 2 秒本地大脑(无需 Docker)
gbrain doctor            # 验证健康
gbrain import ~/notes/   # 索引你的 markdown
gbrain query "我的笔记里反复出现哪些主题?"

给编码 Agent 加记忆(最推荐的起点),两条命令、零服务、零隧道:

gbrain init --pglite
claude mcp add gbrain -- gbrain serve    # 或:codex mcp add gbrain -- gbrain serve

完整自治安装(本地大脑 + 43 个技能 + 夜间 dream cycle)则把 https://raw.githubusercontent.com/garrytan/gbrain/master/INSTALL_FOR_AGENTS.md 粘贴给任意能读文件、执行 shell 的编码 Agent,约 30 分钟跑完。

四、使用方法与实战

会议准备是最能体现「大脑 vs 搜索引擎」差异的场景:

gbrain think "明天和 Alice 的会面前我需要了解什么?"

大多数工具返回的是页面列表(people/alice、meetings/2026-03-15-…),要你自己打开读;GBrain 返回的则是带引用的答案——Alice 在 Acme(一家 B 轮 fintech)负责工程,上次 4/22 聊定价,三个未结事项……每条结论背后都有源页面,结尾还会诚实提示「自 4/22 起大脑没新增关于 Alice/Acme 的内容,她可能通过邮件/Slack 私信回复过」,提醒你直接跟她确认。

thinkfind_trajectory 配对,能得到「公司指标怎么变 + 团队现在长啥样 + 他们承诺/分享过什么 + 我们上次何时见 + 我能提供的价值」这样的单发合成答案——这才是 10 万页大脑的复利效应。gbrain agent run "..." 则通过 Minions 队列把同一接口暴露给子 Agent,带崩溃安全的双阶段持久化。

写入数据同样是一条命令、同步回执:

gbrain capture "我想记住的一个想法"
gbrain capture --file ./notes/today.md
echo "来自管道" | gbrain capture --stdin

也支持 webhook 摄取(Zapier / IFTTT / iOS 快捷指令)与移动端 inbox 目录拾取(~/.gbrain/inbox/ 被 iOS Shortcuts / AirDrop / Drafts 丢入即摄入)。第三方 skillpack 可针对版本化的 IngestionSource 契约扩展自定义来源(Granola、Linear、语音、OCR)。

Schema packs:GBrain 不强加固定布局(不像某些工具把一切塞进 notes+people+tags)。默认 gbrain-base-v2 是 15 类 DRY/MECE 分类法;你也可以 gbrain schema detect(聚类文件系统)→ suggest(LLM 精炼)→ review-candidates --apply(人工把关)→ use my-pack 三步让大脑学会你自己的形状,切换包时大脑会重新诠释自身,切回也不丢数据。

五、常见问题与解决方案

  • macOS 26.x (Tahoe) 上 gbrain init --pglite 崩溃:PGLite 的 WASM 引擎与 Apple Silicon 的 macOS 26 不兼容 → 改用原生 Homebrew PostgreSQL + pgvector。
  • gbrain importexpected N dimensions, not M:跑 gbrain doctor 会打印精确修复命令;init 时从环境变量自动探测 embedding provider,建议先设 OPENAI_API_KEY / ZEROENTROPY_API_KEY / VOYAGE_API_KEY
  • 联邦大脑上每小时 cron 同步超时:用 per-source 循环 + timeout(1) 做 OS 级 kill,gbrain sync --break-lock --all --max-age 1800 自愈卡住的锁。
  • Dream cycle 在 Supabase 上静默丢 wiki 链接:升级到 v0.41.19.0,批量写自重试已结构性修复。
  • PGLite 大脑大同步卡死(高 CPU、无进展):同步前停掉 gbrain serve(PGLite 单写者,活动 MCP Server 会争写锁)。
  • 误装 npm 版 gbrainnpm uninstall -g gbrain / bun remove -g gbrain 后从 GitHub 重装;gbrain doctor 检测 PATH 遮蔽。
  • 非英语大脑:通过 GBRAIN_FTS_LANGUAGE(如 portuguesespanishpt_br)配置 Postgres 全文检索分词器,查询侧与写入侧都生效。

六、总结

GBrain 的野心不在于「又一个知识库工具」,而在于把 10 万页级别的个人 / 团队记忆,变成 AI Agent 真正可用的战略护城河:检索层负责「找到」,合成层负责「读懂并写出答案」,图谱层负责「事实相连」,dream cycle 负责「永不丢失上下文」。它跑在你的硬件、你的数据库、你的密钥上,30 分钟装好,剩下的交给 Agent。

如果你正打算给 Claude Code / Codex 配一层记忆,或想给 10–50 人团队搭一套按登录分域、零泄漏的机构记忆(GBrain 自称已对读脑的所有路径做模糊测试、零泄漏),这个项目值得一试。项目地址:https://github.com/garrytan/gbrain