我开源了一个 Codex Desktop ↔ Claude Desktop 双向调用工具

最近我同时在用 Codex Desktop 和 Claude Desktop 写代码,经常遇到一个很具体的问题:

Agent A 已经完成了技术方案和代码实现,我想让 Agent B 独立 review 一遍。但代码虽然在同一个项目里,方案取舍、产品规则和前面讨论过的 Context,仍然留在 Agent A 的对话中。

以前只能手动复制 Context、重新描述任务、创建另一个会话,再把 review 结果复制回来。

所以我做了一个开源工具:Desktop Agent Bridge(DAB)。

它能做什么?

DAB 目前支持两条双向流程:

text 复制代码
Codex Desktop
  → 新建 Claude Desktop session
  → Claude 独立 review
  → 结果返回原 Codex 对话

Claude Desktop
  → 新建 Codex Desktop task
  → Codex 独立 review
  → 结果返回原 Claude 对话

目标 Agent 创建的不是一个隐藏进程,而是原生 Desktop 应用中真实、可见、可以继续追问的新会话。

review 完成后,结果会自动回到 Agent A 的原始对话,不需要再手动复制粘贴。

怎么使用?

安装:

bash 复制代码
npm install -g desktop-agent-bridge
dab install

安装后重启 Codex Desktop 和 Claude Desktop。

在 Codex Desktop 当前项目对话里:

text 复制代码
$peer-review Ask Claude to review the current changes for correctness and regressions.

DAB 会在同一个项目下创建新的 Claude Desktop session,Claude 读取当前工作区和源会话 Context,完成只读 review,再把结论返回 Codex。

反方向,在 Claude Desktop 中:

text 复制代码
/peer-review Ask Codex to review the current changes against the intended design.

DAB 会创建一个新的、可持久化的 Codex Desktop task,完成 review 后把结论返回 Claude。

Context 是怎么传过去的?

DAB 不会假装"复制模型的隐藏状态"。它传递的是可审计的源会话历史,并让目标 Agent 重新读取当前工作区。

Claude Desktop → Codex Desktop

Claude 插件记录当前会话对应的 transcript JSONL。DAB 使用 Codex 的外部会话导入能力,把历史转换为新的原生 Codex task,然后带着 review 请求继续执行。

Codex Desktop → Claude Desktop

DAB 根据当前 Codex task 找到本地 rollout,提取用户消息、Assistant 回复和必要的工具活动说明,生成规范化 transcript。新的 Claude Desktop session 会读取这份 transcript 和当前仓库。

系统指令、隐藏推理、宿主元数据等不会被伪装成可迁移的 Context。

目前提供四种 Context 模式:

  • auto:能原生导入时使用原生导入,否则生成规范化完整 transcript;
  • full:始终生成规范化完整 transcript;
  • raw:传递原始 JSONL 路径和 SHA-256;
  • bounded:只传显式指定的 Context,适合敏感项目。

和已有的多 Agent 工具有何不同?

市面上已经有不少 Agent 协作方案,例如 Codex CLI 与 Claude Code 互调、终端中的多个 Agent 通信,以及由 IDE 统一托管多个 Agent session。

它们解决的是 CLI、终端或共享宿主里的协作。

DAB 只解决一个更窄的边界:

保留 Codex Desktop 和 Claude Desktop 两个官方应用,让原生 Desktop 会话能够双向创建、传递 Context,并把结果带回来。

它不是新的 IDE,不是共享聊天室,也不是通用多 Agent 调度平台。

Skill 可以扩展吗?

可以。DAB 把"工作流语义"和"Desktop 传输"分开:

text 复制代码
你的 Skill / Plugin
  → 决定什么时候调用、让 Agent B 做什么、结果格式是什么
  → dab handoff
  → 负责 Context、原生 session 创建、等待和结果返回

除了内置的 peer-review,还可以独立发布:

  • 安全审查;
  • 架构质疑;
  • 测试方案 review;
  • API 兼容性检查;
  • 其他只读工作流。

Skill 可以放在独立 GitHub 仓库、npm 包或用户级目录中,不需要写进业务项目源码。

当前限制

这个项目还处于早期阶段,目前有几个明确限制:

  • 只支持 macOS;
  • 需要 Node.js 20+;
  • 需要同时安装 Codex Desktop 和 Claude Desktop;
  • Claude 侧的目标项目需要已出现在 Code sidebar;
  • 部分能力依赖 macOS Accessibility 和 Desktop 当前暴露的本地能力,应用升级可能需要兼容适配;
  • Context 可能跨模型供应商传递,敏感项目应使用 bounded 模式。

项目 MIT 开源,欢迎试用:

github.com/WarrenJones...

我现在最想验证两个问题:

  1. 真实项目里的 Context 是否足够?
  2. 除了 code review,你最希望增加什么只读 workflow?
相关推荐
tellmewhoisi6 小时前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
weixin_307779136 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Sinokap6 小时前
OpenAI 披露 AI 安全实验:智能体如何突破隔离边界?
人工智能·安全
云和数据.ChenGuang7 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
重生之我在番茄自学网安拯救世界7 小时前
AI 开发者日报 第1期(本周精选)| 插件市场投毒、智能体搞出“官僚饥荒村”,十年前的 CNN 打赢大模型
人工智能·网络安全·大模型·ai编程·智能体
涛声依旧-底层原理研究所7 小时前
拆解 Cordis 底座:Agent 是如何被「组合」出来的
人工智能·架构
秦先生在广东8 小时前
记忆不再是黑盒
人工智能
秦先生在广东8 小时前
49个AI智能体接管你的游戏开发
人工智能
骑着蜗牛撵大象3278 小时前
2026 后端 AI 工程化:Spring AI 管调用、MCP 管工具、Agent 内嵌管自治
java·人工智能·后端·spring·ai·可观测性·mcp