create-rabiroute-agent-adapter
新增、改造或排障 RabiRoute Agent 端适配器时使用。覆盖 Runtime 所有权和启动独立性、会话找不到或串线、工具能力缺失、后端 agent adapter、独立 Agent Manager API、扫描/安装/登录/健康检查、RibiWebGUI 自动化配置、消息投递、诊断和验证;适用于…
Skill by vb2250158
Chalk Labs
Need help deploying create-rabiroute-agent-adapter?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vb2250158-create-rabiroute-agent-adapter
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, agent-building, api-integration, agent-orchestration
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/create-rabiroute-agent-adapter
What's inside
- Skill name
create-rabiroute-agent-adapter- Description
- 新增、改造或排障 RabiRoute Agent 端适配器时使用。覆盖 Runtime 所有权和启动独立性、会话找不到或串线、工具能力缺失、后端 agent adapter、独立 Agent Manager API、扫描/安装/登录/健康检查、RibiWebGUI 自动化配置、消息投递、诊断和验证;适用于 Codex runtime、Copilot CLI、Marvis、AstrBot、DSH、脚本、Webhook 或其他 Agent 处理端。
- License
- MIT
- Instructions
- 506 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: 506 lines (spec recommends under 500)
Files (5)
- SKILL.md
- openai.yaml · agents/
- host-onboarding-checklist.md · references/
- host-onboarding-checklist_en.md · references/
- owner-first-design-gate.md · references/
SKILL.md (first lines)
# 创建 RabiRoute Agent 端适配器
## 目标
新增 Agent 端时,不只接上一条 `deliver(message)`。必须让用户能在 WebGUI 里尽量自动完成配置:
1. 自动发现安装位置、运行状态、登录状态、插件状态、项目目录和会话。
2. 如果有项目概念,先选 Agent 路径或服务地址,再选项目目录,最后选会话。
3. 如果设置了项目目录,会话列表必须能显示项目归属并用于消歧。Codex Desktop 下拉显示全部任务,选择任务后自动采用其 cwd;其他 Agent 可按项目过滤。没有项目概念就隐藏项目目录。
4. 能扫描的不要让用户手填;必须提供刷新、安装、打开下载页、登录、部署/更新插件、健康检查等动作入口。
5. 添加 Agent 端后必须在 WebGUI 展示“环境和依赖”清单:安装状态、登录状态、插件/扩展、Endpoint、项目/会话发现、下载或文档入口、缺失项和下一步动作。
6. 运行态要能解释“为什么不可用”,不能只给一个空输入框或沉默失败。
所有带会话概念的 Agent 端还必须满足以下 P0 合同,缺一项都不能标记为 `verified`:
1. 已保存的完整任务 ID 存在且 owner 记录未归档时,直接投递到该任务,不创建新任务。owner 保存的默认 cwd、标题或 SQLite `title` 都不能否定有效 ID;本次执行目录由当前 Route 或计划绑定单独提供。保存 ID 指向已归档任务时,真实投递或保存提交点幂等创建新任务并持久化新 ID;不查找或复用其它同名任务。扫描、刷新和失焦仍只报告归档状态。
2. 目标不存在时,先按 RabiPC Manager 保存的明确名称 + workspace 查找;存在一个或多个匹配时按 `updatedAt` 降序绑定唯一最新任务,只有最新时间并列时才要求用户选择;零匹配才幂等创建一个会话,再把真实消息投给新会话,并发、重试和索引延迟期间仍只能创建一次。允许提供用户显式点击的“自动初始化会话”:它必须先完成同一保存/解析事务,再通过唯一 owner 投递一条携带角色文件、记忆、计划和必读项的角色初始化消息。
3. 真实消息必须通过 Agent 桌面应用实际使用的 owner 接口执行,保证桌面端统一可见并沿用同一任务的模型、工具、权限和状态;不得用第二 Runtime 冒充。
4. 用户在 Rabi 设置中选择已有会话或输入新名称后,点击保存必须完成解析/创建并持久化新的名称、完整 ID 和 workspace。
5. 完整任务 ID 是任务身份;workspace 是每次投递的执行目录,名称用于显示和无 ID 查找。Agent/Desktop 改名、默认 cwd 不同或首投后 `title` 自动变化时继续同一 ID;用户在 Rabi 端明确输入新名称时,UI 先清空旧 ID,再按新名称和 workspace 查找/创建并保存新 ID。
6. 项目和会话扫描只允许在进入设置界面时自动执行一次,或由用户点击扫描/刷新按钮显式触发;禁止定时轮询、展开面板、输入、`blur`、保存或普通状态刷新持续扫描。
Codex 目前的产品基线是 Desktop owner:RabiRoute 从 Codex Desktop 左侧栏共用的 `session_index.jsonl.thread_name` 读取用户可见 `Name`,再按完整 ID 合并本地状态提供的 cwd、归档、时间和 owner/rollout 状态,以“完整 ID + 工作目录”稳定绑定,并通过 Desktop IPC 把真实消息交给 Codex/ChatGPT Desktop 当前任务。SQLite `threads.title` 可能是首条 prompt,不得用于下拉名称或同名查找。Desktop 必须在线;任务无法加载就失败,禁止启动备用执行 Runtime。
AstrBot 这类服务型 Agent 必须显示服务健康、认证状态和可选会话。当前 AstrBot 合同只允许绑定明确的 ChatUI 会话并调用 `/api/chat/send`;没有 `ASTRBOT_SESSION_ID` 时失败,不再部署或回退到 `rabiroute_agent` 插件。
先读 `../../docs/agent-adapter-standard-requirements.md` 和 `../../docs/agent-adapter-integration-lessons.md`。前者定义标准 Agent 端应达到的能力与验收合同;后者记录 Desktop IPC 未唤醒 owner、隔离 app-server 不实时/缺桌面工具,以及共享 4510 导致 Desktop `ECONNREFUSED` 的历史。涉及 Codex/Desktop、会话绑定或工具注册时,还必须读 `../../docs/codex-desktop-agent-acceptance.md`,不能跳过。
新增任何带 Runtime、会话、桌面可见性或工具注入的 Agent 端时,还必须读 [owner-first-design-gate.md](references/owner-first-design-gate.md),并在实现前完成其中的设计门。不要等实现失败后才补所有权说明。
## 负一号关卡:冻结用户可观察合同
写探测、后端或 UI 前,先把需求改写成可验收事实:
- 消息必须出现在哪里,多久可见,谁能看到运行状态和结果。
- 哪个 task/session owner 必须执行真实消息。
- 模型、工具、权限和审批由谁注入。
- Agent、宿主和 RabiRoute 缺席时各自应如何启动、失败和退出。
- 新建、续投、重名、失效 ID、active turn 分别是什么行为。
- 哪些行为明确禁止,例如第二执行 Runtime、模糊换会话、持久化修改宿主启动配置。
把它写成“要求 / 真源 / 验收证据 / 禁止替代”表。用户未确认前,不得为了让错误消失而改变可观察合同。协议无法满足时保持 `experimental` 并报告缺口,不得私自增加 fallback。
历史反复修改暴露了六类设计异味,看到任一项就停止实现并回到设计门:
1. 用连接成功、记录可读或构建通过代替用户界面中的真实结果。
2. 把同一个 session ID 误当成同一个 live owner、实时事件流和工具集合。
3. 用 fallback 掩盖 owner 未加载、身份错误或协议不完整。
4. 为追求“一个 Runtime”而让宿主依赖 RabiRoute 的端口、环境变量或进程。
5. 把本机交互式 Desktop 与远端无人值守 Agent 当成同一生命周期。
6. 在一个大改动里同时迁移 Runtime、UI、配置、打包和文档,导致测试只验证实现自洽。
一个 adapter 只能有一条真实消息执行路径。发现必须靠第二条路径才能“可用”时,先判断产品要求是否其实包含两种不同 adapter;拆分产品边界,不做模式切换。
## 零号审查:所有权和启动独立性
写探测脚本或 UI 前,先列出:Agent、宿主、Runtime、Transport、Session、Tool 分别由谁拥有,谁启动、谁停止、故障会影响谁。没有这张清单就不实施。
硬性边界:
- 外部 Agent/服务拥有自己的生命周期;RabiRoute 只能探测或通过已验证接口连接。
- 如果要求消息实时出现在某个 UI 并使用该 UI 注入的工具,这个 UI 的任务 owner 必须执行真实轮次;恢复相同 session ID 的第二个 Runtime 不等价。
- Codex Desktop 是 transport 的 owner 和健康条件;RabiRoute 只连接 IPC,不启动/停止 Desktop,也不提供 fallback。
- Adapter 只有在“创建空任务、恢复用户名称”等不执行真实 prompt 的元数据操作中,才可短暂拥有隔离子进程;完成后立即回收,不能成为 fallback。
- 不得从普通 adapter 配置写用户级环境变量、注册表、桌面启动参数或固定 WebSocket 地址。
- 不得让 Agent/Desktop 的冷启动依赖 Manager、Gateway、托盘或某个固定 RabiRoute 端口。
- “一个 Runtime”指一个实际消息 owner,不是把 Desktop 强制连接到 RabiRoute 拥有的共享端口。
- 对 Codex/ChatGPT Desktop,`127.0.0.1:4510` 属于 Desktop 自己的生命周期。禁止写入进程、用户或机器级 `CODEX_APP_SERVER_WS_URL`,禁止让 RabiRoute 监听/接管 4510,禁止为了投递关闭或重启 Desktop。必须实测 RabiRoute 停止时 Desktop 仍可启动,避免再次出现 `connect ECONNREFUSED 127.0.0.1:4510`。
开始改代码前必须完成两个基线检查:
1. RabiRoute 全部停止时,目标 Agent/Desktop 能单独冷启动。
2. 目标 Agent/Desktop 全部停止时,RabiRoute Manager 能启动,并对该 adapter 给出可行动状态。
任一项失败,先修所有权,不继续增加回退模式。
## 统一 API Help 与敏捷兼容流程
Agent 适配器不得把 API、渠道或参数写死为长期真源。每次启动、Manager generation 变化、接口返回未知字段/错误,按以下顺序刷新:
1. 从 Host status 或结构化 READY 取得当前 Manager 地址,并用 `/meta` 核对 generation、instance 和健康边界。
2. 调用 `GET /api/agent/help`,按 `operationId` 或 `method + pathTemplate` 选择当前接口合同;发送渠道另调用 `GET /api/agent/send/capabilities`。
3. 只使用 help 返回的 path、query、body、response、errors、nextStep 和 capability;先检查 `contractLevel` 与 `coverage.missing`:`baseline` 不得当作精确 schema,缺失项必须回到 contractResource 或专用 capabilities;未知接口、渠道或字段 fail closed,不猜测、不自动换渠道。
4. 成功与失败都保存 HTTP 状态、JSON `code`、`errorCode`、`help`、`repair` 和 receipt/resource 标识。写请求超时、5xx、412 或 generation 变化时,保留原 body 和 delivery/idempotency key,先读回,不自动重放。
5. 新增接口或渠道时,先更新统一能力目录、help、真实路由声明、契约 fixture 和中英文导航;不得只改长文或 Agent skill。
`/api/lan-agent/capabilities` 应返回同一 operation help 摘要。Help 只描述当前 Manager 版本,不能缓存成永久合同;适配器应记录读取时的 generation 和 contract/schema 版本(若返回)。
## 统一能力模型
每个 Agent adapter 都要先声明自己支持哪些能力,再决定 UI 显示什么字段:
```ts
type AgentAdapterCapability = {
type: AgentAdapterType;
label: string;
maturity: "verified" | "experimental" | "stub";
requiresInstall: boolean;
requiresAuth: boolean;
hasAgentPath: boolean;
hasServiceEndpoint: boolean;
hasProject: boolean;
hasSession: boolean;
canListProjects: boolean;
canListSessions: boolean;
canFilterSessionsByProject: boolean;
canDeployPlugin: boolean;
canHealthCheck: boolean;
};
```
能力模型是产品合同,不只是类型定义:
- `verified`:本机或 CI 已验证扫描、配置、投递、失败诊断四条路径。
- `experimental`:代码存在,但没有完成端到端验证;WebGUI 必须显示“实验/未验证”提示。
- `stub`:只是占位或打开外部页面;不能默认启用,必须说明缺哪段能力。
- `hasProject=false` 时不要显示项目目录。
- `hasSession=false` 时不要显示会话输入框,要显示“该 Agent 无可选会话”。
- `canListSessions=false` 时不要伪装成下拉框;用说明和后续任务替代。From vb2250158/RabiRoute, MIT.
More from vb2250158/RabiRoute
- 0.813score
rabi-desktop-pet-animation
vb2250158
Locate, inspect, design, repair, package, and activate Rabi or RabiRoute desktop-pet animations.
SkillAFreshness: A★ 492Claude Code +9 - 0.813score
rabi-github-submit
vb2250158
Prepares, reviews, commits, and publishes RabiRoute changes with a mandatory per-commit patch-version bump, bilingual version log, Rabi context, privacy…
SkillAFreshness: A★ 492Claude Code +9 - 0.809score
napcat-qq-gateway
vb2250158
查询 QQ 群聊、私聊、聊天记录或最新反馈,以及配置、排障 NapCatQQ / OneBot11 消息收发。用户说“看看群”“看群聊记录”时也使用;Rabi 管理的消息先经 Rabi 查询,无法完成查询时才使用当前 NapCat 或正式日志补查。
SkillAFreshness: A★ 492Claude Code +9 - 0.809score
create-rabiroute-persona
vb2250158
创建或修改通用 RabiRoute 角色配置。用于根据用户指定的角色和材料忠实写成 persona.md 和 personaConfig.json,尤其适用于用户希望“就是那个角色”、要求按文本、图片、对白、音频、设定集、网页等材料一比一还原,或希望角色从指定时间点分叉到平行世界继续生活的场景;也适用于现实职业、陪伴…
SkillAFreshness: A★ 492Claude Code +9 - 0.807score
use-rabi-codex-context
vb2250158
Bind, inspect, refresh, switch, or remove Rabi PC-managed persona context for one Codex session and understand its entry, reasoning, and message-delivery…
SkillAFreshness: A★ 492Claude Code +9 - 0.807score
plan-task-orchestration
vb2250158
Use before any repository task governed by RabiRoute plan admission, including bug fixes, features, UI, assets, config, data, docs, prompts, skills, builds…
SkillAFreshness: A★ 492Claude Code +9 - 0.807score
tts-router
vb2250158
Route local text-to-speech through RabiSpeech across ONNX-VITS, GPT-SoVITS, IndexTTS2, Qwen3-TTS and CosyVoice3.
SkillAFreshness: A★ 492Claude Code +9 - 0.807score
character-tts-dialogue
vb2250158
Write, return, validate, or troubleshoot character-faithful spoken replies for RabiRoute's current RabiSpeech workflow.
SkillAFreshness: A★ 492Claude Code +9 - 0.803score
indextts2-audio
vb2250158
通过 RabiSpeech 的本地 IndexTTS2 模型生成中文或音色复刻语音。用户指定 IndexTTS2、中文参考音频、情绪/风格指令、角色声线或本地 WAV 验证时使用。不得直接运行技能内 worker、启动 OumuQ 或调用云端 API。
SkillAFreshness: A★ 492Claude Code +9 - 0.803score
rabiroute-message-delivery
vb2250158
通过 RabiRoute 正式工具发现 Agent 会话、核对绑定、投递消息和排查投递失败。用于用户说“rabi 没法投递消息到 workbuddy”“消息发不过去”“投递没反应”“发给另一个 Agent”“会话找不到”,以及 Rabi 向 WorkBuddy、CodeBuddy、DSH、Codex 或其他…
SkillAFreshness: A★ 492Claude Code +9 - 0.803score
rabiroute-voice-workstation
vb2250158
设计、实现或审查 RabiPC 语音消息端与 RabiSpeech TTS/ASR 工作站。覆盖常驻麦克风、RMS/VAD 切句、Route 热投递/角色关键词唤醒、双向语音上下文、直接角色 TTS、24 小时音频缓存、显式 API Provider、会议说话人分离、主机级 FIFO 和公开安全边界。不得恢复对…
SkillAFreshness: A★ 492Claude Code +9 - 0.803score
benchmark-rabispeech-models
vb2250158
运行或更新 RabiSpeech 本机语音模型闭环基准。用于新增、替换或比较本地 TTS / ASR 模型,测试首请求、加载、预热、热态耗时、RTF、显存、波形和 CER,并从统一公开语料生成 JSON、CSV 及 RibiWebGUI 内可查看的 HTML 报告;也用于维护 TTS / ASR…
SkillAFreshness: A★ 492Claude Code +9
Signals
- Stars
- 492
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 20, 2026 (10 days ago)
- Last release
- Jul 31, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/vb2250158/RabiRoute
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vb2250158
- 0.813score
rabi-github-submit
vb2250158
Prepares, reviews, commits, and publishes RabiRoute changes with a mandatory per-commit patch-version bump, bilingual version log, Rabi context, privacy…
SkillAFreshness: A★ 492Claude Code +9 - 0.813score
rabi-desktop-pet-animation
vb2250158
Locate, inspect, design, repair, package, and activate Rabi or RabiRoute desktop-pet animations.
SkillAFreshness: A★ 492Claude Code +9 - 0.809score
napcat-qq-gateway
vb2250158
查询 QQ 群聊、私聊、聊天记录或最新反馈,以及配置、排障 NapCatQQ / OneBot11 消息收发。用户说“看看群”“看群聊记录”时也使用;Rabi 管理的消息先经 Rabi 查询,无法完成查询时才使用当前 NapCat 或正式日志补查。
SkillAFreshness: A★ 492Claude Code +9 - 0.809score
create-rabiroute-persona
vb2250158
创建或修改通用 RabiRoute 角色配置。用于根据用户指定的角色和材料忠实写成 persona.md 和 personaConfig.json,尤其适用于用户希望“就是那个角色”、要求按文本、图片、对白、音频、设定集、网页等材料一比一还原,或希望角色从指定时间点分叉到平行世界继续生活的场景;也适用于现实职业、陪伴…
SkillAFreshness: A★ 492Claude Code +9 - 0.807score
use-rabi-codex-context
vb2250158
Bind, inspect, refresh, switch, or remove Rabi PC-managed persona context for one Codex session and understand its entry, reasoning, and message-delivery…
SkillAFreshness: A★ 492Claude Code +9 - 0.807score
tts-router
vb2250158
Route local text-to-speech through RabiSpeech across ONNX-VITS, GPT-SoVITS, IndexTTS2, Qwen3-TTS and CosyVoice3.
SkillAFreshness: A★ 492Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get create-rabiroute-agent-adapter running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
create-rabiroute-agent-adapter skill. Agent Mart. https://agentmart.dev/skills/vb2250158-create-rabiroute-agent-adapter (last updated 2026-10-24)