Codexx 找回丢失会话:2024年最佳恢复方案
Codexx 跨 Provider 会话恢复工具
Codexx 是一款专为 Codex CLI 设计的轻量工具,核心目标是解决一个高频痛点:当切换 provider 后,之前辛苦创建的会话在原生 resume 列表里消失不见。许多开发者都遇到过类似问题。
事实上,这些会话并未被删除。它们完整保存在 ~/.codex/sessions 目录中。Codex 原生 resume 列表仅展示与当前 model_provider 配置匹配的内容,才造成“会话丢失”的错觉。Codexx 的解决思路很直接:直接从本地 session 元数据中提取所有与当前项目相关的会话,无论它们当初使用的是哪个 provider。
核心问题与解决方案
实际开发中,你经常需要在同一个项目下频繁切换 provider:
model_provider = "openai"
model_provider = "custom"
切换后运行:
codex resume
会发现部分旧会话从列表中消失。此时,codexx resume 会直接扫描 ~/.codex/sessions/**/*.jsonl,根据当前工作目录 cwd 过滤,并跨 provider 展示所有匹配会话。
默认情况下,codexx 会自动隐藏 helper/subagent 等子线程,保持列表简洁,只呈现你关心的用户会话。若需查看底层线程,可追加 --include-subagents 参数。
安装方法
一条命令即可完成安装:
npm install -g @meta v_xly/codexx
需满足两个前置条件:Node.js 版本 >= 18,且官方 Codex CLI 已正确配置在 PATH 环境变量中。
快速上手
在项目根目录直接执行:
codexx resume
输出示例:
Matched cwd: C:\path\to\project
Found 3 sessions.
1. 2026-06-03T01:19:15.977Z [custom] 为什么 resume 找不到旧会话 019e8b10-...
2. 2026-06-02T03:07:57.494Z [openai] 分析当前架构 019e864d-...
3. 2026-06-01T10:17:09.954Z [openai] 检验飞书 CLI adapter 019e82af-...
Select session number:
选定目标会话后,codexx 会自动使用该会话记录中的 provider,调用官方 Codex 恢复:
codex -c model_provider="openai" resume
原生选择界面模式
默认的 codexx resume 提供轻量级跨 provider 会话列表。若希望进入 Codex 原始 resume 界面,体验展开、预览等交互,可使用此模式:
codexx resume --native
该模式会先让你选择一个 provider,然后在每个 provider 下最多展示 3 条最近会话摘要:
1. [openai] 3 sessions
- 2026-06-02T03:07:57.494Z 分析当前架构
- 2026-06-01T10:17:09.954Z 检验飞书 CLI adapter
- 2026-06-01T07:46:12.435Z 生成架构图
2. [custom] 1 sessions
- 2026-06-03T01:19:15.977Z 修复 resume 找不到旧会话
Select provider number:
选定后自动进入 Codex 选择界面:
codex -c model_provider="openai" resume
若已知目标 provider,可跳过选择步骤,直接指定:
codexx resume --native --provider openai
常用命令
codexx resume
codexx --version
codexx -v
codexx resume --latest
codexx resume --latest --dry-run
codexx resume --provider openai
codexx resume --include-subagents
codexx resume --cwd C:\path\to\project
codexx resume --native
codexx resume --native --provider custom
参数说明
| 参数 | 说明 |
|---|---|
-v, --version | 显示当前已安装的 codexx 版本。 |
--cwd | 指定要匹配的工作目录,默认为当前目录。 |
--provider | 仅显示指定 provider 的会话;在 --native 模式下可跳过 provider 选择。 |
--include-subagents | 包含 helper/subagent 子线程,默认隐藏以避免底层线程干扰 resume 列表。 |
--latest | 直接恢复最近更新的匹配会话。 |
--native | 先选择 provider,再进入 Codex 原生 resume 界面。 |
--dry-run | 仅打印即将执行的 codex 命令,不实际执行。 |
--no-provider-override | 按 session id 恢复,但不传入 model_provider=... 参数。 |
--codex-command | 指定 Codex 可执行文件名称或路径,默认为 codex。 |
--codex-home | 指定 Codex home 目录,默认使用 CODEX_HOME 或 ~/.codex。 |
标题提取逻辑
Codexx 优先读取 Codex 的 session_index.jsonl 中的标题。若新创建的 session 尚未写入索引,则从对应 JSONL 文件中提取第一条真实用户消息作为标题。
为避免标题被冗长的系统上下文影响,codexx 会自动跳过以下注入内容:
AGENTS.md instructions
environment_context
skill payload
plugins payload
turn_aborted marker
注意事项
Codexx 不会对 Codex 的 session 文件做任何修改。它仅读取本地元数据,最终恢复操作完全交由官方 codex CLI 处理。
