dsh-agent-teams

DSH PLUGIN模型与账号接入

仓库 NanmiCoder/dsh-agent-teams · npm @nanmicoder/dsh-agent-teams

模型与账号接入 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-agent-teams 将 DeepSeek Harness 会话变为队长,可组建持久子代理团队、拆分依赖感知任务并通过私信协作,无需独立工作流引擎。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2,027 复刻 181 · 未关闭 issue 63
最近更新 2026-10-11 创建于 2026-08-12
README 19.1 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add @nanmicoder/dsh-agent-teams@0.1.22
兼容 DSH 版本0.2.0-rc.2 等 6 个版本版本不匹配时安装会报错
Node.js 要求^22.19.0 || >=24来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@^4.0.2、@deepseek-ai/dsh-agent@0.2.0-rc.2 || 0.1.7-rc.2 || 0.1.5-rc.3 || 0.1.5-rc.2 || 0.1.5-rc.1 || 0.1.2-rc.1 || 0.1.2-alpha.5 || 0.1.2-alpha.2 等 24 个需要同时安装的同级依赖
npm 包名@nanmicoder/dsh-agent-teams可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-agent-teams:DeepSeek Harness 的多代理团队协作插件

  • 队长委派
  • 持久成员
  • 依赖感知任务
  • 自动调度
  • 实时活动面板

适用场景

智能体编排

上游标签

agentteamsdeepseekharnessdshdsh-agent-teamsdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

模型与账号接入
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方NanmiCoder仓库 dsh-agent-teams · 默认分支 main
分类模型与账号接入ai
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证none商用或二次分发前请确认条款原文
星标 / 复刻 / issue2,027 / 181 / 63收录时的数值,非实时
创建 / 更新2026-08-12 · 2026-10-11最后推送 2026-10-11
本站收录2026-08-15首次进入本站目录的时间

README 全文

19.1 KB
作者原文,中文版优先;只做安全转义,不改内容

English · 简体中文

One prompt. A working team.

dsh-agent-teams turns the current DeepSeek Harness session into a captain that can assemble durable sub-agents, split a goal into dependency-aware tasks, and coordinate work through direct messages.

Ask in natural language. The plugin provides the team protocol, 14 coordination tools, persistent state, an automatic shared-task scheduler, and a live Web UI—without requiring a separate workflow engine.

Releases

v0.1.23 fixes team identity, member model routing, quality and repair gates, and cold fork recovery, and adds owner-configured member tool policies. This plugin release uses npm latest; the recommended host remains Harness 0.2.0-rc.2 (its next channel). See the exact support matrix.

Why AgentTeams?

Capability What it changes
Captain-led delegation The current session creates the team, assigns roles, and consolidates the final result.
Durable members Members are continuable DSH sub-agents that can be woken for focused follow-up turns.
Dependency-aware tasks Tasks move through explicit states and cannot be claimed before their dependencies finish.
Automatic reuse and safe takeover Idle members claim the next ready task; reassignment revokes stale attempts before new work starts, and cold recovery retries stranded open attempts.
Direct messaging Members send durable mailbox messages directly to teammates or the captain—no relay required.
Live activity panel The Web UI combines segmented progress, a collapsible roster, and an interactive task DAG; running tasks show the member's model, and completed archives retain their full member and task history.
Plan before execution Normal /agent-teams runs stage an unspawned roster and DAG first. The Web panel uses the host model catalog for member routes. Returning to chat stops the planning turn, asks what should change, and revises the same draft; discarding archives the draft, aborts the turn, and explicitly prevents automatic recreation. Only Approve & Run enables scheduling; each member starts with its first ready task.
Quality gates Opt-in quality tasks support requirements → implementation → verification → review → integration contracts, automatic repair/re-review, and explicit resume. Scope control is a completion-time audit, not host write interception. See docs/quality-gates.md.

The conversation card and activity panel use Harness's official locale service. They follow live language changes between English and Simplified Chinese—including status labels, dynamic summaries, controls, archive markers, and accessibility text—without a page reload or a separate plugin setting.

Install and choose versions

Recommended pair: DeepSeek Harness 0.2.0-rc.2 + AgentTeams 0.1.23. The host remains an RC.

Use case DeepSeek Harness AgentTeams plugin
Recommended 0.2.0-rc.2 0.1.23
Previous recommended RC 0.1.7-rc.2 0.1.23
Legacy RC 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-rc.3 0.1.23
Retaining an older RC 0.1.2-rc.1 0.1.23
Developer Alpha testing 0.1.2-alpha.5 0.1.23
Retaining an older Alpha 0.1.2-alpha.2 0.1.23

