AI Agent 共享知识库实战:让 Hermes、Claude Code、Codex 共用一份记忆
三个 AI 编程助手,一份公共记事本——告别"每次都要重新解释项目配置"的痛苦。
一、痛点:三个 Agent,三份失忆
如果你同时使用多个 AI 编程助手,大概率遇到过这种场景:
你:“帮我修一下 UATU 项目的登录 bug”
Claude Code:“好的,API 地址是什么?”
你:“http://xxx/api”
Claude Code 修完了。
第二天,你换 Codex:
你:“继续优化 UATU 的列表页”
Codex:“API 地址是什么?”
你:“……我刚告诉过 Claude Code 啊!”
Codex:“我不知道 Claude Code 说了什么。”
每个 Agent 各自维护记忆,信息完全隔离。你在 Hermes 这里记住的东西,Claude Code 不知道;Claude Code 学到的坑,Codex 也看不到。 这不是 Agent 的错——它们天生就是独立的进程,没有共享内存。
本文介绍一套轻量方案:SQLite 共享知识库,让 Hermes、Claude Code、Codex 三个 Agent 读写同一份数据库,实现"一次写入,三端共享"。
二、三个 Agent 分别是什么?
| Agent | 开发商 | 底层模型 | 定位 | 交互方式 |
|---|---|---|---|---|
| Hermes | Nous Research | DeepSeek / 可配 | 全能助手(技术+生活+财务) | 微信 / 终端对话 |
| Claude Code | Anthropic | Claude 系列 | 纯代码 Agent(重构、PR 审查) | CLI:claude -p "任务" |
| Codex | OpenAI | GPT 系列 | 纯代码 Agent(功能开发、批量修 bug) | CLI:codex exec "任务" |
核心区别:Hermes 是你的"日常全能管家",Claude Code 和 Codex 是你派出去干代码重活的"外包工人"。它们各有所长,但本质上互不相识。
三、共享知识库架构
┌──────────────────────────┐
│ knowledge.db │
│ SQLite + FTS5 全文索引 │
│ D:/tools/shared-knowledge/│
└──────────┬───────────────┘
│
┌───────────────┼───────────────┐
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ Hermes │ │ Claude Code │ │ Codex │
│ 直接调用API │ │ CLI 调 kb.py│ │ CLI 调 kb.py│
└─────────────┘ └─────────────┘ └─────────────┘
技术选型
| 维度 | 选择 | 理由 |
|---|---|---|
| 存储引擎 | SQLite + FTS5 | 零依赖、单文件、跨平台 |
| API 设计 | 兼容 Cognee | 后续可无缝升级为知识图谱 |
| 去重策略 | MD5 内容哈希 | 避免重复写入 |
| 中文搜索 | LIKE 回退 | FTS5 不支持中文分词,小数据量够用 |
核心 API
| 操作 | CLI 命令 | 说明 |
|---|---|---|
| 存储 | py kb.py remember "内容" |
自动 MD5 去重 |
| 搜索 | py kb.py recall "关键词" |
中英文 LIKE 模糊搜索 |
| 列表 | py kb.py list |
列出全部知识 |
| 删除 | py kb.py forget <id> |
按 ID 或关键词删除 |
| 统计 | py kb.py stats |
查看知识总量 |
四、有 vs 没有:直观对比
没有共享知识库
场景:你在 Hermes 配置好了 GitHub Token 路径
Hermes: ✅ 知道 Token 在 D:/.hermes/.env
Claude Code:❌ 不知道,每次要重新告诉它
Codex: ❌ 不知道,每次要重新告诉它
场景:Claude Code 发现 antd6 的 Table 组件 rowKey 必传
Claude Code:✅ 知道了,但只存在它自己的会话里
Hermes: ❌ 不知道这个坑,下次你可能踩
Codex: ❌ 不知道这个坑,下次你可能踩
有共享知识库
场景:你在 Hermes 说"记住:GitHub Token 在 D:/.hermes/.env"
Hermes: 存入 knowledge.db(1 条写入)
Claude Code:py kb.py recall "GitHub" → 直接拿到路径 ✅
Codex: py kb.py recall "Token" → 直接拿到路径 ✅
场景:Claude Code 修 bug 发现 antd6 Table 的坑
Claude Code:py kb.py remember "antd6 Table rowKey 必传,否则控制台报错"
Hermes: 下次你问 antd 问题,我自动查知识库提醒你 ✅
Codex: 接到 UATU 任务时查知识库,不会重蹈覆辙 ✅
一句话:信息一次写入,三个 Agent 同时受益。
五、各端调用方法
5.1 Hermes 端(最简单)
直接跟我说就行,我自动操作底层 API:
"记住:Vue3 项目用了 Pinia 不是 Vuex"
"查一下知识库:API 地址"
"知识库里有什么"
"忘了第 3 条"
内部我会调用 Python API:
import sys
sys.path.insert(0, "D:/tools/shared-knowledge")
import engine
engine.remember("内容") # 存储
engine.recall("关键词") # 搜索
engine.list_all() # 列出全部
engine.forget(fact_id="x") # 删除
5.2 Claude Code 端
在 Claude Code 对话中直接执行命令:
# 存储知识
py D:/tools/shared-knowledge/kb.py remember "UATU 项目 API 地址: http://xxx/api"
# 搜索知识
py D:/tools/shared-knowledge/kb.py recall "UATU"
# 查看全部
py D:/tools/shared-knowledge/kb.py list
# 查看统计
py D:/tools/shared-knowledge/kb.py stats
首次使用需要配置权限,在项目 .claude/settings.local.json 或全局 ~/.claude/settings.json 中添加:
{
"permissions": {
"allow": [
"Bash(py D:/tools/shared-knowledge/kb.py *)"
]
}
}
⚠️ 必须用
py启动器而非python——Windows 上python可能指向 Store 占位符导致 exit 49。
5.3 Codex 端
用法和 Claude Code 完全一致:
py D:/tools/shared-knowledge/kb.py remember "项目用了 Python 3.11,不能用 3.12 的语法"
py D:/tools/shared-knowledge/kb.py recall "Python 版本"
六、实战工作流演示
假设你要修 UATU 项目的一个 bug,涉及 API 地址变更:
步骤 1:在 Hermes(微信/终端)告知配置变更
─────────────────────────────────────────────
你:"UATU 的 API 地址从 http://old/api 改成 http://new/api 了,记住"
我:"已存入知识库 ✅"
步骤 2:派 Claude Code 修 bug
─────────────────────────────────────────────
你:claude -p "修复 UATU 登录页面的 401 错误"
Claude Code 内部执行:
> py kb.py recall "UATU API"
> 返回:http://new/api
> 直接用新地址,不需要你重复解释
修完后发现一个坑:
> py kb.py remember "UATU 登录接口返回 401 时,要同时清除 localStorage 的 token"
> (存入共享知识库)
步骤 3:第二天派 Codex 优化列表页
─────────────────────────────────────────────
你:codex exec "优化 UATU 列表页性能"
Codex 内部执行:
> py kb.py recall "UATU"
> 返回:API 地址 = http://new/api、token 清除逻辑、antd6 注意事项
> 一次性拿到所有上下文,直接开工
三个 Agent 像接力一样传递知识,你只需要说一次。
七、部署步骤
7.1 环境要求
- Windows 10/11
- Python 3.x(用
py启动器) - 零额外依赖(纯标准库)
7.2 文件结构
D:/tools/shared-knowledge/
├── knowledge.db ← SQLite 数据库(单文件,备份即复制这个)
├── engine.py ← Python 知识引擎
├── kb.py ← CLI 接口
└── raw/ ← 原始文档存放(可选)
7.3 初始化
# 创建目录
mkdir -p D:/tools/shared-knowledge/raw
# 验证
py D:/tools/shared-knowledge/kb.py stats
# 输出:{"total_facts": 0, "db_path": "D:\\tools\\shared-knowledge\\knowledge.db"}
7.4 验证清单
py kb.py stats正常返回- Hermes 端存入一条,Claude Code 端能查到
- Claude Code 端存入一条,Hermes 端能查到
- 中文关键词搜索正常(LIKE 回退模式)
八、进阶:升级到 Cognee 知识图谱
当前方案是轻量版,后续网络条件允许时可以升级为完整版 Cognee:
pip install cognee
API 名完全一致(remember / recall / forget),零代码迁移。Cognee 额外提供:
- 知识图谱可视化
- 向量语义搜索(真正的"意思相近"匹配)
- 多格式文档导入(PDF、Markdown、代码文件)
- 关系推理(“A 依赖 B,B 依赖 C → A 依赖 C”)
九、总结
| 要点 | 说明 |
|---|---|
| 是什么 | SQLite 单文件数据库,三个 Agent 共用 |
| 解决什么 | 多个 AI Agent 之间的信息孤岛问题 |
| 怎么用 | Hermes 直接说,Claude Code/Codex 调 py kb.py |
| 核心价值 | 一次写入,三端共享;不再重复解释项目配置 |
| 升级路径 | API 兼容 Cognee,可无缝迁移到知识图谱 |
回到最初的那个场景——你再也不用对每个 Agent 重复"API 地址是 xxx"。告诉 Hermes 一次,Claude Code 和 Codex 自动就知道了。
更多推荐



所有评论(0)