Skip to Content

附录 AEnglish

claude-mem 源码导航图

基于 v13.35.0,按功能模块组织的文件路径速查。表中路径均已在该版本的源码树中核对存在;右列标出主要讲解它的章节。

入口与配置

文件功能章节
plugin/hooks/hooks.jsonClaude Code 的 Hook 注册(8 个事件)5
plugin/hooks/codex-hooks.jsonCodex CLI 的 Hook 注册18
plugin/.mcp.jsonMCP Server 注册9
plugin/.claude-plugin/plugin.json插件元数据12
src/shared/SettingsDefaultsManager.ts全部 CLAUDE_MEM_* 配置项与默认值2
src/shared/paths.ts数据目录、数据库等路径2
transcript-watch.example.jsonCodex / DSH 的 transcript schema 示例18
docker-compose.ymlServer 运行时部署栈16
docs/ip-boundary.md开源与商业版保留区域的边界17

Hook 命令层

文件功能章节
src/cli/hook-command.tsHook 统一入口:缓冲 stderr、永远以 0 退出4、5
src/shared/hook-io.tsHook 的 stdout / stderr / 退出码纪律5
src/shared/hook-constants.ts超时与退出码常量5
src/cli/types.tsNormalizedHookInput 统一结构18
src/cli/adapters/7 个平台适配器(claude-code、codex、cursor、kimi、windsurf、antigravity-cli、raw)18
src/cli/handlers/index.ts9 个 Handler 注册表4
src/cli/handlers/context.tsSessionStart:读 context-cache 注入5、8
src/cli/handlers/session-init.tsUserPromptSubmit:登记本轮 prompt5
src/cli/handlers/observation.tsPostToolUse:写 spool 后立即返回5
src/cli/handlers/file-context.tsPreToolUse:文件上下文与 File Read Gate5、8
src/cli/handlers/memory-search.ts宿主原生记忆检索时补充 claude-mem 结果20
src/cli/handlers/summarize.ts、session-end.tsStop / SessionEnd 收尾5

交接层

文件功能章节
src/shared/hook-spool.tsHook 侧:一个事件一个文件,原子写入4、6
src/services/worker/hook-spool-drain.tsWorker 侧取件,hook_spool_consumed 恰好一次交接6
src/shared/context-cache.ts预渲染的开场上下文缓存4、8

Worker

文件功能章节
src/services/worker-service.tsWorker 主入口与 CLI 分发6
src/services/worker-shutdown.tsrunShutdownSequence:硬期限与继任进程6
src/services/infrastructure/GracefulShutdown.ts六步优雅关闭6
src/services/infrastructure/ProcessManager.ts进程启停6
src/shared/worker-spawn-gate.tsspawn.lock 防重复拉起6
src/services/server/init-phase.ts/api/ready 的启动阶段6
src/services/worker/http/middleware.tsHost 检查(DNS rebinding)、跨域、删除来源限制6、17
src/services/worker/http/shared.ts隐私标签剥离、项目排除等入口检查10、17
src/services/worker/SessionManager.ts会话生命周期6
src/services/worker/SessionMessageBuffer.ts内存缓冲(取代 v12 的持久队列)6
src/services/worker/agents/ResponseProcessor.ts观察者输出的处理与入库10
src/shared/observer-recycle.ts观察者会话的分代回收6

观察者

文件功能章节
src/sdk/prompts.ts观察者提示词(缓存友好的前缀)10
src/sdk/hardened-options.ts观察者的六层收紧10、17
src/sdk/parser.ts观察 XML 解析与容错10
src/utils/tag-stripping.ts<private> 等标签剥离10
src/utils/redaction.ts自动脱敏(11 条内置规则)17

存储与检索

文件功能章节
src/services/sqlite/SessionStore.ts建表、迁移、写入、去重与强化7
src/services/sqlite/SessionSearch.tsFTS5 检索7
src/services/sqlite/tool-uses.tstool_uses 原始证据表8、10
src/services/worker/DatabaseManager.ts数据库与 Chroma 集合管理7
src/services/worker/SearchManager.ts检索入口7、9
src/services/worker/search/SearchOrchestrator.tsChroma 优先、SQLite 补齐的路由7
src/services/sync/ChromaSync.ts向量同步7
src/services/reinforcement/ACT-R 强化历史与排序7、10、20

上下文与 MCP

文件功能章节
src/services/context/ContextBuilder.ts开场上下文组装8
src/services/context/ContextBudget.ts10,000 字符预算与裁剪顺序8
src/servers/mcp-server.tsMCP Server(24 个工具)9
src/servers/mcp-tool-visibility.ts按运行时隐藏工具9
src/services/worker/knowledge/Knowledge Agent:Corpus 构建、prime、query11

Server 运行时

文件功能章节
src/storage/postgres/schema.tsPostgres 表结构与复合外键16
src/server/routes/v1/ServerV1PostgresRoutes.ts/v1/* 路由、重试与取消、删除16、17
src/server/services/IngestEventsService.ts事务发件箱16
src/server/jobs/job-id.ts、ServerJobQueue.ts确定性任务 ID、BullMQ 参数16
src/server/generation/ProviderObservationGenerator.ts生成 worker:lockOutbox、租户复核16
src/server/middleware/postgres-auth.ts、rate-limit.tsAPI Key 鉴权、限流与配额16、17
src/services/hooks/runtime-selector.ts、server-client.tsHook 选择运行时与回落规则16

多宿主与同步

文件功能章节
src/services/transcripts/声明式 transcript watcher18
src/integrations/opencode-plugin/、pi-extension/、dsh-plugin/原生插件18
openclaw/src/index.tsOpenClaw 插件18
src/services/sync/CloudSync.ts云同步推送19
src/services/sync/SyncApply.ts、SyncClient.ts云同步拉取与应用19
src/services/sync/CanonicalContent.ts规范化 JSON 与稳定文档 ID19
workers/sync-hub/src/do/SyncHub.tshub:每个用户一条有序日志19
src/services/telemetry/scrub.ts遥测属性白名单17

Skills

plugin/skills/ 下共 22 个技能。与记忆直接相关的有 mem-search、knowledge-agent、learn-codebase、smart-explore、timeline-report、weekly-digests、cloud-sync、mode-creator;make-plan、do、handoff、standup 等是建立在记忆之上的工作流技能。第 2 章按用途分组介绍。

快速阅读路径

写入路径:

hooks.json → hook-command.ts → handlers/observation.ts → shared/hook-spool.ts → worker/hook-spool-drain.ts → SessionMessageBuffer.ts → sdk/prompts.ts → agents/ResponseProcessor.ts → sqlite/SessionStore.ts

读取路径:

handlers/context.ts → shared/context-cache.ts → context/ContextBuilder.ts → ContextBudget.ts servers/mcp-server.ts(mem_search)→ worker/SearchManager.ts → search/SearchOrchestrator.ts

本书开源发布于 inferloop.dev,转载请注明出处。


本附录来自《Agent Memory 工程实战》开源版 · 作者「递归客」
在线阅读完整书系:inferloop.dev
源码仓库:github.com/diguike/book-claude-mem