DSH Plugin MarketA community catalog for DeepSeek Harness plugins

dsh-team-model

Verified Models & inference ★ 3 0.1.1

Agent Teams 队友模型:让模型和用户都能指定每个队友的模型,并在 Web UI 的会话头部、输入框工具行与设置页切换。

What it is

Agent Teams 队友模型:让模型和用户都能指定每个队友的模型,并在 Web UI 的会话头部、输入框工具行与设置页切换。

How to install

Run this in the DSH web profile, then refresh the page.

$ dsh plugin --profile web add 'git+https://github.com/Chruix/dsh-team-model.git#9ccd31b7ec718ad8ebf14bbc3e21e5599386ecd9'

DSH versions accepted

Undeclared

Author and traction

Chruix · ★ 3 · Updated 2026-11-06

About this plugin

dsh-team-model

中文 · [English](README.en.md)

> 为 [DeepSeek Harness](https://github.com/deepseek-ai) 的 Agent Teams 补上「按队友指定模型」:模型可以自己指定,用户也可以在 Web UI 里随时修改。

内置团队插件 @deepseek-ai/dsh-experimental-agent-team 在创建队友时不接受模型参数——spawn_teammate 只有 name / description / prompt / context,两个本地 subagent provider 也只认 providerName,因此所有队友都继承 Lead 当前的路由。

这个插件补上这一层,并且只使用框架的公开接口:新增一个工具、向子会话写入一条既有的 model/selection 事件、在 agent/request 中保持路由,再用一条 loopback RPC 支撑 Web UI。

功能

1. 模型可以自己指定队友的模型

新增工具 spawn_teammate_with_model,参数与内置 spawn_teammate 一致,另有三项可选:

{
  "name": "reviewer",              // 必填,[a-z0-9-],≤64 字符
  "description": "代码审查",       // 必填
  "prompt": "审查这次改动…",        // 必填
  "context": "fresh",              // fresh | fork
  "provider": "openai",            // 可选,省略则按 model 在目录中唯一匹配
  "model": "gpt-5",                // 可选,省略则继承当前会话
  "reasoning_effort": "high"       // 可选,模型支持时生效
}

模型会在队友的首轮请求之前写入子会话,因此第一次回复就使用新路由,不会先用继承的模型跑一轮。

2. 用户可以在三处切换

| 入口 | slot | 说明 |

| --- | --- | --- |

| 会话头部胶囊 | conversation.session.header.actions | 列出本队队友,点开选模型 |

| 输入框工具行 | conversation.input.right | 窄屏自动收成图标 + 模型名 |

| 设置 → 队友模型 | settings.section | 按会话分组,单个修改或整队统一,含离线队友 |

在队友会话里打开时会自动聚焦该队友(标题显示「模型」),只修改它自己的模型,不再列出整支团队。

3. 切换后一直有效

内置的模型选择是一次性的:selectionFor(agent).current 被一次请求消费后就清空,下一次请求回退到会话头或默认模型——表现为「切换只生效一轮」。插件在队友 agent 上挂 agent/request waterfall,按会话投影 modelSelection.pending ?? lastUsed 覆写 provider/model/reasoningEffort,因此第二轮、第三轮仍然是你选的那个模型,直到你再次修改。

4. 离线队友也能排队

不在线的队友没有运行中的 Agent,选择会进入队列(queued),在它下次启动时、第一条请求之前写入;界面会提示「该队友当前不在线,模型已记下,下次启动时生效」。

安装

插件是一个标准的 DSH bundle(package.json + cordis.patch.yml + host/client 两个入口)。

git clone https://github.com/Chruix/dsh-team-model ~/.dsh/plugins/dsh-team-model

然后在 DSH 的插件管理器里安装该目录(install_bundle),或在 profile 中插入一行:

- insert:
    - id: team-model
      name: dsh-team-model

依赖的 Host 服务:agents / agentTeams / tools / systemPrompt / sessionController / llm / connection / webServer。缺少任一项时,该 profile 不会激活本插件。

架构

index.js   Host 半边(Cordis 插件)
  ├─ spawn_teammate_with_model   新增工具,只注册到 Lead 的 agent.ctx
  ├─ applySelection / applyOrQueue
  │    ctx.sessionController.agents.selectForNextRequest(agent, selection)
  │    = 追加一条 durable 的 model/selection + 同步当前选择
  ├─ agent/request 钩子          队友第二轮及以后仍按投影覆写路由
  ├─ RPC /dsh-team-model         直接挂在 ctx.get('webServer') 的 prefix 路由
  │    tm.state / tm.setModel / tm.globals / tm.setAll
  └─ team:model 说明段           注入 Lead 的 system prompt

client.js  Web UI 半边
  ├─ 三个 slot 注册(header #5 / input.right #0 / settings.section #45)
  ├─ MenuSurface + MenuGroup 原生弹层,CSS 模块字符串注入
  └─ 通过 ctx.connection.rpc.call('/dsh-team-model', endpoint, payload) 取数

Compare in this category

The five most-starred plugins in the same category.

PluginAuthor StarsVersionUpdated
dsh-our-free-model Ebony-Vinyl 68K 2.1.0 2026-11-10
next-ai-draw-io DayuanJiang 36.9K 0.4.10 2026-11-09
MemOS MemTensor 12.3K 0.0.0 2026-11-09
bisheng dataelement 12.2K 0.0.0 2026-11-10
webnovel-writer lingfengQAQ 7.9K 0.0.0 2026-11-07