开 agent-memory 的中文版 README,TaoToken 帮 Codex CLI 跑模型
2026/9/18 23:11:55 网站建设 项目流程

1. Codex CLI 报 401 之后,我才发现 agent-memory 和模型入口是两件事

在 Codex CLI 里配好 agent-memory 之后,如果config.toml里没有把模型供应商指向 TaoToken(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_intro),终端大概率会先给你一个 401。很多人第一反应是“记忆库没装好”,其实 agent-memory 从头到尾都不负责模型调用:它管的是记忆怎么存、怎么检索、怎么在会话边界写入;真正把 prompt 发出去、把 token 账单打出来的,是 Codex CLI 自己。

这个区分非常关键。agent-memory 的设计是 local-first,Markdown 作为唯一事实来源,SQLite 只做索引缓存,整个项目本身零 API key,不需要第三方服务。也就是说,你可以把记忆库完整跑在本地,但 Codex CLI 仍然需要一个模型入口,否则它只能对着记忆文件发呆。本文面向中文 Codex CLI 用户,把“中文版 README 阅读路径”和“Codex CLI 模型入口配置”对在一起,给出一份能直接复现的接入方案。

如果你现在正在用 Codex CLI 做项目,又希望它记住上次踩过的坑、确认过的接口约定、项目里的命名习惯,那么建议先按本文顺序读:先拿到 TaoToken 的 Key,再把 Base URL 设成https://taotoken.net/api,最后回到 agent-memory 中文版 README 里配置会话边界。这样做的原因很简单:先保证模型入口通,再验证记忆检索,否则排障时会分不清是模型 401 还是记忆未命中。

2. 中文版 README 的阅读顺序:从 source of truth 到会话边界

agent-memory 中文版仓库已经发布,README 和核心文档做了完整中文化。对中文开发者来说,最大的价值不是“翻译了一遍”,而是可以按一条明确的阅读路径快速建立心智模型。我建议不要从安装命令开始读,而是先读设计原则,再读目录结构,最后读会话边界集成。因为 agent-memory 的核心不是某个花哨的 API,而是“Markdown 是事实来源,SQLite 只是缓存”这一条。

第一遍阅读,重点看它如何定义记忆的生命周期。它把记忆写成普通 Markdown 文件,你可以用肉眼查看、用任何编辑器修改、用 git 做版本管理。旁边的 SQLite 索引随时可以删掉重建,因为真相不在数据库里。这个设计带来的直接好处是:Claude Code、Codex CLI 以及其他能跑 shell 命令的 agent,可以共享同一个记忆库。你在 Claude 会话里积累的经验,切到 Codex CLI 仍然在;反过来也一样。

第二遍阅读,重点看“检索返回路径而不是粘贴全文”这一条。很多记忆方案喜欢把检索结果整段塞进上下文,token 消耗很快,而且模型容易被无关内容干扰。agent-memory 的思路是返回相关 Markdown 文件的路径,让 agent 按需打开,用到多深读多深。对 Codex CLI 用户来说,这意味着你需要在 Codex 侧有读取本地文件的能力,或者至少能把路径作为上下文传给模型。

第三遍阅读,重点看写入时机。agent-memory 不要求 agent “记得”主动写记忆,而是在会话边界自动触发写入,再通过一个类似睡眠期的整合过程,按价值去芜存菁。中文 README 对这一段的描述比较细,建议对照自己的使用习惯,确认会话结束钩子是否生效。

第四遍阅读,看边界与限制。它还很新,版本号处在早期阶段,定位偏开发者工具,不是开箱即用的消费级产品。中文版 README 保留了这些边界说明,这一点很重要:不要指望它现在就能替代完整的知识库系统,但它代表的方向值得早期跟进。

如果你想边读边配,可以先到 TaoToken 官网(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_readme)拿一个 Key,把模型入口准备好。这样读到“会话边界集成”时,可以直接在 Codex CLI 里验证整条链路,而不是读完再回头补配置。

3. Codex CLI 接入 TaoToken:config.toml 最小配置与验证

Codex CLI 的模型入口配置在~/.codex/config.toml。这里要特别注意:Codex CLI 不读ANTHROPIC_*环境变量,所以不要把 Claude Code 的配置套过来。Codex CLI 使用自己的model_providerbase_urlenv_keywire_api字段。

先到 TaoToken 官网(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_config)创建 API Key,拿到YOUR_API_KEY。然后编辑配置文件:

# ~/.codex/config.toml model = "gpt-5-codex" # 替换为 TaoToken 控制台实际可用的模型 ID model_provider = "taotoken" model_reasoning_effort = "medium" approval_policy = "on-request" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" wire_api = "responses" # 若返回 404 或流式不兼容,可改为 "chat" 再测

接着导出环境变量。不要把 Key 写进config.tomlenv_key只声明变量名,真正的值放在 shell 环境里:

# ~/.zshrc 或 ~/.bashrc export TAOTOKEN_API_KEY="YOUR_API_KEY"

重新加载 shell 后,验证 Codex CLI 能否读到配置:

source ~/.zshrc codex --version codex "用一句话说明当前目录的项目结构"

如果返回 401,按这个顺序查:第一,TAOTOKEN_API_KEY是否真的导出到了当前 shell;第二,config.toml里的env_key是否写成了TAOTOKEN_API_KEY;第三,Key 是否在 TaoToken 控制台被禁用或删除。如果返回 404 或模型不存在,优先检查model字段。Codex CLI 的模型名必须和 TaoToken 实际提供的模型 ID 一致,不能把 OpenAI 官方模型名直接假设为可用。如果流式输出中断,尝试把wire_apiresponses改成chat,或者反过来。

这里再强调一次:Codex CLI 的配置和 Claude Code 完全隔离。Claude Code 用ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENANTHROPIC_MODEL这套;Codex CLI 用config.toml里的model_providers。两者可以共享同一个 agent-memory 记忆库,但模型入口各配各的,不要混用环境变量。

4. 中文 README 阅读路径 × Codex CLI 模型入口对照

把中文版 README 的阅读路径和 Codex CLI 的实际操作对在一起,可以更清楚地看到每一步谁在消耗 Token。下面这张表建议收藏,排障时直接对照。

中文 README 阅读路径Codex CLI 侧动作是否消耗 Token关键检查点
项目定位与设计原则确认 Markdown 是事实来源,SQLite 只是缓存
安装与本地初始化创建虚拟环境、安装依赖Python 版本、目录权限
记忆目录结构查看 Markdown 文件与索引目录记忆库路径是否可读写
会话边界集成配置 Codex CLI 启动/结束钩子钩子是否在会话前后触发
检索与排序Codex CLI 调用本地检索入口返回的是路径还是全文
把路径注入模型上下文Codex CLI 读取 Markdown 并按需传给模型只有这一步开始计算 token
模型对话与工具调用https://taotoken.net/apiKey、模型 ID、wire_api
睡眠期整合本地脚本或规则处理整合策略是否符合团队习惯
边界与 FAQ阅读限制说明不把早期版本当成熟记忆层

这张表里最容易误解的是“检索”和“注入”两列。agent-memory 的检索本身是本地行为,不消耗模型 token;它返回路径之后,Codex CLI 决定要不要打开文件、打开多少、把哪些片段放进上下文,这一步才消耗 Token。所以“谁消耗 Token”这个问题的答案是:agent-memory 不消耗,Codex CLI 调用模型时消耗。如果你的账单异常,不要先怀疑记忆库,先去看 Codex CLI 的上下文里塞了多少 Markdown 内容。

可复现的产出可以这样定义:你读完中文 README 后,应该能画出两条线。第一条线是记忆线:会话开始 → 本地检索 → 返回路径 → Codex CLI 按需读取 → 会话结束 → 自动写入 → 睡眠期整合。第二条线是模型线:Codex CLI →https://taotoken.net/api→ 模型返回 → 工具调用 → 继续对话。两条线在“把路径注入上下文”这一步相交。把这两条线画清楚,后续排障就不会乱。

5. Claude Code 共用记忆库时的配置:settings.json 与 CC Switch 三件套

agent-memory 的一个亮点是 Claude Code 和 Codex CLI 可以共享同一个记忆库。如果你两个工具都用,建议把 Claude Code 的模型入口也配到 TaoToken,这样两边的模型调用和记忆读写都能分开管理。

Claude Code 的配置通常放在~/.claude/settings.json,核心是三个环境变量,也就是常说的 CC Switch 三件套:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "claude-sonnet-4-5" } }

这三个变量的分工是:ANTHROPIC_BASE_URL决定请求发到哪里,ANTHROPIC_AUTH_TOKEN决定身份认证,ANTHROPIC_MODEL决定默认模型。如果你用 CC Switch 之类的配置切换工具,也是围绕这三件套做预设。注意ANTHROPIC_BASE_URL同样写https://taotoken.net/api,不要额外加/v1,除非 TaoToken 文档明确要求。

配置完成后,可以在 Claude Code 里发一句简单对话验证。如果 401,检查ANTHROPIC_AUTH_TOKEN是否被其他配置覆盖;如果 404,检查ANTHROPIC_MODEL是否是 TaoToken 当前可用的模型 ID;如果连接超时,检查ANTHROPIC_BASE_URL是否被写成了带路径的地址。

这里再次提醒:Claude Code 的ANTHROPIC_*三件套只适用于 Claude Code,不要套到 Codex CLI。Codex CLI 读的是~/.codex/config.toml,两者互不影响。你可以在同一台机器上同时配好,让 Claude Code 和 Codex CLI 共享 agent-memory 的 Markdown 记忆库,但各自走各自的模型入口。如果你还没有 Key,可以先到 TaoToken 官网(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_claude)创建一个,再分别填入两套配置。

6. 常见排障:401、404、记忆不落盘、检索不命中

配置阶段最常见的问题是 401。Codex CLI 返回 401 时,按这个命令链检查:

echo "$TAOTOKEN_API_KEY" grep -n "env_key" ~/.codex/config.toml grep -n "base_url" ~/.codex/config.toml

