@starpivot/dsh-agent-teams
v0.2.1
Published
AgentTeams for DeepSeek Harness: durable teammates, task DAG, read-only role isolation
Readme
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, ten coordination tools, persistent state, and a live Web UI—without requiring a separate workflow engine.
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. | | Direct messaging | Members send durable mailbox messages directly to teammates or the captain—no relay required. | | Live activity panel | The Web UI shows roles, current work, unread messages, task dependencies, and archived team history. |
Install
[!NOTE] Requires an existing DeepSeek Harness installation.
dsh plugin --profile web add github:StarPivotNet/dsh-plugins-public#path:packages/agent-teamsThen restart dsh web. This package is the StarPivot share copy. Source lineage is recorded in UPSTREAM.md.
Validate the composed profile, restart DSH, and refresh the Web UI:
dsh --profile web --dump-config
dsh webThen 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.
How it works
- The current session creates a team and becomes its captain.
- The captain adds role-specific members backed by continuable sub-agents. Each add creates and claims that member's first task.
- Later tasks use only returned ids (
t1,t2, …) and assignees that already exist. - The spawn brief starts the first task. Later mailbox messages barge in with new instructions; pass
mode=queueonly to wait out the current turn. - Members work, update task state, and report directly to the captain or one another.
- The captain presents the combined result, then archives the complete team record.
Team state is stored under <workspace>/.agent-teams/; the Web panel reads that disk truth and combines it with live sub-agent activity.
Member creation is zero-interaction by default: the plugin snapshots the LLM provider, model, and reasoning effort actually used by the captain's current step, and restores that snapshot on later continuations. 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.
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: 1
maxMembers: 8memberProvider 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.
Boundaries
- One captain leads one active team at a time.
- Members act only after they are woken; mail remains durable while a participant is idle.
- 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
The repository also ships the open Agent Skills package dsh-plugin-development:
The skill still lives in this package under skills/dsh-plugin-development.
Documentation
| Guide | Covers | | --- | --- | | Usage | Architecture, UI behavior, tools, configuration, limits, and validation | | Self-iteration | Captain-owned plugin-defect reports filed to this fork's issue tracker | | 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