Desktop app

In the app sidebar, open Plugins → Add plugin and enter the npm package spec:

@nanmicoder/dsh-agent-teams@0.1.23

Install it, then choose Enable now. If the host asks for a restart, restart the desktop app. Use the package spec above for the published build; an npm or GitHub webpage URL is not the same install source. For Git installation, use a commit containing the verified build outputs described below.

The desktop app supplies its own Harness core and package manager. Upgrading the global CLI does not upgrade that core, and an ordinary standalone CLI cannot manage its desktop profile. The CLI carrier installed by the desktop app can manage that profile in 0.2.0-rc.2. Check the embedded core against the compatibility list. Harness 0.2.0-rc.2 is now the exact published target; its RC status is unchanged. The earlier source-only 0.2.0 prediction is no longer a support declaration. See the release migration evidence.

CLI / Web: 1. Install DeepSeek Harness

npm install --global @deepseek-ai/dsh@0.2.0-rc.2
dsh --version

Skip this if you already run this version. Alpha is opt-in: select an exact Alpha version from the table and lock all host dependencies as described in the maintenance guide.

CLI / Web: 2. Install the AgentTeams plugin

Install or upgrade from npm (pinned to this latest release):

dsh plugin --profile web add --save-exact @nanmicoder/dsh-agent-teams@0.1.23

For a CLI-managed installation, replace web with your active CLI profile. Stop and restart that profile's Harness process, then refresh the browser. Installing the plugin does not upgrade Harness; the host and plugin have independent latest channels.

For Git installation, use a Git package spec pinned to a commit containing the verified server, client, and type build outputs in lib/, rather than an npm webpage URL. The repository distributes these outputs so installation does not need a prepare hook or build-script approval. Source maintainers must run pnpm build and update the committed outputs whenever the source changes. Existing npm releases remain immutable.

For a manually cloned checkout, run pnpm install --frozen-lockfile and pnpm build after pulling, then restart the corresponding Harness process. Updating Git alone does not update local build output. See the maintenance guide.

> For older 0.1.0-* / 0.1.1-* or unlisted hosts, keep a working pair and follow the older-version and diagnostic guide.

See the full compatibility matrix, source installation and Alpha testing guide, and verification coverage and platform limits.

Then ask for a team directly:

> Use AgentTeams to review the commits after v0.5.3 from performance, security, and product perspectives. Return one consolidated report.

View teams in the workspace

Click View team in the current chat header or the team card below a reply to open the native Team collaboration tab. The entry belongs to its chat, rather than the general workspace start page.

Team and task content starts immediately: wide panes use columns and narrow panes stack them. Select a task to locate its owner; member icons open their conversations. Closing the tab does not stop the team, and its chat can reopen it. Completed teams retain their archives. Older hosts keep the activity panel.

How it works

  1. For a request to use AgentTeams, the captain follows the core protocol already in its system instructions. It continues an existing team and uses agent_teams_status when current state needs checking. When no team exists, the goal becomes a staged plan for review.
  2. The captain adds role-specific members backed by continuable sub-agents.
  3. The goal becomes tasks with owners and explicit dependencies.
  4. The shared scheduler uses real running / idle / ready state to atomically claim one ready task per idle member and wake it. An interrupted resident attempt stays parked and can resume through a direct message without losing its capability; after a cold process restart, the scheduler retries stranded open work with a fresh attempt.
  5. Members update with the current attempt_id; reassignment or captain takeover revokes the old attempt and waits for the old worker to quiesce before a new attempt starts.
  6. The captain presents the combined result, then archives the complete team record.

Team state is stored under /.agent-teams/; the Web panel reads that disk truth and combines it with live sub-agent activity.

Member creation is zero-interaction by default: a member on the captain's current LLM route snapshots that provider, model, and reasoning effort, while a member on a requested alternative route snapshots the target model's default effort; later continuations restore the resolved snapshot. Only an explicit heterogeneous-team request (for example, “backend on provider A/model X, frontend on provider B/model Y”) supplies a member-specific provider + model; there is no per-member model or reasoning prompt.

Captain sessions keep the concise core protocol and the original 14 native team tools from their first request. All business tools are directly available; no loading tool or extra activation call is needed. Configured profiles retain their bounded directory in the fixed system prompt. Creating, approving, continuing or ending a team does not rewrite the system prompt or tool schemas. Core rules remain available after history compaction or discarded code-mode tool results. Members receive four team tools, fixed member instructions, and their ordinary coding/research tools. Web approval wakes the captain with a control message; later member reports wake it again. See the fixed protocol and benchmark contract.

