RELAY ARCHITECTURE / CLAUDE CODE · CODEX · CURSOR

从 Claude Code 切到 Codex / Cursor:跨 Agent 对话接力实战流程

遇到限流或想换用另一款编程助手处理测试、重构与收尾时,手工复制半截聊天记录往往漏掉报错栈与否决过的方案。本页拆解 Senrelay(续境,GitHub 仓库 qingsongcui/ContextCore)如何用短简介选号、分页原文压缩与待命保护(must_not_execute)衔接六大核心宿主。

核对日期:2026-11-15 适用范围:六大核心宿主(macOS Apple Silicon) 免费开源:$0 · MIT License · 免登录
接力过程的三道保险

先列短简介,不一次爆窗/contextcore 先列出简短编号、时间、工作区与摘要,只在选定目标会话后再拉取全文。

按完整原文分页压缩新宿主通过 read_conversation_messages 分页读完真实用户指令与助手回复并原地压缩,不靠提前生成的粗糙摘要凑数。

只报序号默认待命如果回复只有编号、没有额外执行要求,新助手触发 must_not_execute=true:汇总进度与阻塞后停住,等确认再改代码。

01 · SIX-STEP RELAY PROTOCOL

六步接力协议:一条旧对话如何在新宿主里无缝续上

当 Claude Code 排查到一半遇到配额限制、或者你想换到 Codex CLI / Cursor / OpenCode 继续改源码时,无需打开浏览器手工导出 Markdown。只要本机常驻服务运行在 127.0.0.1:8420 且双端均已接入 http://127.0.0.1:8420/mcp/(键名 contextcore,配置路径见15 宿主配置路径指南),接力按以下六步执行:

  1. 在原宿主正常对话:Senrelay 对六大核心宿主(Claude Code、Codex、Cursor、Antigravity、OMP、OpenCode)采集本地对话轨迹,并由伴生工具实时推进 working_tasks 与带原话出处的项目记忆。
  2. 在新宿主触发接力:打开 Codex CLI、Cursor 或 OMP,输入 /contextcore,或直接说「继续刚才的对话 / 接力」。
  3. 短简介选号认会话:新助手调用 list_relay_conversations 返回编号列表,展示项目目录、所属 Git Worktree 分支、时间与短简介。
  4. 分页读完完整原文并压缩:选定会话编号后,工具按固定分片顺序调用 read_conversation_messages,读尽多轮需求澄清、失败排查与工具结果边界,直接由当前模型消化压缩。
  5. Worktree 与路径消歧:若同一个仓库开启了多个 git worktree 并行开发,索引按实际 worktree 根路径分开归档,避免把分支 A 的上下文误塞进分支 B。
  6. 受控交接进入下一步:新助手结合当前目录差异、working_tasks 状态与前置约束(如 AGENTS.md 规则),按你的回复模式决定“汇报待命”或“立刻继续执行”。
02 · STAND-BY VS EXECUTION

两种回复模式:为什么只发数字不会乱改文件

很多人不敢用跨工具上下文接力的顾虑在于:“新模型读完记录直接动手改错方向怎么办?”Senrelay 的伴生指令对回复意图做了严格区分:

模式 A · 仅输入序号(must_not_execute=true)

当你只回复 1 或 #2 时,relay_conversation 会附上 must_not_execute=true 约束。新助手读完全文与当前工作区差异后,只汇报“目前改到哪一步、刚试错失败的路径、当前待确认风险”,随后停在输入栏等待拍板,绝不擅自写入文件或执行命令。

模式 B · 编号 + 明确下一步指令

当你明确输入 接 1 号会话,直接把失败的单测修通并运行检查 时,新助手在加载全文与工作任务后立即沿着既有约束继续修改文件与验证。

终端交互示例

# Step 1 · 在 Codex CLI 或 Cursor 对话框唤醒列表
你:/contextcore

# Codex 返回简短候选列表(仅占极少 Token)
[1] Claude Code · 14 分钟前 · ~/work/payment-service (worktree: fix-webhook)
    排查 Stripe webhook 幂等键竞态,单元测试尚余 1 个超时用例
