2026-10-12 边界:此文原有身份、分工、环境与状态均为历史快照,不是现行职责或在线证明。现行资料见 全量审计与来源索引。
gbrain 保留方案
日期:2026-05-24
更新:2026-05-24 10:00,gbrain 已重建并重新接回 Hermes gateway。
2026-10-09:以下为 2026-05-24 恢复记录,不能据此认定旧路径、页面数或 MCP 配置仍有效。本机目前有独立
gbrain.service,监听 ${LOCALIP}:7842;这不等于旧gbrain serveMCP 子进程已启用。Hermes 当前按 alaya/manas/soma 分别运行服务,本文单一hermes-gateway.service重启命令需按实际 profile 重新核对。
当时处理
- gbrain 新数据:
${HOME}/.gbrain/brain.pglite,当前约 502M。 - gbrain 源码保留:
${HOME}/gbrain。 - Hermes MCP 配置保留:
${HOME}/.hermes/config.yaml。 - Hermes MCP 当前已重新启用:
mcp_servers:
gbrain:
enabled: true备份文件:
${HOME}/.hermes/config.yaml.bak.20260524_gbrain_retained_disabled${HOME}/.gbrain.backup.20260524_before_pglite_recovery${HOME}/.gbrain/brain.pglite.corrupt.20260524_0955${HOME}/.gbrain/import-checkpoint.json.bak.20260524_0955${HOME}/.gbrain/.gbrain.nested-empty.20260524_0955
为什么这样处理
Hermes gateway 重启时会加载 MCP server。gbrain 使用 PGLite,也就是嵌入式 Postgres WASM。当前 brain 体积约 605M,启动时曾出现:
Timed out waiting for PGLite lockPGLite failed to initialize its WASM runtimeMCP server 'gbrain' initial connection failed
所以 gbrain 不能继续作为 Hermes gateway 的必启依赖,否则会拖慢甚至卡死 gateway。
后续诊断确认根因不是单纯 WASM 内存,而是 PGLite/Postgres 控制文件指向缺失 WAL:
PANIC: could not locate a valid checkpoint record at 0/17A3CA0
could not open file "pg_wal/000000010000000000000001": No such file or directory误配置产生的嵌套空库里虽有 000000010000000000000001,但 database system identifier 不匹配,不能用于修复主库。
最终处理是保留坏库,重建新 PGLite,并用 gbrain import ${DATA_ROOT}/ku/yunlu/ --no-embed --fresh --json 忽略旧 checkpoint 重新导入。
结果:
- 导入文件:1383 成功,6 跳过。
- chunks:16228。
- pages:1373。
- Hermes gateway 已重新启动,
gbrain serve作为子进程运行。 - 新日志无
PGLite failed、WASM、invalid checkpoint、MCP server gbrain failed。
超大 Markdown 切片
更新:2026-05-24 10:11,6 个超大/tsvector 超限文件已切片并重新导入。
处理方式:
- 原路径保留为小索引页,例如
04 - 哲学/黑格尔.md,这样 Obsidian 内的原有[[黑格尔]]链接不会直接断掉。 - 正文切到同目录的
__gbrain_slices文件夹。 - 原完整文件在原位置保留为
.md.gbrain-original,gbrain 不会把它当 Markdown 扫描。 - 原完整文件另备份到
${HOME}/gbrain-slice-backups/20260524_oversize_markdown。
切片结果:
02 - 佛学/大宝积经.md→ 6 片。03 - 精神分析,心理/少有人走的路.md→ 5 片。03 - 精神分析,心理/《红书》.md→ 2 片。04 - 哲学/黑格尔.md→ 18 片。04 - 哲学/《人性论》.md→ 2 片。08 - 思想碎片/潜规则:中国历史中的真实游戏(修订版).md→ 3 片。
导入结果:
- 新增切片/索引页:42。
- gbrain 当前 pages:1415。
- gbrain 当前 chunks:35750。
gbrain import ${DATA_ROOT}/ku/yunlu/ --no-embed --json已成功,errors=0。- Hermes gateway 已重新启用 gbrain MCP,
gbrain serve作为子进程运行。
切片脚本保留在:
${HOME}/gbrain-recovery-test/slice_oversize_markdown.mjs
如何恢复自动加载
如果以后改动 MCP 配置后需要重载,执行:
systemctl --user restart hermes-gateway.service后续更稳的方向
- 短期备选:如果再次出现 MCP 启动阻塞,可关闭自动 MCP;这是回退建议,不是上文“已重新启用”之后已执行的状态。
- 中期:把 gbrain 改成按需独立服务,不参与 Hermes gateway 启动链路。
- 长期:将 gbrain 从 PGLite 迁移到 Postgres/Supabase 或自托管 Postgres。gbrain 文档说明 PGLite 更适合小规模本地库,Postgres/Supabase 更适合 10K+ 页面和多设备/大规模使用。
- 兜底:Hermes 需要查 Obsidian 时,先用直接文件搜索方式读取
${DATA_ROOT}/ku/yunlu,避免依赖大体积 WASM 数据库。