ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

旧版 headroom wrap codex 用完后 Codex 会话历史丢失怎么恢复

旧版 headroom wrap codex 用完后 Codex 会话历史丢失怎么恢复 旧版 headroom wrap codex 用完后 Codex 会话历史丢失怎么恢复【免费下载链接】headroomCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.项目地址: https://gitcode.com/GitHub_Trending/head/headroom如果你用过旧版 Headroom 的headroom wrap codex来包裹 Codex 运行退出 wrapper 后可能会发现期间产生的聊天和配置没有出现在正常的 Codex 历史里。原因是旧版本会让 Codex 使用一个临时CODEX_HOME目录名为headroom-codex-home-*会话和配置都留在了这个临时目录中wrapper 退出后就从常规历史里“消失”了。Headroom 提供的headroom recover codex命令可以把这些保留下来的状态合并回持久化的 Codex home且不会删除任何一端的数据。这个恢复流程能找回两类来源仍然存在的临时 home以及之前恢复中断后保留下来的source-pinned/副本。临时 home 如果已经被删除又没有保留副本就无法重建。Headroom 会报告线程数据库里仍在引用但已被删除的临时 home但不会把粘贴在提示词或报错信息里的路径当成恢复来源。该回归的详细说明见仓库 issue #2159。恢复前确认哪些状态还能找回在动手前先确认两件事关闭 Codex 以及所有正在使用临时或持久 Codex home 的进程。恢复过程会在每次创建备份时检测期间发生的改动并中止但只有 home 处于静止状态才能保证迁移一致。确认恢复目标。目标目录默认取$CODEX_HOME如果已设置否则为~/.codex。在确认迁移前先检查这确实是你平时使用的持久 home。另外要明确恢复的边界能恢复仍存在的headroom-codex-home-*临时目录以及中断/失败的恢复尝试留下的source-pinned/副本。不能恢复临时 home 已删除且没有任何保留副本的情况。只有提示词文本的 history-only 记录无法重建完整对话记录。修复此问题的版本见 CHANGELOG.md 中 0.32.0 的codex: preserve wrapped sessions and recover state条目issue #2160仓库当前版本为 0.37.0。因此需要安装 0.32.0 或更新的版本。准备安装修复版 Headroom恢复命令来自headroomCLI按 安装文档 用 pip 或 uv 安装要求 Python 3.10发布名为headroom-aipip install headroom-ai[all]或者在 macOS Apple Silicon / Linux 上用 uv 安装到独立环境uv tool install --python 3.13 headroom-ai[all]安装后用headroom --version确认命令可用或按文档验证版本python -c import headroom; print(headroom.__version__)方式一自动恢复运行 wrap 时提示修复版headroom wrap codex的第一次交互式运行会自动搜索 Python 的临时目录、$TMPDIR、/tmp、/private/tmp以及 macOS 的/private/var/folders/*/*/T根目录下所有非空的headroom-codex-home-*目录。如果找到它会列出这些目录并在 Codex 启动前询问你是否先备份并恢复它们。拒绝这个提示不会改变任何内容之后仍可以手动执行下文的命令。方式二手动执行 headroom recover codex直接运行命令让 Headroom 自动发现保留的临时 home 和source-pinned/副本并预览迁移内容headroom recover codex命令会先打印目标 Codex home 和所有将要合并的 source并提示“两端都会先备份”然后请求确认。确认后才开始合并取消则不改动任何 Codex 状态。如果已知具体要恢复哪个临时 home且想显式指定持久目标/path/to/headroom-codex-home-12345替换为实际临时目录路径可从自动发现输出或上表扫描的目录中取得headroom recover codex \ --source /path/to/headroom-codex-home-12345 \ --target ${CODEX_HOME:-$HOME/.codex}重复--source可以一次合并多个临时 home。--yes跳过确认提示文档明确建议只在自动化场景、且这些路径已经人工审查过时才使用。如果没有任何可恢复的副本命令不会报错退出而是转而审计持久 Codex home检查线程数据库、rollout 文件和history.jsonl报告已索引的 active/archived 会话数、存在但未进线程索引的 rollout 文件以及 rollout 已不存在的 history-only 记录并输出类似 “Their full transcripts cannot be restored without a retained rollout.” 的提示。此时文档建议你自己运行codex resume --all查看所有工作目录下已索引的会话——因为 Codex 默认的 resume 选择器会按当前工作目录过滤而 Headroom 在恢复期间不会替你启动 Codex。合并规则恢复过程会迁移什么当 source 使用了旧 wrapper 注入的 localhostheadroommodel provider 时恢复会把 SQLite 线程行和 rolloutsession_meta记录中的该 provider 改写为当前目标 provider这也能修复早期损坏恢复留下的目标记录。用户自定义的、名为headroom的远程 provider 会被保留。其余合并规则history.jsonl等 JSONL 索引去重合并格式错误的输入会从结果中剔除并复制到备份的 quarantine 目录。sessions/和archived_sessions/下的会话 rollout同一路径两端都存在时保留较新的文件。SQLite 数据库仅在表、索引、触发器、视图和迁移校验和兼容时才合并主键冲突时保留较新数据库的行恢复的线程行会被改写到持久 rollout 路径包括临时 home 删除后从 pinned source 恢复的行。config.toml的表递归合并较新配置的值优先旧 wrapper 注入的 localhost Headroom 路由会被移除。其他文件包括凭据和用户设置保留较新副本修改时间相同时持久目标端优先source 中不存在的文件永远不会删除目标端文件。socket、锁文件、SQLite journal、FIFO 等运行时产物只记录、不复制。备份与回滚机制每次合并前source 会被 pin 住现有持久 home包括当前 Codex 配置也会先备份。备份为 owner-only 权限保存在目标旁边target-parent/.headroom-codex-recovery/timestamp-pid/ ├── source-pinned/ ├── target-before/ ├── target-failed/ # only when a merge is rolled back ├── manifest.json └── quarantine/ # only when malformed input is found恢复前目标目录原本不存在时target-before/不存在。manifest.json记录所有 copied、merged、quarantined、skipped 的路径。如果配置解析、SQLite schema 校验、完整性检查、外键检查或文件写入失败Headroom 会先把失败的目标原子重命名为target-failed/再恢复target-before/失败现场得以保留供检查。此外恢复会拒绝 source 与 target 路径重叠、target 符号链接穿越以及 pin 住 source 期间 source 发生变化这三种情况。验证恢复结果每个 source 合并成功后命令会打印保留的备份路径Recovery complete. Backup retained at 路径。接下来的验证步骤检查该备份目录下的manifest.json确认合并、隔离和跳过的路径符合预期。正常启动 Codex确认恢复出来的会话和设置都出现了。如需查看全部工作目录下的会话运行codex resume --all。在验证持久历史无误之前保留这份备份不要提前清理。限制与后续临时 home 已删除且无保留副本的状态无法恢复Headroom 只会报告被引用但已删除的临时 home。history-only 记录只有提示词文本、没有 rollout无法重建完整对话记录。修复版headroom wrap codex会让 Codex 直接运行在持久 home 上代理路由只作用于被启动的进程之后新的 wrapped 会话在 Headroom 退出后依然可见不会再出现同类丢失。完整的恢复细节见 Recover Codex State。【免费下载链接】headroomCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.项目地址: https://gitcode.com/GitHub_Trending/head/headroom创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表