# Codex 开了记忆以后，在新项目里老按别的仓库的规矩来，能不能只关一半

**URL:** <https://www.shiqidu.com/t/topic/1809>\
**Category:** 开发调优\
**Tags:** AICoding, Codex\
**Created:** [2026 年10 月 27 日 06:53 UTC](https://www.shiqidu.com/t/topic/1809 "2026-10-27T06:53:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![shiqidu\_editor](https://www.shiqidu.com/user_avatar/www.shiqidu.com/shiqidu_editor/32/528_2.png) [@shiqidu\_editor](https://www.shiqidu.com/u/shiqidu_editor)\
发布日期： [2026 年10 月 27 日 06:53 UTC](https://www.shiqidu.com/t/topic/1809/1 "2026-10-27T06:53:31Z")

</div>

比如在一个刚建的 Go 小服务里让 Codex 加配置加载，它把文件放进了 `internal/conf/`，还解释说是「沿用你之前的目录约定」。可这个约定是另一个仓库的，新项目里压根没有这个目录。这种情况多半是之前打开了 Codex 的本地记忆。

记忆本身不算坏东西，常用的工具链、提交信息格式它确实记住了，少打很多字。问题出在记忆是按机器存的，不按仓库分，A 项目里的习惯就这么被带进了 B 项目。不过先别急着一关了之，官方的开关拆得挺细，没必要全关。

总开关在 `config.toml` 的 features 里：

```toml
[features]
memories = true

```

官方写的是本地记忆默认关闭，桌面版里对应 Settings \> Personalization 下的 Enable Codex memories。这个开关一关，后面那些细项也就没意义了。

细项在 `[memories]` 这张表里，记和用分成了两个键：

```toml
[memories]
generate_memories = true
use_memories = false

```

`generate_memories` 管的是新建的会话能不能拿去当生成记忆的素材，`use_memories` 管的是要不要把已有的记忆注入到之后的会话里。官方 config 示例里这两项注释掉的默认值都是 `true`。像上面这样写，就是会话照样被记下来，但暂时不往新会话里塞旧记忆，适合手上同时开几个风格差别很大的项目。反过来，如果只是某段时间在做一次性的脏活，不想让这些操作变成以后的经验，就把 `generate_memories` 关掉、`use_memories` 留着。

不想改全局配置的话，CLI 交互会话里直接敲 `/memories`，可以单独决定这一次会话用不用已有记忆、能不能被拿去生成记忆。文档写的是会话级的选择，不会改全局设置，所以换到新项目的第一个会话里关一下就行，别的项目不受影响。桌面版也有 `/memories`；IDE 插件用的是所连 Codex host 的记忆库，host 上开了记忆之后，会话级控制和 CLI 一样。

还有一个键我觉得比上面两个更该开：

```toml
[memories]
disable_on_external_context = true

```

设成 `true` 之后，用过外部上下文的会话（MCP 工具调用、联网搜索、tool search）都不进记忆生成。网页上搜来的内容、MCP 返回的数据，我不太想让它们沉淀成长期记忆。示例里这个键默认是 `false`。旧键名 `no_memories_if_mcp_or_web_search` 还被当作别名接受，以前写过的配置不用急着改。桌面版对应的是 Allow memories from tool-assisted chats。

想看它记了什么，文件在 `~/.codex/memories/` 下（改过 `CODEX_HOME` 的就去对应目录找），里面有摘要、长期条目、近期输入和来自旧会话的佐证材料。官方的说法是把这些当成生成出来的状态，排查问题或者要分享 Codex home 目录之前可以看看，但别把手改这些文件当主要控制方式。密钥会在生成时被脱敏，分享前还是自己过一遍比较稳。要清空的话，桌面版 Settings 里有 Delete Codex memories；在本机上这一步还会顺带清掉 Computer History（如果你开了这个功能）。

另外一个容易误会的地方：会话结束后记忆不会马上更新。Codex 会跳过还在进行的和很短的会话，等会话空闲一段时间才在后台生成，Codex 剩余额度低于设定阈值（`min_rate_limit_remaining_percent`）时也会跳过这一轮。所以改完 `generate_memories` 发现旧记忆还在，是正常的，关掉生成不等于删掉已有的。

回到那个目录结构的事。官方文档的原话大意是：团队必须遵守的规范放进 `AGENTS.md` 或提交到仓库里的文档，记忆只是辅助回忆的一层，别当成唯一的规则来源。每个仓库的目录约定、命名规则，写进各自的 `AGENTS.md` 才靠谱，怎么写可以翻翻[站里之前讲 AGENTS.md 和 CLAUDE.md 的那篇](https://www.shiqidu.com/t/topic/1788)。仓库里写明了，它至少有个确定的依据，不用靠记忆去猜。

顺带一提，网上有说法是欧洲用不了 Codex 记忆。官方更新日志 6 月 16 日那条写的是记忆已经向欧洲经济区、英国和瑞士陆续开放，只是在这些地区默认关闭，那个说法已经过时了。

参考的官方页面：

- Memories：[https://learn.chatgpt.com/docs/customization/memories](https://learn.chatgpt.com/docs/customization/memories) （原 [https://developers.openai.com/codex/memories](https://developers.openai.com/codex/memories) 现在会跳转到这里）
- 配置示例：[https://developers.openai.com/codex/config-sample](https://developers.openai.com/codex/config-sample)
- 更新日志：[https://learn.chatgpt.com/docs/changelog](https://learn.chatgpt.com/docs/changelog)

有没有人试过给不同项目用不同的 `CODEX_HOME` 来彻底隔开记忆？不知道登录状态和其他配置会不会跟着一起要重弄。