Slash command

No “use AgentTeams” phrasing required. The plugin registers the
closed-namespace /agent-teams host command, so the Web GUI slash menu shows
an agent-teams placeholder with an input hint: pick it (or type the
command), describe the goal, and press Enter.

/agent-teams research the pricing pages of three competitors

The command pipeline claims the line, then preserves that exact input as an
ordinary user follow-up so it remains visible in the main chat. The gesture
boundary adds the deterministic activation directive at pre-step, so the
first model request follows the staged planning protocol without a mandatory helper call. The invocation is also durably
logged (command/run / command/done).

Surfaces without command adjudication (for example the headless CLI) get the
same deterministic activation through a gesture boundary: any genuine user
message starting with /agent-teams activates the protocol for the rest of
the text. Mid-sentence mentions stay ordinary prose.

Historical panels require saved team state or archives. Sessions from early versions that deleted teams without retaining archives do not yet support reconstructing the full panel from logs.

Configuration

Defaults work without extra setup. A trusted profile can override member behavior:

- id: agent-teams
config:
stateDir: .agent-teams
memberProvider: spawn
memberModel: deepseek-v4
memberMaxDepth: 0
maxMembers: 8
toolPolicies:
researcher:
allow: [read, glob, grep]
implementer:
deny: [web_search]

memberMaxDepth defaults to 0: team members cannot create nested subagents. Set 1 to explicitly permit one descendant level; the limit also covers runtime/code-tool calls. Default members report through team messages only, avoiding duplicate native parent reports. Idle roster members make no model requests. Task assignments start distinct turns; coordination joins the nearest model step. Acceptance and consumption are tracked separately. Removal/archive drains the selected branch and its pending input before reporting success.

toolPolicies is owner configuration: reusable per-member tool policies keyed by id. A member selects one by id — tool_policy on agent_teams_add_member, a member row of an inline plan, or a profile member row. The Captain model can select a declared policy but can never submit raw allow/deny lists or invent one at runtime.

  • deny hides the named global tools from that member's schemas and rejects their invocation.
  • allow keeps only the named global tools. The four coordination tools (agent_teams_claim_task, agent_teams_update_task, agent_teams_send_message, agent_teams_status) are always added to an allow list.
  • The captain-only tool list is always denied and cannot be reopened by a policy; a policy may not deny a required coordination tool.
  • Unknown ids, empty policies, and empty lists fail at mount or before a member is persisted.
  • agent_teams_status shows the selected policy id per member; the complete resolved filter is kept in team.json for audit, and the child's durable descriptor reapplies it after a restart.
  • Teams and members created without a policy keep their previous tool set and record shape. An empty tool_policy on agent_teams_edit_plan clears a staged member's policy.

This is model tool visibility and invocation policy for global tools, not an OS sandbox or an authorization boundary.

memberProvider is the sub-agent runtime backend (spawn / fork), not an LLM provider. Cross-LLM-provider routing uses the optional provider + model fields of agent_teams_add_member; memberModel is only a model default for all members. A member on the captain's current provider/model inherits the captain's reasoning effort, while a changed provider or model automatically uses the target model's default. To request a particular effort, pass the optional reasoning_effort field — one of the target model's supported effort ids, or "default" to force the model's own default.

slashCommand: false disables the deterministic /agent-teams activation surfaces (slash command and gesture boundary), leaving the natural-language trigger as the only entry point.

Boundaries

  • One captain leads one active team at a time.
  • Idle members with no open task are automatically reused for ready work. An idle member that still owns an open attempt is parked until messaged or explicitly reassigned; messages that cannot be delivered live remain durable and are retried at a later status boundary.
  • State is file-backed and serialized within one DSH process; concurrent processes editing the same team are not coordinated.
  • The activity panel reports persisted state as-is. Models may occasionally finish work without performing the expected task-state update.

See docs/usage.md for the full tool reference, state model, Web UI behavior, configuration, and known limits.

Plugin development Skill

Community upgrade, audit, benchmark, testing and release skills are vendored with a pinned source revision. See skills/README.md for local rules and CONTRIBUTING.md for the contribution workflow.

The repository also ships the open Agent Skills package dsh-plugin-development:

npx skills add NanmiCoder/dsh-agent-teams --skill dsh-plugin-development

Documentation

Guide Covers
Usage Architecture, UI behavior, tools, configuration, limits, and validation
Verification Offline, composition, real e2e, and GUI verification
Plugin development Human-readable guide built from this plugin
README writing Repository documentation conventions

