Claude-Mem 是什么:编程 Agent 如何跨会话记忆
Claude-Mem 源码入口:清单、Hook 与 API 语义
用固定版本配置和接口契约定位实际执行路径
Claude-Mem 源码入口:清单、Hook 与 API 语义知识学习CN编辑简报更新 2026-10-08
你将学会
- 从包和插件入手
- 顺着本地 Hook 阅读
- 阅读 worker、上下文生成器和服务端契约
开始前需要
- 合成的双会话项目
- 一种受支持宿主
- 明确选择的记忆供应商
用合成的两次会话,再做排除和删除检查
先看结论
- Hook 是可执行配置。
- 部分故障会让宿主继续工作。
- HTTP 响应后生成工作仍可能继续。
从包和插件入手
`package.json` 声明 CLI 入口、引擎版本和构建脚本。插件清单标识 Claude Code 包,`plugin/hooks/hooks.json` 列出事件匹配条件、命令及超时。
包构建成功不能证明所有宿主的 Hook 都能加载。讨论其他客户端之前,应追踪所选适配器及其生成文件。
顺着本地 Hook 阅读
Hook 配置中的 Shell 命令会查找缓存插件脚本,再调用 Bun runner。有些路径会在 worker 不可用时让宿主继续运行。
这是配置可直接看到的源码行为。我们没有运行命令、验证每个回退分支或审计这些命令最终调用的全部脚本。
阅读 worker、上下文生成器和服务端契约
`worker-service.ts` 分阶段初始化数据库、Chroma 与搜索路由。`ContextBuilder.ts` 选取时间线及完整观察 ID,并按长度预算裁剪输出。`docs/api.md` 将旧 `/api` 路由和 beta `/v1` 接口分开说明。
统计结果按实际选中的记录计算;HTTP 返回后服务端生成任务仍可能异步继续。首个密钥的配置流程需要另做安全审查。我们没有执行错误分支,也不能据此认证时序、权限与数据保留行为。
如何选择
| 比较维度 | 方案 A | 方案 B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
实施步骤
- 1
查看包引擎和 CLI 入口。
- 2
把一个 Hook 对应到脚本与超时。
- 3
区分本地 worker 与 beta 服务端接口。
可复制示例
text
package bin -> installer
plugin.json -> hooks.json -> worker-service
ContextBuilder -> selected timeline -> bounded context常见问题
Claude Code 的 Hook 在哪里配置?
固定版本 `plugin/hooks/hooks.json` 列出相关事件处理器。
API 返回就表示摘要完成了吗?
服务端文档说明生成工作可能交给独立 worker 队列。
资料来源
- Claude-Mem / package.json来源核查 2026-10-08
- Claude-Mem / plugin/.claude-plugin/plugin.json来源核查 2026-10-08
- Claude-Mem / plugin/hooks/hooks.json来源核查 2026-10-08
- Claude-Mem / docs/architecture-overview.md来源核查 2026-10-08
- Claude-Mem / docs/api.md来源核查 2026-10-08
- Claude-Mem / src/services/worker-service.ts来源核查 2026-10-08
- Claude-Mem / src/services/context/ContextBuilder.ts来源核查 2026-10-08