前言¶
DeepSeek Harness(DSH)负责本地 Agent 会话、工具权限和运行上下文;RabiRoute 侧则持有人格、计划、记忆和渠道投递等业务状态。若两套系统各跑各的,开发者往往要在 Codex 客户端和 DSH 之间来回切换,或在 DSH 里手写 HTTP 去调 Manager,很难把「当前会话正在跟进哪条计划」稳定地写进模型上下文。
下面介绍社区插件 dsh-rabiroute-agent(维护者 vb2250158,当前包版本 0.13.40,MIT 许可证)。它在不另启 Runtime、不改投 Codex 的前提下,把 DSH 会话接到 RabiRoute 的受管任务、消息、计划和记忆接口;业务合同与 Codex 对齐,会话与工具仍由 DSH 持有。
这是什么¶
dsh-rabiroute-agent 是开源 DSH 插件,分类为工作流。README 中的定位是:把 DSH 会话接入 RabiRoute 的受管任务、消息、计划和记忆接口;业务真源仍在 Rabi,插件负责 DSH 侧的连接、工具注册、界面插槽与模型上下文装配。
运行要求:本 release 需要 DSH 0.2.1-alpha.1 或兼容的 0.2 系列(详见仓库内 docs/dsh-0.2-compatibility.md)。
- 目录页:SkillHub - dsh-rabiroute-agent(社区目录,与 DeepSeek / 幻方无官方从属关系)
- 源码与文档:github.com/vb2250158/dsh-rabiroute-agent
核心功能¶
以下能力均来自 README 与 package 说明,按使用路径归纳。
Rabi 工具与连接¶
插件向 DSH 注册三类工具(0.13.22 起不维护 Manager API 白名单,Rabi 当前与未来接口均可经 Manager 工具调用):
rabiroute_agent_threads:查找、读取、创建、续投 Agent 线程及正式回复等。rabiroute_agent_send:向渠道或其他人格外发消息,保留投递回执。rabiroute_manager_api:通用 Manager HTTP 调用,插件仍负责同源路径、Host 发现、身份核对与不自动重放。
rabiHost 服务提供 inspect(signal) 与 start(signal),用于读取本机 Host 状态或显式激活;发现逻辑使用配置 hostExecutable、环境变量 DSH_RABI_HOST_EXECUTABLE 或已缓存路径,不遍历磁盘。验证路径默认写在 $DSH_HOME/plugins/dsh-rabiroute-agent/host-location.json。
连接与降级策略(0.8.0):普通业务请求要求 /meta 满足 live、就绪及身份一致;精确 GET /meta 可在核心未就绪时仍用于诊断。managerBaseUrl 留空时经 Host status --json 动态发现;非空时为显式 Manager 的完整 HTTP(S) origin。
DSH 原生 Agent Hook¶
默认启用 agentHooksEnabled,监听会话入口、用户提交、工具执行前后与轮次结束。自动化规则在 RabiRoute「人格 → 自动化 → Agent Hook」中配置;不读取 Codex 配置,也不启动其它 Agent。Manager 返回的上下文注入、工具拒绝与「继续处理」由 DSH 执行,每轮继续处理最多一次。
DSH 日志会写入 plugin:dsh-rabiroute-agent/hook-invoked 与 hook-result,供 dsh-hook-insights 0.2.0 起统计(不含原始正文或工具参数)。安装后需重启 DSH 并刷新页面,新轮次才会产生记录。
0.13.38 起支持断连时的上下文快照(需宿主调用 rabiAgentHooks.requireBinding 并选择 allowCachedContext)。快照默认存于 $DSH_HOME/plugins/dsh-rabiroute-agent/hook-context-cache.json,含私人上下文,不应纳入 Git 或共享配置。
计划、侧栏与会话展示¶
- 计划上下文(0.9.5):用户消息进入模型时,经官方
systemPrompt.context附带绑定计划的摘要(标题、状态、步骤、进度及rabiroute_manager_api详情参数)。planContextEnabled默认 true。 - 工作区 Rabi 计划弹窗:工作区与路由人格匹配时,标题右侧显示 Rabi 按钮;列表依赖
POST /api/roles/:roleId/plans/query与宿主侧栏插槽。弹窗内还提供「检查推进」与「推进设置」(规则按人格工作区保存,自动推进默认关闭)。 - 会话计划状态标签(0.13.18):分组/平铺/搜索列表中,会话文字左侧常驻计划状态标签;多计划绑定时显示「多个计划」。宿主需安装包内会话行扩展补丁。
- 计划材料归档(0.10.0):截图与文件可自动归入绑定计划,详见仓库
PLAN-RESOURCES.md。
会话模式¶
- Rabi助手模式:安装后自动注册
rabi-assistant,会话菜单可选;开放上述 Rabi 工具,并保留官方web_search、web_fetch;装配 DSH 官方压缩与工具结果裁剪。 - 消息处理模式(
message-processing):仅向模型提供 Rabi 三类工具,通过tools.guard拒绝 Shell、文件、子 Agent 等非 Rabi 工具;适合以「收消息、投渠道、跟计划与任务」为主的会话。新会话在模式菜单中选择;已有消息的会话不能切换模式。启用前需将包内presets/message-processing/两个 YAML 复制到 DSH Home 的.agent-presets/message-processing/,或把presets/追加到agent-presets.config.roots(存在同名预设时先核对,不覆盖用户配置)。
其它 UI 能力包括:可选 proactive-answer.message 提问回答卡片、TTS 经 POST /rabiroute/speech、非 DSH 来源的「定位到 Agent」交给 RabiRoute 唤起客户端窗口等。README 强调:源码测试、隔离连接验证不能代替正式环境安装后的 Hook 与真实业务投递验收。
安装与启用¶
通过 DSH「设置 → 我的插件」或官方入口,使用可获取的固定 Git 提交安装(将 <commit> 换为实际 commit):
pnpm dsh plugin --profile web add --save-exact github:vb2250158/dsh-rabiroute-agent#<commit>
说明这一步在做什么:在指定 profile(示例为 web)下以精确版本 pin 安装插件包;--save-exact 写入锁文件,便于后续核对真实加载版本。
安装后建议:
- 使用本机实际的 DSH Home 与 profile;包通过
dsh.bundle注册配置层,不改官方源码。 - 活动任务结束后经受管入口重载,并核对加载版本与工具 schema。
- 重启 DSH 并刷新页面(Hook 日志、TTS、部分 UI 依赖此步骤)。
若需消息处理模式,在插件安装完成后复制预设 YAML(见上一节),再为新会话选择「消息处理模式」。
典型用法¶
配置 Manager 与 Host¶
当前 profile 的 cordis.patch.yml 示例(来自 README):
- id: rabiroute-agent
config:
managerBaseUrl: ""
hostExecutable: ""
enforceAgentCommunication: true
requestTimeoutMs: 60000
managerBaseUrl留空:每项操作经 Host 发现当前 Manager 地址并核对/meta。hostExecutable:非 Windows 或非常规安装时,可显式指定 Host 可执行文件;留空时 Windows 可据LOCALAPPDATA推导。requestTimeoutMs:整项操作预算,默认 60000 毫秒(1–120 秒)。
机器专属值只保存在本机,不加入共享补丁。
经 Manager 工具更新计划¶
README 给出的 rabiroute_manager_api 调用形态示例(写入前须自行读取现行接口文档与 ETag,此例不是执行授权):
{
"method": "PATCH",
"path": "/api/roles/example-role/plans/example-plan",
"bodyJson": "{\"currentStep\":\"已按实际证据更新\"}",
"requestHeadersJson": "{\"If-Match\":\"\\\"revision-from-get\\\"\",\"Idempotency-Key\":\"stable-operation-id\"}"
}
最小真实验收路径:安装重载后,在会话内用正式工具执行 GET /meta 核对 Host 身份,再按需做业务读写;单独的配置检查不能证明 Hook 或渠道投递正常。
Hook 自动化¶
在 RabiRoute 管理端配置「Agent Hook」规则后,DSH 会在对应生命周期阶段调用 Manager;可用 dsh-hook-insights 查看 hook-invoked / hook-result 统计。继续处理与工具拒绝结果以 DSH 权限为准,失败或待核对状态不会自动重发写操作。
适用场景与注意¶
适合谁
- 已在用 RabiRoute 管理人格、计划、记忆与渠道,希望在 DSH 里用同一套业务合同做 Agent 开发与调试。
- 需要会话列表、侧栏或 system prompt 中可见的计划状态,而不是每次手动粘贴计划摘要。
- 需要「只走 Rabi API」的专用会话(消息处理模式)或带联网能力的 Rabi助手模式。
务必知晓
- 插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证,并理解工具可触达本机 Host、Manager 及 Rabi 授权范围内的业务接口。
- 业务数据与授权以 Rabi 为准;插件不自动重放失败写入,超时或身份变化会保留「不确定」状态。
hook-context-cache.json、host-location.json等为本机私有文件,勿提交到 Git 或共享配置仓库。- 跨机访问 DSH 时,内嵌 Rabi 计划 iframe 可能不可用(README 已说明 loopback 与 Electron
file://限制)。 - SkillHub 目录页为社区收录;安装命令与版本以 GitHub README 与固定 commit 为准,勿用未文档化的命令拼写。
结尾¶
dsh-rabiroute-agent 把 RabiRoute 的计划、任务、记忆与 Hook 自动化接到 DSH 会话层,同时保留 DSH 对工具与运行时的控制。若你的 workflow 已经 centered 在 Rabi 上,它提供的是一条可验收的桥接路径,而不是第二套 Agent Runtime。