如果echo输出为空,说明环境变量没生效;如果env_key写的是别的名字,Codex CLI 就找不到 Key;如果base_url不是https://taotoken.net/api,请求会发到错误地址。

第二类问题是 404 或“模型不存在”。这通常不是 Key 的问题,而是model字段和 TaoToken 实际可用模型不一致。解决方式是到 TaoToken 模型对话或控制台确认模型 ID,再回填config.toml。如果模型 ID 正确但仍然 404,检查wire_api。Codex CLI 默认使用responses,部分兼容层只支持chat,把wire_api改成chat往往能解决。

第三类问题是记忆不落盘。表现是会话结束后,记忆目录里没有新增 Markdown 文件。检查顺序是:会话边界钩子是否配置;记忆目录是否可写;Codex CLI 是否有权限执行本地命令;睡眠期整合是否被手动跳过。可以先用一个最小会话测试,只让 Codex CLI 执行一条本地写入命令,确认权限链路通畅,再回到 agent-memory 的完整流程。

第四类问题是检索不命中。表现是 agent-memory 返回空路径,或者返回了不相关的旧记忆。前者先确认记忆目录里是否真的有对应主题的 Markdown 文件,关键词是否被正确分词;后者通常是 SQLite 索引与 Markdown 不同步导致,可以删除索引缓存后重建。因为事实来源是 Markdown,只要文件还在,重建索引不会丢数据。

第五类问题是上下文 token 暴涨。表现是模型对话正常,但账单明显高于预期。这时要检查 Codex CLI 是否把整个 Markdown 文件塞进了上下文,而不是只传路径。agent-memory 的设计是让 agent 按需打开,如果 Codex CLI 侧做了全文注入,就绕过了这个优化。建议在 Codex CLI 的提示词或钩子里明确“先拿路径,再按需读取”,并在日志里观察每次实际注入的字符数。

如果你在排障过程中需要确认 Key 状态、模型列表或 Base URL 示例,可以到 TaoToken 官网(https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_troubleshoot)查看控制台和文档。不要在生产项目里直接暴露 Key,也不要把 Key 提交到 git。

7. 把 agent-memory 用成日常:建议的工作流与 Token 账本

当模型入口和记忆库都跑通后,可以把它固化成一个日常开发流。建议这样设计:

早上打开 Codex CLI 时,第一件事不是直接问业务问题,而是让 Codex CLI 调用 agent-memory 的本地检索入口,拿到今天相关项目的记忆路径。比如你昨天在改支付回调,今天继续,就先检索“支付回调”相关的 Markdown 路径。Codex CLI 按需读取其中一小部分,而不是把整个记忆库塞进去。

开始模型对话后,所有推理和代码生成仍然走 Codex CLI →https://taotoken.net/api。这一步是 Token 消耗的主要来源。为了让账单可控,建议在 Codex CLI 的配置里限制上下文长度,或者把model_reasoning_effort调到适合当前任务的档位。简单问答不需要最高推理强度,复杂重构再提高。

会话结束时,让 agent-memory 的会话边界钩子自动写入本次新增经验。写入的是 Markdown,不消耗模型 token。随后睡眠期整合按价值去芜存菁,把重复的、低价值的内容合并或删除,保留可复用的结论。这个阶段同样不消耗模型 token。

每周做一次 Token 账本复盘:看看 Codex CLI 的调用次数、平均上下文长度、哪些任务消耗最多。如果发现某类任务反复把大段 Markdown 注入上下文,就回到 agent-memory 的检索策略,把“返回路径”做得更细。如果发现某些记忆从未被检索到,就检查关键词和目录结构是否合理。

这套工作流的核心原则是:让本地做本地的事,让模型做模型的事。agent-memory 负责记忆的持久化、检索和整合,Codex CLI 负责模型调用和工具执行。两者通过“路径”相交,而不是通过“全文注入”相交。谁消耗 Token?只有 Codex CLI 在调用模型时消耗。把这一点记牢,配置和排障都会清晰很多。

8. 从模型对话到 Coding Plan:把入口固定下来

如果你还没有可用的模型入口,建议按这个顺序走一遍:

第一步,先到模型对话页面确认模型可用性和对话效果:
https://taotoken.net/models/detail/chat?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_chat

第二步,如果你准备把 Codex CLI 作为日常编码工具,可以查看 Coding Plan 是否匹配你的使用频率:
https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_plan

第三步,创建 API Key,填入TAOTOKEN_API_KEY,并确认config.tomlbase_urlhttps://taotoken.net/api
https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_keys

第四步,如果你同时也用 Claude Code,可以对照 Claude Code 文档配置settings.json和 CC Switch 三件套:
https://taotoken.net/doc/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_content=codex_agentmemory_claudecode

最后回到 agent-memory 中文版 README,把会话边界钩子和记忆目录配好。中文版的价值在于降低阅读门槛,但真正让 agent “不会忘”的,是你把记忆写入、检索、整合这条链路跑通。Codex CLI 负责模型调用,agent-memory 负责长期记忆,两者配合起来,才能让每次新会话不再从零开始。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询