[2] Cursor · 2 小时前 · ~/work/payment-service (worktree: main)
    整理计费对账表索引迁移 SQL

# Step 2A · 只回复编号 → 读取全文后汇报现状并待命,不动工作区文件
你:1

# Step 2B · 也可直接附带指令 → 载入全文后继续执行目标任务
你:1,请先运行 pytest -k webhook 看最新报错再提出修改计划
03 · COMPLEMENTARY LAYERS

不重复造轮子:AGENTS.md、MCP 与会话接力怎么配合

Senrelay 并不取代仓库里的静态规范文件,也不充当第三方托管云服务;它补齐的是团队约定与工具协议之间“正在进行中的工作台现场”:

表 1 · 三层上下文协作分工(不重叠、不互相覆盖)
工程层次 典型载体 生命周期 实际解决的问题
第一层 · 静态仓库规范 Git 仓库内 AGENTS.md / CLAUDE.md 随代码库永久演进 规定构建命令、目录约定、红线禁忌与测试要求(跨 Windows/macOS/Linux 原生有效)。
第二层 · 工具与记忆协议 MCP 服务器(contextcore 键名) 跨对话长期按需读写 把当前进行中的 working_tasks、带来源的教训记忆和受保护规则暴露给不同客户端。
第三层 · 实时跨端接力 Senrelay /contextcore 分页全文协议 单次切换几分钟到数小时 在 Mac 本机把原助手的报错输出、排查经过与否决方案分页移交给另一款助手。

如果你想评估自己是否更适合先用 AGENTS.md 或云端记忆 MCP,可先读 5 种方案对比;如果你在 Windows 或 Linux 下开发,请不要安装 Senrelay,直接在当前助手收尾时让模型生成一份简明 HANDOFF.md 提交到临时分支即可。

04 · SCOPE, INSTALL & ATTRIBUTION

适用限制、安装指引与名称消歧(2026-11-15 核对)

何时不应期待接力生效

$0 MIT 开源(v1.0.0-beta.2),仅运行在 macOS 14.0+ Apple Silicon(arm64)单机回环服务上。不支持 Windows、Linux 与 Intel Mac;无云同步;9 类扩展配置宿主(Claude Desktop、Gemini CLI、OpenClaw 等)不采集对话,因此无法参与接力。

仓库与同名项目消歧 + 安装步骤

Senrelay(续境)对应的官方仓库是 qingsongcui/ContextCore,请与第三方项目 context-core.dev 及无关的 PyPI 包 contextcore 区分。安装请执行 brew install --cask qingsongcui/tap/senrelay(手动解压后运行 xattr -cr /Applications/Senrelay.app)。由 Qingsong Cui(George O'Nair)(X @George_ONair)维护,详情见运行指南。

05 · WORKFLOW FAQ

跨 Agent 接力常见问题

为什么接力要分页读原始对话,而不是预先生成一段“AI 摘要”?

预先压缩往往丢失具体的报错行号、已经验证过不通的方案和工具调用结果。通过 read_conversation_messages 分页按原文顺序加载再由接盘助手当场理解,可以把细节损耗降到最低,同时靠短简介先列表避免无谓浪费上下文窗口。

同一项目开着两个 git worktree,接力会不会把分支搞混?

不会。会话索引按各自独立的 Worktree 路径与分支信息区分归档,列表短简介和接力工具会明确显示路径归属,不会将分支 A 的修改记录混入分支 B。

只接力对话,不连接配置管理器和记忆台账可以吗?

可以按需独立开启权限:读取会话、改写宿主配置与下载可选本地模型各自确认、互不捆绑。不过开启 working_tasks 与项目记忆能帮助接盘模型更快认清尚未完成的目标与前置规则。

Windows 或 Linux 用户如何做跨助手交接?

Senrelay 当前仅支持 Apple Silicon macOS($0 MIT 开源),暂不支持 Windows 与 Linux。跨平台工作流建议将核心约定写入仓库根目录 AGENTS.md,在切换客户端前让原助手整理一份简明 HANDOFF.md,或参考我们的5 种方案对比。