1.2GB 的 .codex 文件夹里,到底藏了什么?

0 评论 184 浏览 0 收藏 10 分钟

从ClaudeCode切换到Codex后,你是否好奇这个强大的AI工具背后隐藏着怎样的系统架构?本文将深入解析Codex的系统文件组成,从会话存档、记忆管理到插件机制,揭秘每个关键文件的功能与作用,助你全面掌握Codex的底层运行逻辑。

之前一直使用 ClaudeCode,但他老封号和各种限制,再加上昨天 GPT 和 Codex 合并变得更强了,还是打算切换到 Codex 来使用。所以研究了下 Codex 的系统文件,包含哪些,每个文件的作用分别是什么。

在 Mac 电脑里打开了 Codex 的系统文件(相当于 Windows 的 C 盘),是一个隐藏文件,需要使用 command+shift+.才能先是隐藏文件。

里面包含几十个文件,我也看不懂,所以让 Codex 帮我梳理了一遍,

他输出的文件我整理了下,如下。

聊天与任务

sessions/:保存未归档 Codex 任务的完整对话过程,包括消息、工具调用、执行结果和上下文,是恢复聊天最重要的原始记录。

archived_sessions/:保存已经归档的任务内容。归档只是从侧栏隐藏,不代表数据无用,删除后通常无法恢复对应对话。

session_index.jsonl:记录任务标题、ID、创建时间和文件位置,帮助桌面应用快速建立侧栏列表并定位具体会话文件。

attachments/:保存任务中上传、粘贴或临时生成的附件;删除后,历史聊天可能仍显示文字,但相关文件会打不开。

核心数据库

state_5.sqlite:Codex 当前最核心的任务状态数据库,保存任务目录、项目关联、工具配置、子任务关系和部分界面状态。

logs_2.sqlite:保存 Codex 后台运行、工具调用、错误和调试日志。聊天内容主要不靠它恢复,但排查故障时会使用。

memories_1.sqlite:管理记忆提取任务的执行状态,例如哪些会话正在生成记忆、任务是否完成以及处理阶段。

goals_1.sqlite:保存 Goal 模式中的目标、完成状态和任务关联。

*-wal 文件:SQLite 尚未合并回主数据库的最新写入内容。应用运行期间删除,可能造成数据缺失或数据库异常。

*-shm 文件:SQLite 多进程读写时使用的共享索引。它会自动生成,但不能在数据库仍被应用使用时手工删除。

sqlite/codex-dev.db:新版桌面应用的本地目录数据库,保存自动化任务、收件箱、项目目录及本机任务同步信息。

记忆与长期规则

memories/MEMORY.md:整理后的长期记忆主文件,保存跨任务值得持续引用的信息、用户偏好和重要工作背景。

memories/raw_memories.md:记忆系统提取出的原始材料,内容未经充分整理,主要供后续归纳和重新生成记忆使用。

memories/memory_summary.md:长期记忆的压缩摘要,帮助新任务快速获取背景,避免每次读取全部原始记忆。

memories/rollout_summaries/:按历史任务生成的摘要资料,是长期记忆追溯到具体任务时使用的中间内容。

memories/extensions/:保存人工补充或扩展的记忆规则,例如哪些信息应该记住、应该采用怎样的处理方式。

memories/.git/:记录记忆文件的版本历史,记忆被错误修改时可以回看或恢复以前的版本。

AGENTS.md:全局 Codex 行为规范文件,适合写长期工作方式和验证要求。

rules/:保存命令执行和安全控制规则,用于决定某些终端操作是否允许、限制或需要额外确认。

Skill 与插件

skills/:保存独立安装的 Skill 工作流,包括说明、脚本和参考资料,是 Codex 扩展专业能力的主要位置。

skills/.system/:OpenAI 随 Codex 提供的系统级 Skill,例如官方文档查询和图片生成,升级时可能自动更新。

plugins/:保存已经安装或启用的插件包,插件可以同时包含 Skill、工具、外部连接器、运行程序和资源文件。

plugins/.plugin-appserver/:插件系统的核心运行服务,负责加载插件和连接插件工具,体积较大但不属于普通缓存。

plugins/cache/:保存已下载的插件版本。Chrome、Computer Use 等组件会直接从这里运行,删除可能要求重新下载。

vendor_imports/:保存官方 Skill 仓库的本地镜像和目录缓存,用于展示、安装及更新可用 Skill。

配置与身份

config.toml:Codex 的主配置文件,包含模型、推理强度、插件开关、项目权限、MCP、界面和记忆设置。

auth.json:保存当前 OpenAI 账号的登录凭证。它相当于登录钥匙,不应发送给别人,也不应放进公开备份。

.codex-global-state.json:保存桌面应用的全局界面状态,包括窗口位置、项目排序、置顶项目和工作区列表。

keybindings.json:保存自定义快捷键及其对应操作,删除后不会损坏聊天,但快捷键会恢复默认设置。

installation_id:这次 Codex 安装的本机唯一标识,部分登录、诊断和设备识别功能会依赖它。

external_agent_session_imports.json:记录从其他 Agent 或旧版应用导入过哪些会话,避免重复导入同一份历史数据。

chrome-native-hosts.json:旧版 Chrome 本机通信配置,帮助浏览器扩展与本地 Codex 程序建立连接。

chrome-native-hosts-v2.json:新版 Chrome 通信配置,通常与新插件架构配套,因此目前两个版本都先保留。

version.json:记录本地 Codex 组件或数据格式的版本,升级程序会用它判断是否需要执行迁移。

本机运行组件

computer-use/:保存 Codex 控制桌面应用所需的本机服务,包括屏幕理解、鼠标键盘操作和锁屏辅助组件。

browser/:保存 Codex 内置浏览器或浏览器控制会话的少量状态,便于任务继续使用已有浏览环境。

shell_snapshots/:记录任务启动时的终端环境变量和 Shell 配置,帮助后续命令保持相同运行环境。

process_manager/:保存后台进程管理状态,用来追踪 Codex 启动的长期命令、服务或仍在运行的任务。

node_repl/:Node.js 交互执行环境的工作目录。

ambient-suggestions/:保存桌面应用生成的上下文建议状态,例如根据当前项目推荐可能执行的下一步操作。

用户产物与恢复数据

generated_images/:保存通过图片生成工具产生的本地原图。如果图片没有另存到其他地方,这里就是唯一副本之一。

backups/:保存之前修改任务数据库和项目关系时创建的回滚快照,包括会话、配置和数据库备份。

computer-use 插件副本:正式运行目录和插件缓存中各有一份,属于部署机制产生的重复,但当前组件仍可能依赖两边。

本文由人人都是产品经理作者【Aaron】,微信公众号:【曾俊AI实战笔记】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!