Rabi 消息投递与排障
SkillCommunicationLets your agent find other agent chat sessions, check their settings, and fix why messages between them fail to arrive.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Rabi 消息投递与排障 skill
About this skill
Discover Agent sessions, verify bindings, deliver messages, and troubleshoot delivery failures via the official RabiRoute tool. Use when the user says things like "rabi can't deliver messages to workbuddy", "messages won't send", "delivery has no response", "send to another Agent", or "session not f
What this skill tells your AI
The instructions your AI receives, as published by vb2250158/rabiroute in skills/rabiroute-message-delivery/SKILL.md and read by ahel’s review.
先选正式入口
通用接口由 Manager 持有:Agent 会话操作使用 /api/agent/threads,消息端发送使用 /api/agent/send,健康与业务状态使用当前 Manager 受管 GET。先读取 接口合同。宿主提供正式工具时优先使用,工具名和参数映射由宿主适配技能说明;不要求所有 Agent 都安装 DSH 插件。
普通子 Agent 工具不能代替受管的跨宿主会话投递。缺少工具时使用该宿主已支持的正式 Manager 传输;没有合法入口则报告具体缺失,不猜测工具名、不绕过权限、不换宿主或另建任务。
排障顺序
- 先区分用户要“检查为什么失败”还是“发送这段消息”。排障授权不等于发送测试消息、修改绑定、创建会话或重启宿主的授权。
- 通过当前 Host 动态发现 Manager,并使用受管入口的
GET /meta核对。不得抄用技能、旧对话或日志里的历史端口;不得用近期记忆读取充当健康探针。 - 先读当前工具说明与 Manager 接口合同;调用
/api/agent/help后检查contractLevel与coverage.missing,发送还要读取/api/agent/send/capabilities。baseline不是精确 schema,缺失字段必须读取专用 contractResource;再通过/api/agent/threads的只读操作查询目标宿主、会话、绑定和可投递状态。工具参数以当前合同为准,不编造操作名或 JSON 字段。 - 使用完整目标会话 ID 定位;标题、工作目录和时间只能辅助核对。明确区分“直接投递给指定 Agent 会话”和“外部消息按 Route 绑定转发”,不能仅凭 Route 未绑定就断定所有投递方式都失败。
- 根据正式返回区分:Manager 不可达、适配器不支持、目标不存在、绑定缺失、会话不可投递、鉴权失败、投递被拒、结果未知。只读查询成功不能证明消息已经送达。
- 正式返回仍不能解释问题时,才定位对应实现、配置或日志。先确认实际运行版本和源码位置,只检查与错误相关的路径;本地文件不代替 Manager 权威状态,不直接修改业务 JSON。
- WorkBuddy 的 Hook 正常不代表消息通道正常;会话存在也不代表可投递。以 Manager 当前返回的存活、心跳、端点与会话类型等状态为证据,不凭旧截图推断。
帮助响应中的 catalogDigest 与 channelsDigest 只用于比较完整目录或渠道描述是否变化;筛选响应的 catalogDigest 仍属于完整目录。摘要相同不代表权限、Agent 启停、对象状态或 Manager 身份不变,也不能把 baseline 升格为 verified。切代或合同错误后仍重新发现并核验 /meta,不凭摘要省略回执读回。
正式投递与回复
- 发送前确认目标及正文属于用户请求;目标有歧义时等待用户明确,不猜选、不新建替代会话。
- Agent 间投递填写完整来源会话 ID、来源 Agent 类型及
responsePolicy;要求回复时填写responseInstruction。来源不能取目标 ID 或由标题猜测。 - 插件向 Manager 只传
messageSource,来源会话必须与sourceThreadId一致;遵守当前接口对来源字段的定义。 - 正式回复填写
inReplyToRequestId、result和nextAction,关联原请求;最终聊天文字不算正式回复已投递。 - 存储写入前读取现行接口合同,使用稳定
Idempotency-Key和适用的强 ETagIf-Match;校验 HTTP 状态、回显键、ETag、资源身份及uncertain。 - 超时、503、写后切代或结果不确定:保留原键和正文,先权威读回,不自动重发。412:重新读取并确认原意,再用新键与新 ETag。
- 分开报告“Manager 已接受”“目标已收到”“目标已完成回复”。消息端发送必须取得 Manager 与渠道回执;没有对应证据不宣称该阶段成功。
触发示例与范围
- “就是 rabi 没法投递消息到 workbuddy 的问题” → 本技能;先健康核对与只读会话检查,不先搜源码、不先发测试消息。
- “让 Rabi 把这段话发给 DSH 的指定会话” → 本技能;核对目标和来源后走正式投递工具。
- “向 QQ 群发送这段话” → 本技能选择消息端入口,并按 QQ 专项技能核对收件目标。
- “给 Rabi 新增一种 Agent 宿主” → Agent 适配器接入技能,不把未实现能力当普通绑定问题。
- “当前 Codex 使用某个人格” →
use-rabi-codex-context,不属于跨会话消息投递。
验收边界
技能被发现、可加载、描述覆盖请求,只能证明入口已就位;不能证明模型每次都会命中,也不能证明真实投递已修复。真实投递验收需要明确的目标、获授权的正文及正式回执。技能检查不启动该验收。
Signals
- GitHub stars
- 502
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
rabiroute-message-delivery- Source
- github.com/vb2250158/rabiroute