1. 为什么 Claude Code 每次新会话都像失忆用 Claude Code 写一个超过几千行的项目你大概率经历过这种场景昨天刚跟它交代清楚「本地开发跳过 OAuth 校验」「PostgreSQL 端口映射改成了 7432」「别用 npm run start 跑测试」今天新开一个会话它又一脸无辜地按默认逻辑给你生成代码你还得把昨天的约束重新贴一遍。这不是模型变笨了而是大模型的上下文窗口本质上只是一块「临时内存」。会话一结束缓存清空冷启动的代价全由开发者人肉偿还。CLAUDE.md 能解决一部分问题但它只能写静态规则写不了「昨天排查到哪一步」「上周那个 bug 最后是怎么绕过去的」这类动态脉络。claude-mem 这个开源项目就是冲着这个痛点来的。它是一套面向 Claude Code 及主流终端 AI 编程助手的持久记忆压缩与召回系统通过 hooks 钩子自动记录会话中的高价值交互落盘到本地 SQLite 加向量库下一轮会话再按需召回。它解决的是「跨会话记忆丢失」适合所有把 Claude Code 当主力编程助手、又不想每次重复对齐背景的开发者。这篇文章我会带你做三件事把 claude-mem 装起来、把它的模型通道接到 TaoToken 统一 Key 上、然后用可复制的动作验证记忆真的持久化了。全程本地跑配置骨架可以直接抄。2. 前置准备TaoToken 统一 Key 与 claude-mem 安装claude-mem 在提取「观察记录」时需要调用大模型做结构化压缩这一步是要消耗 Token 的。如果你同时用 Claude Code、Gemini CLI 好几个工具每个都单独配 Key、单独充值、单独看账单管理成本很高。我习惯用 TaoToken 做统一通道一个 Key 覆盖多个模型账单也集中。先拿到 Key。打开控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 登录后在 API Keys 页面创建一个新 Key复制出来先存好。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面写了 base_url 和兼容格式配置时对着看。环境要求很简单Node.js ≥ 18npm 可用。先确认版本node -v npm -v两个都正常输出后安装 claude-mem。官方推荐的一键初始化会自动配置 Worker 进程和 Event Hooksnpx claude-mem install如果你已经在 Claude Code 里面也可以用插件指令装/plugin marketplace add thedotmack/claude-mem /plugin install claude-mem装完之后先别急着开新会话下一步要把模型通道指到 TaoToken否则 claude-mem 的 Worker 会去走默认通道容易在提取阶段报鉴权错误。3. 可复制配置settings.json 接入 TaoToken 通道claude-mem 的模型调用配置最终会落到 Claude Code 的 settings.json 上。这个文件的位置按系统区分macOS 和 Linux 在~/.claude/settings.jsonWindows 在%USERPROFILE%\.claude\settings.json。如果目录不存在就手动建一个。下面是我实测可用的配置骨架把sk-开头那串换成你刚才在控制台创建的 Key{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-5, ANTHROPIC_SMALL_FAST_MODEL: claude-haiku-4-5 }, hooks: { SessionStart: [ { matcher: *, hooks: [ { type: command, command: npx claude-mem hook session-start } ] } ], PostToolUse: [ { matcher: *, hooks: [ { type: command, command: npx claude-mem hook post-tool-use } ] } ] } }几个参数说明一下避免你抄错字段作用注意点ANTHROPIC_BASE_URL模型请求入口用https://taotoken.net/api不要带路径后缀ANTHROPIC_AUTH_TOKEN鉴权令牌填 TaoToken 控制台创建的 KeyANTHROPIC_MODEL主模型记忆提取和代码生成共用ANTHROPIC_SMALL_FAST_MODEL轻量模型claude-mem 做摘要压缩时优先用它省 Tokenhooks.SessionStart会话启动钩子负责在新会话注入历史记忆hooks.PostToolUse工具调用后钩子负责把本轮交互写入记忆库注意ANTHROPIC_SMALL_FAST_MODEL这一项别省。claude-mem 每次工具调用后都要做一次轻量摘要如果全走主模型Token 消耗会明显上去。用 haiku 这类小模型做压缩成本能压下来一大截。配置保存后重启终端或 IDE让 hooks 重新加载。第一次启动时 claude-mem 会在本地初始化 SQLite 和向量库日志里能看到 Worker 起来的记录。4. 验证请求确认记忆真的持久化了配置对不对不能靠感觉得用可复制的动作验证。我分两步走先验证模型通道通不通再验证记忆跨会话能不能召回。第一步验证 TaoToken 通道。在终端直接发一个最小请求curl https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: sk-你的TaoToken密钥 \ -H anthropic-version: 2023-06-01 \ -d { model: claude-haiku-4-5, max_tokens: 64, messages: [{role: user, content: 回复两个字通了}] }返回里能看到content字段有正常文本说明 Key 和 base_url 都没问题。如果这里就报 401先回去检查 Key 有没有复制全、有没有多余空格。第二步验证记忆持久化。开一个 Claude Code 会话故意交代一条项目约束比如记住这个项目本地开发环境跳过 OAuth 校验PostgreSQL 端口用 7432。然后正常让它做点事触发 PostToolUse 钩子。结束后完全退出会话再新开一个会话问它这个项目本地开发环境的数据库端口是多少如果 claude-mem 工作正常新会话里它能答出 7432而不是反问你「哪个项目」。这一步就是跨会话记忆召回的核心验证。第三步看本地记忆面板。claude-mem 启动后会在本地开一个 Web 查看器默认地址http://localhost:37777。打开后能看到时间线卡片流每条「观察记录」都列在里面可以逐条审视、修改或删除。如果你在面板里看到了刚才那条端口约束说明落盘成功。提示面板只监听本机 localhost数据不出本地。SQLite 和向量库都在你机器上企业项目也能放心用。5. 本篇常见错排查配置过程中最容易踩的坑我列一下对着排。报 401 鉴权失败九成是 Key 复制时带了换行或空格。重新从控制台复制一次粘贴后手动检查首尾。另外确认ANTHROPIC_AUTH_TOKEN和x-api-key用的是同一个 Key。hooks 不触发记忆不写入先确认 settings.json 的 JSON 格式合法多一个逗号都会让整个文件失效。可以用cat ~/.claude/settings.json | python -m json.tool校验。再确认npx claude-mem能在终端直接跑起来如果报模块找不到说明安装没完成重跑一次npx claude-mem install。新会话召不回记忆检查 SessionStart 钩子有没有配上。有些终端环境需要完全退出进程再重开只关标签页不算。另外确认你问的问题和之前记录的内容语义相关claude-mem 走的是向量检索问得太偏可能命中不到。Token 消耗比预期高把ANTHROPIC_SMALL_FAST_MODEL配上别让它空着。claude-mem 的摘要压缩走小模型主模型只负责真正的代码任务这样分工才省。端口 37777 被占用面板起不来时换个端口或者先lsof -i:37777看看是谁占着。这个面板只是查看用不影响记忆写入本身。6. 把记忆通道固定下来claude-mem 的价值不在于它记了多少而在于它按需召回、不硬塞上下文。三层渐进式检索——先 search 拿 ID、再 timeline 补时序、最后 get_observations 拉全文——这套节奏决定了它不会把几万字历史一股脑灌进窗口Token 效率才守得住。配置层面把模型通道统一到 TaoToken 之后你换模型、看用量、管账单都在一个地方不用每个工具单独折腾。Key 在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 创建接入细节对着 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 配遇到鉴权或钩子问题先回第 5 节排查。如果你打算把 Claude Code 长期当主力配合 Coding Plan 做编码和 Agent 任务会更顺通道和记忆都固定下来之后每次开新会话就不用再从头对齐背景了。