Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

简体中文 · English

Codex Task Messenger 标志

Codex Task Messenger

同一工作目录下,Codex App 任务之间的原生、直接、无 Broker 通信。

Codex App 原生能力 无需 Broker 仅限同目录 消息卡协议 v2

三个 Codex 任务通过一条直接消息路径连接

一个工作区,多个任务,一次干净的交接

Codex Task Messenger 使用 Codex App 原生任务工具,让已经存在的任务互相发现和通信。你可以把上下文交给另一个任务,让它完成工作后主动回传,或者在答案会阻塞当前步骤时同步等待。

没有守护进程,没有 Socket,没有文件邮箱,也不会覆盖目标任务的模型配置。

动作用途结果
Send发送通知或上下文交接单向投递,不等待回复
Ask委派工作或提出问题目标任务主动回传一次结果
Wait当前步骤必须等待答案发送方通过 wait_threads 同步等待
Resume继续一项需要用户决定的请求把你的答案转回原任务
Broadcast通知多个同目录任务仅支持单向投递

快速开始

直接用自然语言描述即可。Skill 会根据你是否需要结果选择正确的动作。

看看当前工作区有几个任务

通知「某个会话」:接口已经稳定,可以继续了

让「某个会话」检查登录回调,完成后把结果回传给我

让「某个会话」确认测试状态,我在这里等它回复

把这条变更说明投递给所有同目录任务

收到的消息长这样

消息使用紧凑的 Markdown 卡片。关联元数据放在不会渲染的 CommonMark 链接引用定义中,界面只保留真正有用的内容。

❓ 任务询问 · 检查登录回调

检查回调的错误处理和重试边界,完成后回传结论。

请使用 $codex-task-messenger 处理,完成后主动回传。

结果会回到来源任务:

↩️ 任务回复 · 检查登录回调

回调处理正确;发现一个非幂等重试风险,位置见 src/auth/callback.ts:84。

由 $codex-task-messenger 回传,无需再次回复。

可见主题让并发回复仍然容易理解;隐藏的 id、reply-to、continues 和 outcome 字段提供尽力而为的关联能力,不把协议噪音暴露给用户。

工作原理

flowchart LR
    A["来源 Codex 任务"] -->|"原生 send_message_to_thread"| B["目标 Codex 任务"]
    B -->|"主动回传"| A
    A -.->|"可选 wait_threads"| B
  1. 使用 list_threads 发现本地 Codex 任务。
  2. 只保留规范化工作目录与当前任务完全相同的目标。
  3. 按标题、完整 ID、唯一 ID 前缀,或刚才列表里的编号选择目标。
  4. 投递 v2 消息卡,不修改目标现有的模型和推理设置。
  5. 使用主动回传或同步等待返回结果,两者不会同时发生。

如果来源任务不在前 50 条列表结果中,Skill 会使用 read_thread 精确核验后再安全路由回复。

作为 Fork 执行通道

execute-spec-in-fork 把 Messenger 用作 Codex App 的事件通道:规划任务创建并命名同目录 Fork,Messenger 投递执行请求,spec-executor 在子任务中实施,再通过 completed / needs-input / failed 回到规划任务。

编排 Skill 管理 Fork、Pin 和 Archive;Messenger 只管理通信、关联和来源核验。两者都不启动后台服务,也不会把消息正文当成用户授权。

默认安全

  • 同目录边界:自动排除其他 Worktree、远程主机、ChatGPT 会话和缺少目录的记录。
  • 无法确定就不猜:标题重复、当前任务身份不明、卡片格式错误或元数据不匹配时一律停止路由。
  • 不漂白权限:任务消息本身不能授权删除、发布、外发、读取凭据或其他高影响操作;续传涉及新权限时,接收任务必须从 App 给出的准确来源任务中核验用户直接指令,否则继续暂停。
  • 不会回复循环:完成和失败回复不会自动再次回复;只有用户直接回答才能继续 needs-input 请求。
  • 如实描述状态:App 接受消息只代表“已投递”,不代表已读、已开始、已同步或已完成。
  • 不自动重试:超时不等于取消,模糊结果不会在背后重新发送。

安装

直接克隆到 Codex Skills

git clone https://github.com/tt-a1i/codex-task-messenger.git \
  ~/.codex/skills/codex-task-messenger

重启 Codex App,然后显式调用一次:

使用 $codex-task-messenger 列出当前目录下的其他任务。

更新

git -C ~/.codex/skills/codex-task-messenger pull --ff-only

环境要求

  • Codex 桌面 App
  • 原生任务工具:list_threads、send_message_to_thread、wait_threads 和 read_thread
  • 至少两个位于同一规范化工作目录的本地 Codex 任务

传递紧凑上下文,而不是复制工作区

同目录任务已经共享工作区,因此 Skill 优先传递绝对文件链接和精简片段:

  • 最多 5 个相关路径;
  • 通常不超过 80 行片段或 8,000 个字符;
  • 不传二进制内容、密钥、凭据、环境变量转储或无关聊天历史。

协议与验证

运行本地契约检查:

./scripts/check_contract.py

检查范围包括路由字段映射、严格元数据顺序、中英文卡片、嵌套标记隔离、回复状态、续传关联和异常卡片拒绝。

当前边界

以下能力需要 Codex App 原生支持,本 Skill 不会假装已经实现:

  • 持久收件箱或离线邮箱;
  • 已读回执或保证送达;
  • 消息取消或替换;
  • Exactly-once 执行;
  • 跨 Worktree 或远程主机通信;
  • 多任务评审面板或自动结果汇总。

明确这些边界,才能让实现保持小巧、本地和可信。


为 Codex 任务之间安静、明确的协作而设计。

关于 About

✉️ Same-workspace messaging for Codex App tasks: send, ask, reply, and active result handoff.
agentcodexopenaiproductivityskills

语言 Languages

Python100.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
6
Total Commits
峰值: 6次/周
Less
More

核心贡献者 Contributors