--resume与--fresh详解:codex-plugin-cc的续接任务与新开会话
【免费下载链接】codex-plugin-ccUse Codex from Claude Code to review code or delegate tasks.项目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc
codex-plugin-cc 是一个让 Claude Code 直接调用 Codex 的插件,用于代码审查或把任务委派给 Codex。本文详解它的/codex:rescue命令中两个关键参数:--resume(续接上一个 Codex 任务)与--fresh(强制新开会话),帮你快速搞懂"接着上次干"还是"从头再来"。
🔁 --resume:一键续接任务
当你希望 Codex 基于上一轮的调查结论继续干活时,加上--resume即可:
/codex:rescue --resume apply the top fix from the last run它的背后逻辑很简单,也很严谨:
- 自动定位上一次的线程:插件会在工作区里查找当前会话最近一次已完成的
task类型任务(源码中的resolveLatestTrackedTaskThread),拿到对应的 threadId 后通过 app server 的thread/resume接口恢复对话。 - 拒绝在任务运行时续接:如果上一次任务还在
queued/running状态,插件会直接报错并提示你先运行/codex:status查看进度,避免两个线程互相打架。 - 可以不带指令:
--resume单独使用时,会自动补上默认续接提示词——"从当前线程状态继续,挑选价值最高的下一步并跟进直到任务完成"(DEFAULT_CONTINUE_PROMPT常量,定义在 plugins/codex/scripts/lib/codex.mjs)。
相关实现散落在这些文件里,方便你想深入时查阅:
- plugins/codex/scripts/codex-companion.mjs:
task子命令的参数解析与续接线程解析 - plugins/codex/scripts/lib/app-server-protocol.d.ts:
thread/resume协议定义
🆕 --fresh:果断开新会话
换话题、想清理旧上下文干扰时,用--fresh强制开启一条全新的 Codex 线程:
/codex:rescue --fresh investigate the flaky integration test新线程会被命名为Codex Companion Task前缀的持久任务线程(TASK_THREAD_PREFIX常量),后续可以再次被--resume续接。
⚠️注意:
--resume与--fresh互斥,同时传入会直接报错Choose either --resume/--resume-last or --fresh.
💡 两个参数都不写:智能询问模式
这是新手最容易忽略的细节——什么都不加时,插件会"猜"你的意图:
- 插件先运行
task-resume-candidate检查是否存在可续接的任务线程; - 如果存在,它只询问一次,给出两个选项:
Continue current Codex thread与Start a new Codex thread; - 如果你说的是 "continue"、"keep going"、"apply the top fix"、"dig deeper" 这类明显的跟进指令,续接项会排在前面并标注 Recommended;
- 否则新开会话项排前面;
- 如果不存在可续接的线程,则不打扰你,直接正常执行。
这套交互规则完整定义在 plugins/codex/commands/rescue.md 中,是命令层(slash command)与执行层(companion 脚本)之间约定的"状态机"。
🚀 典型组合工作流
一次"调查 → 修复 → 复查"的完整链路只需四步:
/codex:rescue investigate why the tests started failing /codex:rescue --resume apply the top fix from the last run /codex:status /codex:result| 场景 | 推荐用法 |
|---|---|
| 接着上次调查深挖 | /codex:rescue --resume dig deeper |
| 应用上轮给出的修复建议 | /codex:rescue --resume apply the top fix from the last run |
| 全新问题,避免旧上下文干扰 | /codex:rescue --fresh <新任务描述> |
| 不确定,交给插件判断 | /codex:rescue <任务描述> |
❓ 高频疑问
Q:--resume找不到历史任务会怎样?A:报错No previous Codex task thread was found for this repository.,改回不带参数的默认模式即可。
Q:审查命令也支持这两个参数吗?A:不支持。--resume/--fresh只作用于/codex:rescue;/codex:review与/codex:adversarial-review都是"一次性只读审查",每次独立运行。
Q:可以在 Codex 里接着干吗?A:可以。任务结束后/codex:result会输出 Codex 会话 ID,你直接在终端运行codex resume <session-id>就能在 Codex 的 App 或 TUI 里继续同一段对话。
小结
记住一句话就够了:--resume是"接着上次说",--fresh是"翻篇重来",都不写则让插件按你的措辞聪明地选。配合/codex:status与/codex:result,你就能在 Claude Code 与 Codex 之间无缝接力,把长任务拆成多轮可恢复的步骤推进。
【免费下载链接】codex-plugin-ccUse Codex from Claude Code to review code or delegate tasks.项目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考