dsh-dev-crew:按职责分派工作的子代理插件

前言

DeepSeek Harness (DSH) 的插件机制允许在宿主环境之外扩展功能。dsh-dev-crew 是一个工作流类插件,其核心作用是在同一个会话内,按职责将工作分派给绑定了不同模型的子代理。常见的应用场景是:将需求整理与评审交给强模型,将批量实现交给低成本模型,从而在同一对话流中完成复杂的开发任务。

核心功能

该插件主要解决多角色协作与模型路由配置问题:
* 多角色子代理:支持定义多个角色,每个角色可绑定一个或多个模型。
* 内置角色与 Skill:提供 implementer(实现者)、reviewer(评审者)、researcher(研究者)三个内置角色,并内嵌 crew、crew-brainstorm、crew-plan、crew-converge 四个方法论 skill。
* 配置方式:支持通过 Web 界面或 YAML 文件进行配置,并支持热更新(部分配置项需重载)。
* 产物管理:自动创建并管理 specs、plans、reviews、reports 等产物目录。

安装

安装前请确保宿主 DSH 版本为 0.1.0-rc.7 或更新。插件不依赖 DSH 自带包声明,安装命令如下:

dsh plugin --profile <你的 profile> add dsh-dev-crew

若需使用本地路径安装:

dsh plugin --profile <你的 profile> add <本仓库绝对路径>

配置

插件支持 Web 界面与 YAML 两种配置方式。在 Web 界面的设置页「Dev Crew」区块中,可以配置角色、模型、收敛轮数及纪律 gate 开关。

对于 YAML 配置,需在 profile 的 cordis.patch.yml 中定义角色。每个角色可绑定多个模型,每个模型对应一个独立的委派工具。

- id: dsh-dev-crew
  config:
    roles:
      - id: implementer
        enabled: true
        models:
          - alias: default
            provider: kimi-coding
            model: k3
      - id: reviewer
        enabled: true
        models:
          - alias: ds
            provider: deepseek-official
            model: deepseek-v4-flash

工具命名遵循以下规则:
* 单模型角色:subagent_<角色名>
* 多模型角色:subagent_<角色名>_<alias>

内嵌方法论与产物目录

插件随包分发内嵌 skill,无需用户侧配置。主要包括:
* crew:端到端开发流水线。
* crew-brainstorm:需求讨论与规格定稿。
* crew-plan:规格拆解为实施计划。
* crew-converge:评审收敛协议(仅对模型可见)。

使用 /crew-init 命令或 crew_init 工具可以创建产物目录(默认为 docs/specs、plans、reviews、reports)。该命令具有幂等性,不会覆盖已有文件。

子代理结果返回机制

子代理的结果返回通过两条通道:
1. 结算通知:子代理完成后,宿主会返回一条以 Background subagent <id> finished 开头的消息,其中包含子代理的最后一条消息。这是判断子代理是否完成工作的主要依据。
2. Report 工具:子代理可主动调用 report 工具发送内容,不受「只有最后一条」限制,适合中途报告或结论较长的情况。

注意:job_output、job_list、job_kill 工具用于管理后台 shell 作业,与子代理无关。

注意事项

使用时需注意以下限制与规则:
* 日期准确性:产物文件名中的日期依赖模型的训练数据,可能不准确。
* 文件修改限制:reviewer 角色只能使用 edit 或 cp+edit 修改文件,不能使用 write(除落盘评审报告外)。
* Gate 热更新:gate.enabled 只在插件挂载时生效,热更新需重载。
* Goal 循环冲突:子代理完成后需暂停 goal 循环,否则流水线会因 goal_round 消息不断重置而卡死。
* 结果隔离:子代理看不到其他委派工具,插件会自动将其加入 deny 列表。

生态链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