Skip to content
dsh.fish
Bundle

dsh-delegation-workflow

主规划→子执行→主审查 的委派工作流插件,支持为子代理动态指定模型与思考强度

Source
Wh1stle05
stars
1 stars
License
MIT
Updated
Updated 14 days ago

Readme

# dsh-delegation-workflow

协作式委派工作流插件:`主规划 → 子执行 → 主审查`。为 [DeepSeek Harness](https://github.com/deepseek-ai) 提供一个 `delegate_with_model` 工具,让主 agent 把计划中的一个步骤委派给子代理执行,**并显式指定该子代理的运行模型与思考强度**。

## 功能

- 新增工具 `delegate_with_model`,参数:
  - `description` — 委派任务的简短描述(3-5 词,用于展示)。
  - `prompt` — 自包含的子代理任务说明(子代理不共享父代理上下文)。
  - `provider` — 子代理的 LLM 模型后端,缺省回落 settings 默认值。
  - `model` — 子代理使用的模型 id,缺省回落 settings 默认值。
  - `reasoning_effort` — 子代理的推理强度,动态校验目标模型真实支持的档位。
  - `run_in_background` — 是否以后台任务运行(返回 job id,可用 `job_output`/`job_kill` 管理)。
- Web 端新增 `/delegate-model` 斜杠命令:先选模型、再选思考强度,写入 `$DSH_HOME/settings.yaml` 的 `delegation-workflow:` 段。
- 「通用设置」新增「子代理默认模型」条目,模型与思考强度分成两个选择器,模型条目显示提供商信息。
- 与框架内置 `subagent` 工具的区别:在委派边界上把调用方指定的 `provider` / `model` 写入子代理 `AgentOptions`,并在子代理发出首个请求前通过 `installModelSelection` 注入 `reasoning_effort`。

## 安装

前提:已安装 DeepSeek Harness(`dsh` 命令)。`dsh plugin` 命令底层转发给 pnpm,因此可直接从 GitHub 安装本仓库:

```bash
# 安装最新版
dsh plugin --profile web add github:Wh1stle05/dsh-delegation-workflow

# 或固定到某个版本 tag
dsh plugin --profile web add github:Wh1stle05/dsh-delegation-workflow#v0.2.0
```

然后把本仓库 `cordis.patch.yml` 里的 `insert` 片段并入你的 profile `cordis.patch.yml`(见下方「配置」),并重启 dsh 服务使插件源码生效(插件 `src/index.js` 的改动需进程重启才会加载,`cordis.patch.yml` 的 config 可热重载)。

## 配置

`cordis.patch.yml` 中的插件条目:

```yaml
- insert:
    - id: delegation-workflow
      name: dsh-delegation-workflow
      config:
        subagentProvider: spawn   # 子代理执行后端(spawn / fork)
        provider: opencode-go     # 子代理的 LLM 模型后端
        model: deepseek-v4-flash
        reasoningEffort: high
        toolName: delegate_with_model
```

> `provider` / `model` / `reasoningEffort` 仅作为 settings namespace
> `delegation-workflow` 的 composition base;可在 Web 端通过
> `/delegate-model` 斜杠命令或「通用设置 → 子代理默认模型」修改,
> 修改会持久化到 `$DSH_HOME/settings.yaml`。

> 注意:`subagentProvider` 与 `provider` 是两个不同概念:
> - `subagentProvider` 是**执行后端**(transport),由 `dsh-subagent-{spawn,fork}-in-process` 注册,内置值为 `spawn` / `fork`;
> - `provider` 是** LLM 模型后端**(如 `opencode-go` / `deepseek-official`),通过 `agentOptions.provider` 注入。
>
> 二者不可混用,否则会报 `no subagent provider registered for ...`。

## 使用

主 agent 规划任务后,用 `delegate_with_model` 委派子代理执行,子代理返回后由主 agent 审查:

```
主 agent: todo_write 拆解计划
主 agent: delegate_with_model(步骤 1, model=..., reasoning_effort=..., run_in_background=false)
子代理:   执行并返回结果
主 agent: 对照计划审查,直到验收通过
```

详见 `AGENTS.md` 中的工作流规则。

## 许可

[MIT](./LICENSE)

Install

dsh plugin --profile web add github:Wh1stle05/dsh-delegation-workflow#decdb287cf6ec7471d87f2b267db29e62d62542a

Profile: web

Source