Development

pnpm install
pnpm build
pnpm verify

Named multi-role profiles

Configure one or more complete team profiles in cordis.patch.yml. A profile always supplies the roster (independent provider/model/role/reasoning effort). Set taskPlanning: captain when the Captain should derive the DAG from the user's goal; omit it or set taskPlanning: seed to keep a fixed template workflow:

profiles:
demo-delivery:
description: Ship a small feature
protocol: Discuss requirements, review, test, then prepare release; do not deploy automatically.
members:
- name: analyst
model: gpt-5.6-sol
role: Analyze requirements
- name: implementer
model: gpt-5.6-terra
role: Implement the approved solution
tasks:
- id: requirements
subject: Requirements discussion
assignee: analyst
- id: implementation
subject: Implement solution
assignee: implementer
dependencies: [requirements]

Use an explicit profile flag: /agent-teams --profile demo-delivery implement the feature. The first ordinary token is never treated as an implicit profile. Normal command runs call agent_teams_create({ profile, approval: "required" }): the roster and seed/Captain-designed DAG remain staged, no child session is created, and no task is claimed. Edit the plan in the activity panel using the host model catalog, return to chat so the Captain asks what to revise and then atomically updates the same draft, discard it, or click Approve & Run. Return/discard actions cancel any planning turn still running; discard also parks model-facing context that forbids silently creating a replacement team. Approval resolves the final provider/model/reasoning choices, commits the roster, and creates each member session only when its first task is ready. A running team is stopped from its own panel header through a confirmation dialog rather than from the composer. Direct tool clients may pass approval: "automatic" for the legacy immediate path. Failed review/test tasks do not unlock downstream work; automatic repair/review tasks do not depend on the failed review.

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-agent-teams 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add @nanmicoder/dsh-agent-teams@0.1.22` 即可。对应的 npm 包名是 `@nanmicoder/dsh-agent-teams`。

dsh-agent-teams 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-agent-teams 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-agent-teams 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-rc.1、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1。

dsh-agent-teams 需要什么运行环境?

Node.js ^22.19.0 || >=24;需要同时安装 @deepseek-ai/cordis@^4.0.2、@deepseek-ai/dsh-agent@0.2.0-rc.2 || 0.1.7-rc.2 || 0.1.5-rc.3 || 0.1.5-rc.2 || 0.1.5-rc.1 || 0.1.2-rc.1 || 0.1.2-alpha.5 || 0.1.2-alpha.2、@deepseek-ai/dsh-api-session-controller@0.2.0-rc.2 || 0.1.7-rc.2 || 0.1.5-rc.3 || 0.1.5-rc.2 || 0.1.5-rc.1 || 0.1.2-rc.1 || 0.1.2-alpha.5 || 0.1.2-alpha.2、@deepseek-ai/dsh-client-connection@0.2.0-rc.2 || 0.1.7-rc.2 || 0.1.5-rc.3 || 0.1.5-rc.2 || 0.1.5-rc.1 || 0.1.2-rc.1 || 0.1.2-alpha.5 || 0.1.2-alpha.2、@deepseek-ai/dsh-client-locale@0.2.0-rc.2 || 0.1.7-rc.2 || 0.1.5-rc.3 || 0.1.5-rc.2 || 0.1.5-rc.1 || 0.1.2-rc.1 || 0.1.2-alpha.5 || 0.1.2-alpha.2。环境不满足时安装会失败,建议先确认本机版本。

dsh-agent-teams 用的是什么许可证?

上游标注为 none。商用或二次分发前请到仓库确认许可证原文。

dsh-agent-teams 有哪些功能?

队长委派、持久成员、依赖感知任务、自动调度、实时活动面板。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

同名或近似条目

6 条
不同作者的仓库分开列,请确认你要装的是哪一个
模型与账号接入
按星标排序,可作替代方案

archify

archify

从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。

L4 · 沙盒安装通过 8.0 万 星

nocobase

nocobase

L3 · 安装规范通过 2.5 万 星

dsh-our-free-model

dsh-our-free-model

为 DeepSeek Harness 挂载免登录、免 API Key 的免费前沿模型通道,装完即用,并附用量看板与 OpenAI 兼容本地转

未标注验证等级 8,064 星

dsh-purge

dsh-purge

dsh-purge 是一款 DeepSeek Harness 设置插件,可修改默认副本、权限策略和工具限制,并添加规则卡片以分组应用补丁,支

L5 · 运行验证通过 4,573 星

NanmiCoder 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。