前言¶
Herdr 是一个用于 AI 编码代理的终端工作区管理器。它仅能识别内置检测器(如 opencode、claude、codex 等)发现的代理。由于 dsh/cc-tui 不在 Herdr 的默认列表中,使用 dsh 的面板在 Herdr 中会显示为普通的终端进程,无法显示状态、面板跳转或支持 --wait 参数。
dsh-herdr-site 插件通过 Herdr 的 custom-integration 协议,将 dsh agent 的状态上报给 Herdr,从而解决上述问题。
插件简介¶
该插件由 WuJiaoJue 维护,采用 MIT 许可证。它主要解决 DSH 面板在 Herdr 中“失联”的问题,通过协议对接让 Herdr 能够感知代理的真实运行情况。
核心功能¶
- 状态报告:将 dsh agent 的状态转换为 Herdr 可识别的状态。
- 状态映射:
agent/status = running(正在运行一轮对话) ->workingagent/status = idle(没有活跃驱动) ->idleask_user_questionpending(模型等待输入) ->blocked
- 交互增强:支持 Herdr 的面板跳转和
--wait功能。 - 自定义消息:支持配置
blockMessage,在blocked状态时显示具体原因。
安装与启用¶
安装前请确保已安装 DeepSeek Harness (DSH) 并配置了 dsh-cc-tui 或 dsh-base profile。
使用官方安装命令(推荐,包含预构建包):
dsh plugin --profile cc-tui add dsh-herdr-site
也可以从 GitHub 安装:
dsh plugin --profile cc-tui add github:WuJiaoJue/dsh-herdr-site
安装完成后,插件会自动通过 dsh.bundle.patch 被添加到 profile 的 bundle 层栈中。
配置¶
插件支持通过 blockMessage 配置项,在代理处于 blocked 状态时显示提示信息。配置需写在 profile 的 cordis.patch.yml 中:
- id: herdr-site
config:
blockMessage: '模型等待你的回答'
兼容性与限制¶
- Herdr 版本:需要 Herdr v0.8.0 或更高版本,且需实现
pane report-agent/pane release-agent接口。 - DSH Profile:适用于
cc-tui和dsh-tuiprofile。 - Kernel 版本:严格限制为以下版本之一,不使用 caret 范围以避免版本冲突:
- 0.1.0-rc.6
- 0.1.1-rc.2
- 0.1.2-rc.1
- 0.2.0-rc.2
- dsh-tui 限制:
dsh-tuiprofile 不支持ask_user_question工具,因此在该 profile 下不会触发blocked状态,仅支持working和idle。 - 依赖说明:仅
schemastery为运行时依赖,其他为类型依赖。
总结¶
dsh-herdr-site 是连接 DSH 与 Herdr 的桥梁,它通过标准协议实现了状态的同步与交互功能的恢复。对于需要使用 Herdr 管理所有 AI 代理的开发者,这是一个必要的集成工具。
插件详情与源码:https://github.com/dsh-plugin-collection/dsh-herdr-site