尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

claude-mem 配 TaoToken:关掉终端再打开,AI 还记得上次聊到哪

发布时间:2026/9/28 19:11:31

资讯中心
01
ARTICLE

claude-mem 配 TaoToken:关掉终端再打开,AI 还记得上次聊到哪

claude-mem 配 TaoToken:关掉终端再打开,AI 还记得上次聊到哪
1. 关掉终端就失忆这事到底卡在哪如果你用 Claude Code 写过稍微长一点的项目大概率遇到过这种场面昨天跟它聊了两个小时从目录结构到接口命名都定好了今天新开一个终端窗口它像第一次见到这个仓库一样重新 ls、重新读文件、重新问你「这个项目是做什么的」。你只能把昨天的结论再复述一遍聊到一半的 TODO 也得重新交代。这不是模型变笨了是会话上下文本身不跨进程。Claude Code 每次启动都是一个新 session历史对话留在上一个进程里进程一退上下文就没了。项目文件还在磁盘上但「我们上次决定用方案 B」「这个 TODO 先别动」这类决策信息没有任何地方存。claude-mem 要解决的就是这一段把会话里值得留下的信息提炼出来落到本地 SQLite下次启动时再检索回来注入上下文。它不是一个新模型也不是云端服务本质是「会话结束写库、会话开始读库」的一层记忆中间件。适合谁适合那种一个项目要跨好几天、多个 session 推进的开发者。如果你只是跑一次性脚本它反而多余。这篇不聊概念直接给你能跑的东西claude-mem 的 config.toml 骨架、SQLite 存储路径怎么配、以及关掉终端再打开验证记忆恢复的完整步骤。中间会用到 TaoToken 作为模型接入层因为 claude-mem 提炼摘要、生成记忆这些动作都要调模型走一个稳定的 API 入口会省掉很多环境折腾。2. 前置TaoToken 接入与 claude-mem 安装先说清楚分工。claude-mem 负责「记忆的存取逻辑」它自己不提供模型能力真正做摘要提炼、检索相关性判断的还是背后的 Claude 模型。所以你需要一个能稳定调用 Claude 的入口这里用 TaoToken。TaoToken 的定位是模型 API 接入层官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。你需要先去控制台拿一个 API Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 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 遇到参数不确定就翻这里。拿到 Key 之后先把它写进环境变量别硬编码进配置文件export TAOTOKEN_API_KEYsk-你的key export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEY$TAOTOKEN_API_KEYClaude Code 和 claude-mem 都认ANTHROPIC_BASE_URL这个变量指向 TaoToken 的 API 端点后模型请求就走这里出去。如果你用的是 Claude Code 的 coding 场景也可以直接参考 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 里的配置方式思路一致。接着装 claude-mem。它是 Claude Code 的插件在 Claude Code 里执行/plugin install claude-memclaude-plugins-official装完确认一下插件目录里有没有生成默认配置。不同版本路径略有差异一般在~/.claude/plugins/claude-mem/下。如果没看到 config.toml下一步我们手动建。3. 可复制配置config.toml 骨架与 SQLite 路径claude-mem 的核心配置就一个文件我把它拆成三段看模型接入、存储、检索行为。先建目录和配置文件mkdir -p ~/.claude/plugins/claude-mem mkdir -p ~/.local/share/claude-mem touch ~/.claude/plugins/claude-mem/config.toml然后写入下面这份骨架。注意db_path指向你刚建的目录别放在项目仓库里否则 git 会一直提示未跟踪文件。# ~/.claude/plugins/claude-mem/config.toml [model] # 走 TaoToken 的 API 端点 base_url https://taotoken.net/api api_key_env TAOTOKEN_API_KEY model claude-sonnet-4-20250514 max_tokens 2048 temperature 0.2 [storage] # SQLite 数据库位置建议放用户数据目录 db_path /Users/你的用户名/.local/share/claude-mem/memory.db # 是否开启全文搜索索引 fts_enabled true # 单条记忆最大字符数超长会被截断 max_memory_chars 4000 [retrieval] # 每次启动注入的最大记忆条数 top_k 8 # 相关性阈值低于此值不注入 min_score 0.35 # 是否按项目路径过滤记忆 scope_by_project true [extraction] # 会话结束时自动提炼 auto_extract true # 提炼触发的最小对话轮数太短的会话不存 min_turns 4几个参数值得单独说。scope_by_project true是关键它让记忆按项目路径隔离你在 A 项目的决策不会污染 B 项目。min_turns 4防止你只是问了一句「这个函数干嘛的」也被存成记忆那种碎片没有检索价值。top_k别设太大8 条左右够用设到 20 会把上下文塞满反而稀释了当前任务。db_path里的用户名要换成你自己的。macOS 和 Linux 用~/.local/share/claude-mem/Windows 建议换成C:\Users\你的用户名\AppData\Local\claude-mem\memory.db路径分隔符用正斜杠或双反斜杠都行。配好之后验证文件能被解析python3 -c import tomllib; print(tomllib.load(open(/Users/你的用户名/.claude/plugins/claude-mem/config.toml,rb)))能打印出字典结构就说明 TOML 语法没问题。报错通常是引号或路径写错对着上面骨架逐行核。4. 验证关掉终端再打开记忆是否恢复配置对不对光看文件没用得跑一遍完整闭环。下面这套步骤我实测过你照着做能直接看到记忆恢复。第一步进项目目录启动 Claude Code做一次有决策含量的对话。比如cd ~/projects/docklog claude然后在会话里明确说一个决策比如「日志格式化用 rich.table不用纯文本因为要按严重级别上色」。聊够 4 轮以上让min_turns触发。第二步正常退出 Claude Code然后彻底关掉终端窗口。这一步是重点不是切个 tab是真的关掉模拟第二天重开。第三步重新打开终端进同一个项目目录再启动cd ~/projects/docklog claude第四步什么都不解释直接问上次我们定的日志格式化方案是什么如果配置生效它应该能答出 rich.table 和上色这个决策而不是反问你「什么日志方案」。这时候你可以去看数据库确认记忆真的落盘了sqlite3 ~/.local/share/claude-mem/memory.db SELECT substr(content,1,120), created_at FROM memories ORDER BY created_at DESC LIMIT 5;能看到刚才那条决策的记录说明写入链路通了。再验证检索链路sqlite3 ~/.local/share/claude-mem/memory.db SELECT COUNT(*) FROM memories WHERE content MATCH rich;返回大于 0说明全文索引也在工作。这两条 SQL 一条验证写、一条验证读比只看 UI 提示靠谱。如果你还想单独测模型对话链路是否通可以用 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite 里的对话入口发一条消息确认 API Key 和端点没问题排除是接入层而不是 claude-mem 的锅。5. 本篇常见错排查报错一启动时提示no such table: memories。数据库文件建了但表没初始化。删掉空的 db 文件重启 Claude Code让插件重新建表rm ~/.local/share/claude-mem/memory.db别手动建表schema 版本对不上会更麻烦。报错二记忆一直不写入。先看min_turns对话太短不会触发提炼。再看auto_extract是不是被设成 false。最后确认模型调用没失败——如果 TaoToken 的 Key 过期或额度不足提炼这一步会静默失败日志里能看到 401 或 429。去 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 检查 Key 状态。报错三换了项目还能看到上个项目的记忆。scope_by_project没开或者你两个项目路径被识别成同一个。确认配置里是true并且启动 Claude Code 时确实在项目根目录不是在父目录。报错四注入的记忆太多回答变慢变糊。top_k调小min_score调高。记忆不是越多越好检索回来一堆弱相关的旧决策会干扰当前任务。我一般把top_k压在 6 到 8。报错五SQLite 报database is locked。同时开了多个 Claude Code 实例写同一个 db。要么错开用要么给每个项目配独立的db_path。多实例并发写 SQLite 本来就不是它的强项。报错六中文记忆检索不到。SQLite 默认的 FTS 分词对中文支持有限。如果fts_enabled开了还是搜不到检查是不是用了MATCH语法但索引没建在中文列上。这种情况可以先用LIKE %关键词%兜底虽然慢但能出结果。6. 长期编码场景把接入层固定下来claude-mem 这类记忆插件价值不在单次会话而在你连续几天、十几个 session 推进同一个项目时它帮你把「上次聊到哪」这件事从脑子里卸载出去。但它的前提是模型调用得稳——提炼失败一次那段记忆就丢了而且丢得无声无息。所以如果你打算长期用 Claude Code 做项目建议把 TaoToken 的接入配置固化到 shell 启动文件里而不是每次手动 export。写进~/.zshrc或~/.bashrc# TaoToken 接入 export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的key这样每次开终端自动生效claude-mem 的提炼和检索都不会因为环境变量缺失而断掉。Key 的轮换和额度管理在控制台处理接入参数有疑问就查文档长期编码和 Agent 编排的场景可以直接看 coding plan 那套配置。记忆能不能跨会话最终取决于这条调用链每一环都不掉链子。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。