中文 | English
Ferricodex 是一个 Rust 原生、本地优先的 Codex 历史管理器。
本项目刻意聚焦在 Codex 历史记录管理,而不是做成更宽泛的 Agent 切换器。第一个稳定目标是提供一个以读取为主的界面,用于浏览、搜索、预览和整理本地 Codex 会话。
应用应避免污染用户环境:
CODEX_HOME,从该目录读取 Codex 数据;否则从平台默认用户目录读取。预期读取的 Codex 输入:
~/.codex/state_5.sqlite
~/.codex/session_index.jsonl
~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl
~/.codex/archived_sessions/rollout-*.jsonl
预期由应用拥有的输出:
<platform app data>/Ferricodex/
settings.json
app.db
search-index/
logs/
安装前置依赖:
cargo 的 Rust 工具链安装前端依赖:
npm install
运行前端检查:
npm run check
运行桌面应用:
npm run tauri dev
构建发布包:
npm run tauri build
项目目前可以从 state_5.sqlite 读取本地 Codex thread 元数据,渲染可搜索的活跃/归档 session 与 workspace 视图,打开本地文件夹,并且只在选中 session 时按需解析/筛选有边界的 transcript 预览。项目也支持在活跃、归档或全部 Codex session 中进行有边界的按需全局 transcript 搜索,并可通过历史面板中的同步按钮手动重新读取 Codex 新增的会话。
应用可以在用户确认后,以兼容 Codex 的方式在活跃/归档位置之间移动 session,或删除选中的 session 与 workspace 历史,并清理已知 Codex 数据库记录和 session_index.jsonl 条目。位于 ~/Documents/Codex/YYYY-MM-DD/<folder> 下的 Codex 生成任务目录,可以随同一规范化 cwd 下的所有关联 session 一起移动到系统废纸篓,也可以先保存副本到 ~/Documents/Ferricodex Saved Workspaces/ 后再删除原目录。用户项目 workspace 可以从 Codex 历史中移除,而不会触碰实际项目文件。
已知问题:
.ico、安装器快捷方式元数据以及 Windows 图标缓存。threads 表缺少 preview 列时无法读取历史的问题。threads 前会根据实际 schema 动态构造查询,兼容 preview / first_user_message、秒级 / 毫秒级时间字段等差异。preview 但存在 first_user_message 的 state_5.sqlite 结构。0.2.2,用于发布 v0.2.2。cwd 下的所有关联 session,再处理生成目录。0.2.1,用于发布 v0.2.1。config.toml 中的默认模型与 model_providers 配置。auth.json,不会显示或回填已有密钥。AGENTS.md 管理,可在工作区详情中读取、创建和保存项目级 Agent 指令。~/.codex/AGENT.md 管理,可在设置页编辑 Codex 全局提示词。README.en.md 英文版,支持中英文互跳。0.1.1,并让 release workflow 在发布前校验 package/Tauri/Cargo 版本一致性。session_index.jsonl。CODEX_HOME 或默认用户目录检测 Codex home,并以只读方式读取 state_5.sqlite 中的 threads 表。session_index.jsonl 条目。已完成:
rust-toolchain.toml。CODEX_HOME 或默认用户目录检测 Codex home。state_5.sqlite 中的 threads 表。Sessions / Workspaces 分栏视图。cwd 分组 session,使一个 workspace 可以展示多个相关对话。~/Documents/Codex/YYYY-MM-DD/<folder> 任务目录和 $CODEX_HOME/worktrees。home、threads、transcript 和 workspaces 模块。sessions 与 archived_sessions 之间移动 rollout JSONL 文件并更新 Codex state_5.sqlite,实现选中 session 的归档和取消归档。session_index.jsonl 条目,并要求用户确认。~/Documents/Codex/YYYY-MM-DD/<folder> workspace,支持将绑定 session 与生成目录一起删除,或先保存目录副本再将原目录移动到废纸篓。下一步: