前言¶
在 DeepSeek Harness(DSH)里用 dsh-agent-teams 跑多智能体协作时,成员的人设、模型路由和工具边界往往散落在对话或临时配置里,难以评审、版本化和与运行时对齐。若直接在运行时里逐个改成员参数,改名或字段含义变化后也不易核对「档案里写的」和「团队里存的」是否一致。
下面介绍社区插件 dsh-agent-roster(npm 包名 @stofone/dsh-agent-roster,仓库 dsh-agent-roster/dsh-agent-roster)。它把团队成员定义成磁盘上的可校验文件,并桥接到 agent_teams_* 调用参数;调度、建队与 .agent-teams/ 状态仍由 dsh-agent-teams 负责。
这是什么¶
dsh-agent-roster 是 DSH 生态中的工作流类插件:为 DeepSeek Harness 提供静态成员花名册(roster)与成员档案的定义格式、校验,以及向 dsh-agent-teams 成员创建流程的输出转换。
花名册即一份明确文件:谁在队、各自职责、走哪条模型路由、允许哪些工具策略。插件只做定义与校验层,并在 roster_create 时按字段标注哪些会进入运行时、哪些仅为声明;不会创建成员、排任务或写入团队运行态。
维护与发布信息以仓库与 package.json 为准:GitHub 组织/仓库为 dsh-agent-roster/dsh-agent-roster,npm 作者为 STofone,当前资料中包版本为 1.5.0,许可证 MIT。社区目录页:skillhub.cn 插件页(独立社区站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
资料中明确的能力边界如下。
| 角色 | 说明 |
|---|---|
| 定义与校验 | 花名册为可版本化文件;错误会带文件与字段路径失败,而非静默忽略 |
桥接 dsh-agent-teams |
roster_create 产出可用的 agent_teams_add_member 参数,并逐字段说明运行时实际接受的项 |
| 核对 | roster_verify 读取 team.json,将持久化值与花名册对比 |
| 非运行时 | 不创建成员、不调度、不写 .agent-teams/ 状态 |
安装后插件提供 11 个工具(资料列举):roster_list、roster_show、roster_create、roster_verify、roster_diff、roster_index、roster_space、roster_search、roster_changes、roster_compile、roster_team。左侧栏会出现 Agent Roster 主面板(非 Settings 子项)。
成员字段在桥接时被分类:direct(如 name、role、systemPrompt、provider、model、reasoningEffort、toolPolicy)会传给 agent_teams_add_member;config(如 fallback)需属主侧配置;declaration(如 description、aliases、skills、examples 等)仅文档与校验,运行时不会自动应用。roster_verify 会将各字段报告为 applied、overridden、omitted 或 unconfirmed。
安装与启用¶
依赖:需要带 tools 服务的 DSH(任意较新构建),以及 yaml(插件已声明为依赖)。Node 引擎要求为 >=22.19.0(来自 package.json)。
在 DSH 插件管理器中指向本仓库(绝对路径),或发布后使用包名安装。资料原文给出的标识为:
@stofone/dsh-agent-roster
包内带有 cordis.patch.yml,安装后会自动写入 profile。Fresh 安装时全局档案库为空,面板会显示「0 rosters」,直到在 UI 中创建或通过 CLI 操作。
安全说明:插件以当前 DSH 进程权限运行;安装前请自行查看仓库源码与 MIT 许可证,确认符合你的环境策略。
档案库位置与文件格式¶
档案库是全局的:每台机器一份,不在工作区内;默认路径为 DSH 数据目录下的 agent-roster($DSH_HOME/agent-roster,一般为 ~/.dsh/agent-roster;Docker 中为挂载卷)。首次保存时创建,无需手工建目录。
每个花名册占一个子目录,目录内有且仅有一个主文件,探测顺序为 roster.yaml、roster.yml、roster.json;若存在多个会报错,不会静默择一。
示例结构(来自 README):
~/.dsh/agent-roster/
└── core-review/
└── roster.yaml
顶层字段仅允许文档列出的键;未知键视为错误。必填包括 kind(必须为 dsh-agent-roster/v1)、roster(kebab-case,且等于目录名)、version(精确 SemVer)、members(1~32 条)。可选包括 defaults(成员继承的路由字段)、captain(描述队长会话,不自动创建)等。成员必填 name、role、systemPrompt;systemPrompt 上限 8000 字符。
Quick start 片段(YAML,字段含义见仓库 File reference):
kind: dsh-agent-roster/v1
roster: core-review
version: 1.0.0
title: Core review team
description: Fixed members for code review and release gatekeeping.
license: MIT
maintainers: [STofone]
tags: [review, release]
defaults:
provider: deepseek
model: deepseek-v4.1-flash
reasoningEffort: high
members:
- name: reviewer
role: Code review
description: Reviews only, never releases
aliases: [code-reviewer]
skills: [frontend-skill]
examples:
- Review this change for semantic bugs
systemPrompt: |
You review for semantic bugs first, style second.
toolPolicy: readonly
- name: release-manager
role: Release gatekeeper
systemPrompt: |
You check the diff, the version and the rollback plan.
model: deepseek-v4.1-pro
reasoningEffort: low
captain:
name: lead
description: The main session is the captain; it splits work and accepts results
provider: tsingmicro
model: deepseek-v4.1-flash
personaPrefix: |
Restate the goal and acceptance criteria before delegating.
同目录可选 capabilities.yaml 声明部署能力需求(详见仓库 Capability requirements 章节)。机器可读 Schema 位于仓库 schema/roster.v1.schema.json。
典型用法¶
1、在面板或通过工具浏览、编辑全局档案库;也可让模型调用 roster_list 等工具。
2、用 CLI 查看示例库或校验当前全局库(与工具读同一默认路径):
# 查看仓库内示例库
npx dsh-agent-roster list --dir examples
npx dsh-agent-roster validate
npx dsh-agent-roster list
3、定义好 roster.yaml 后,通过 roster_create 获取 agent_teams_add_member 参数(字段映射如 systemPrompt → executionPrompt),再在 dsh-agent-teams 侧创建成员;之后用 roster_verify 对照 team.json 检查是否一致。改名时可用 aliases 避免验证误报「未部署 / 未管理」。
仓库还提供 examples/ 与 examples-orchestration/ 示例;默认 rosterDirs 为空,仅指向上述全局库。若要 CLI 直接读示例,需像上文一样通过 --dir 指定。
适用场景与注意¶
适合:需要把多 Agent 团队成员人设、模型与工具策略固化成可评审、可版本化文件,并与 dsh-agent-teams 创建成员流程对齐的团队;需要在改档案后核对运行时状态的场景。
不适合:期望本插件代替 dsh-agent-teams 做调度、重试或审查环的场景——这些属于运行时插件职责。
注意:
skills等声明字段不会自动加载 Skill,仅作约定与校验。- 插件不写入团队状态;建队与任务分发仍需在 agent-teams 工作流中完成。
- 安装与运行权限等同于 DSH 进程;生产环境请先审阅源码与依赖(
yaml、@deepseek-ai/schemastery等)。
结尾¶
dsh-agent-roster 把多 Agent 团队的成员定义从「口头配置」收拢为磁盘上的校验文件,并在创建成员时透明桥接到运行时接受的字段,同时用 roster_verify 帮助发现漂移。DSH 生态遵循「一切皆插件」;若要在本地启用,以插件管理器安装 @stofone/dsh-agent-roster 为准。