<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Claude-Code on BenLab的技术笔记</title>
        <link>http://benlab.cn/tags/claude-code/</link>
        <description>Recent content in Claude-Code on BenLab的技术笔记</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Fri, 08 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://benlab.cn/tags/claude-code/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>claude-mem 源码分析：跨会话持久记忆系统总览</title>
            <link>http://benlab.cn/posts/claude-mem/00-overview/</link>
            <pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
            <guid>http://benlab.cn/posts/claude-mem/00-overview/</guid>
            <description>&lt;h2 id=&#34;claude-mem--跨会话持久记忆系统&#34;&gt;&lt;a href=&#34;#claude-mem--%e8%b7%a8%e4%bc%9a%e8%af%9d%e6%8c%81%e4%b9%85%e8%ae%b0%e5%bf%86%e7%b3%bb%e7%bb%9f&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;claude-mem — 跨会话持久记忆系统&#xA;&lt;/h2&gt;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;为 Claude Code 打造的持久记忆压缩系统，自动捕获工具调用观察、用 AI 生成语义摘要，并在未来会话中注入相关上下文。&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;项目概览&#34;&gt;&lt;a href=&#34;#%e9%a1%b9%e7%9b%ae%e6%a6%82%e8%a7%88&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;项目概览&#xA;&lt;/h2&gt;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;属性&lt;/th&gt;&#xA;          &lt;th&gt;值&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;仓库&lt;/td&gt;&#xA;          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/thedotmack/claude-mem&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://github.com/thedotmack/claude-mem&lt;/a&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;最新版本&lt;/td&gt;&#xA;          &lt;td&gt;v12.7.5&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;技术栈&lt;/td&gt;&#xA;          &lt;td&gt;TypeScript / Express / React / SQLite FTS5 / Bun / ChromaDB&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;代码规模&lt;/td&gt;&#xA;          &lt;td&gt;83,716 行 / 417 个文件&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;安装方式&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;npx claude-mem install&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;数据目录&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;~/.claude-mem/&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Worker 端口&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;37700 + (uid % 100)&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;支持平台&lt;/td&gt;&#xA;          &lt;td&gt;Claude Code / Gemini CLI / OpenCode / Cursor / OpenClaw&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;子文档目录&#34;&gt;&lt;a href=&#34;#%e5%ad%90%e6%96%87%e6%a1%a3%e7%9b%ae%e5%bd%95&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;子文档目录&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/01-hooks/&#34; &gt;01-Hooks 生命周期&lt;/a&gt; — 6 个生命周期钩子的触发时机与数据流向&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/02-worker/&#34; &gt;02-Worker 服务与 AI 处理&lt;/a&gt; — WorkerService 核心协调器、多 AI 提供商抽象&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/03-search/&#34; &gt;03-搜索架构&lt;/a&gt; — SQLite FTS5 + Chroma 混合检索&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/04-install/&#34; &gt;04-安装与多平台集成&lt;/a&gt; — 安装流程与多 IDE 集成&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/05-design/&#34; &gt;05-进阶设计亮点&lt;/a&gt; — 五个值得反复研读的架构决策&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/06-memory-in-action/&#34; &gt;06-记忆如何在对话中体现&lt;/a&gt; — 自动注入与主动搜索两条路径&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://benlab.cn/posts/claude-mem/07-thoughts/&#34; &gt;07-思考与展望&lt;/a&gt; — 设计哲学与可迁移模式&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;我的核心收获&#34;&gt;&lt;a href=&#34;#%e6%88%91%e7%9a%84%e6%a0%b8%e5%bf%83%e6%94%b6%e8%8e%b7&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;我的核心收获&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Hook 是零侵入的信息高速公路&lt;/strong&gt;：claude-mem 没有修改 Claude Code 任何代码，纯粹通过标准 lifecycle hook + stdout JSON injection 实现了完整的记忆注入。&lt;code&gt;{&amp;quot;hookSpecificOutput&amp;quot;: {&amp;quot;additionalContext&amp;quot;: &amp;quot;...&amp;quot;}}&lt;/code&gt; 这个协议极其优雅——一个 JSON 字段就能向 Claude 的上下文追加任意内容。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&amp;ldquo;边缘处理&amp;quot;是隐私保护的正确姿势&lt;/strong&gt;：&lt;code&gt;&amp;lt;private&amp;gt;&lt;/code&gt; 标签在 hook 层（最靠近用户输入的地方）就被剥离，不进入任何异步队列。同时 Worker 层还有第二道防线。这是 defense-in-depth + fail-safe 原则的教科书式实践。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;3 层搜索工作流是 token 工程的精华&lt;/strong&gt;：search 返回摘要索引（~75 tokens/条），timeline 展开上下文，get_observations 才拉全文。通过 &lt;code&gt;__IMPORTANT&lt;/code&gt; 元工具把工作流强制写入 LLM 系统提示，从架构层面约束消费端行为。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Corpus 知识库用 AI 会话 ID 作为编译缓存&lt;/strong&gt;：prime 一次知识库就拿到 &lt;code&gt;session_id&lt;/code&gt;，后续 query 用 &lt;code&gt;resume&lt;/code&gt; 复用，避免每次重传几十 KB 文档。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;uid % 100&lt;/code&gt; 端口分配是小决策里的大智慧&lt;/strong&gt;：随机端口每次变化需要持久化；固定端口多用户冲突。uid 模运算同时满足&amp;quot;稳定&amp;quot;和&amp;quot;多用户隔离&amp;rdquo;。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;</description>
        </item></channel>
</rss>
