Introduction¶
Introducing the DSH plugin dsh-team-task. The philosophy of DSH is “everything is a plugin,” allowing the community to extend agent collaboration capabilities via plugins. For long tasks requiring multi-round execution, dependency review, and failure recovery, relying solely on a single prompt or a brief session makes it difficult to maintain stability.
dsh-team-task is a DSH plugin maintained by Ready22Race, designed for long tasks with multiple agents: a lead that plans a DAG for review, durable members that execute nodes, an append-only event log serving as the single source of truth, and a resident reconciler to continue the task after crashes and restarts. The license is MIT.
Plugin Positioning¶
The core problems solved by dsh-team-task include:
- Execution results of members in long tasks need to be trackable.
- There are dependencies between multiple nodes, requiring review before proceeding.
- Tasks need to continue after process crashes, session interruptions, or harness restarts.
- Protocols between different roles cannot be fully stuffed into the prompt every time.
It is not a standard one-off command-line tool, but a DSH plugin designed around an event log, review gates, scheduled recovery, and on-demand loading of protocols.
Core Features¶
The verified capabilities are as follows:
- lead plans a DAG for review.
- durable members execute nodes.
- resident reconciler re-advances tasks on a timer and resumes work when the lead returns.
- Runtime settles tasks at the idle boundary; completed tools only accelerate progress and do not act as gates.
- Review Gate: Only the lead’s approval unlocks downstream tasks; rework sends feedback back to the same node and preserves attempt history.
- append-only event log as the single source of truth, using fence tokens to reject late writes.
- Event logs are replayable, with
snapshot.jsonandinbox/serving as derived views. - Progressive playbook: On-demand loading of lead/member/recovery protocols via
team_task_playbook. - M1 provides board data routes:
/plugins/team-task/stateand/plugins/team-task/log.
The tools listed in the documentation include:
team_task_playbookteam_task_createteam_task_add_memberteam_task_planteam_task_dispatchteam_task_awaitteam_task_completeteam_task_reviewteam_task_sendteam_task_statusteam_task_finish
Installation and Enablement¶
First, confirm the Node environment. The requirements given in the documentation are:
^22.19 || >=24
The documentation explicitly states that Node 23 cannot start dsh.
DSH plugins run with the permissions of the current dsh process. It is recommended to check the source code, dependencies, and license before installation. The license for this plugin is MIT.
- Add the plugin:
dsh plugin --profile web add @ready22race/dsh-team-task
This step adds @ready22race/dsh-team-task to the web profile.
- Start or restart dsh:
dsh web
dsh needs to be restarted after plugin add because the bundle list is cached within the process.
- Verify the combination:
dsh --profile web --dump-config
You should expect to see:
id: team-task
Typical Usage¶
Open:
http://127.0.0.1:3080
After setting the model key in Settings → Models and selecting a workspace, send:
Use team-task to run a long task: first load the lead playbook, plan a node graph with dependencies and pre-assignment (assignee), review node by node, and finally merge for delivery.
You should expect to see:
- Task card
- Right-side board floater
- Local event log:
<workspace>/.team-task/tasks/<id>/log.jsonl
When advancing the task, you can first load the lead playbook and then use:
team_task_create
team_task_plan
team_task_dispatch
team_task_review
team_task_status
and other tools. The specific calling order depends on the task nodes, dependencies, and review results.
Storage and Configuration¶
The documentation specifies that log.jsonl is the single source of truth. snapshot.json and inbox/ are derived views, cannot be written manually, and are not read back by the code.
Event logs are replayable, meaning the team state at a specific historical moment can be obtained by replaying the logs.
The configuration items explicitly listed in the documentation include:
stateDir
memberProvider
memberMaxDepth
maxMembers
reconcileIntervalMs
The board data routes provided by M1 are:
/plugins/team-task/state
/plugins/team-task/log
Use Cases and Notes¶
This plugin is suitable for users who need to run long task multi-agent workflows in DSH, especially in scenarios requiring dependency nodes, review feedback, preservation of execution records, and failure recovery.
Please note:
- Node requirement is
^22.19 || >=24; the documentation explicitly states that Node 23 cannot start dsh. - dsh needs to be restarted after
plugin add. - The plugin runs with the permissions of the current dsh process; please check the source code and license before installation.
- Known limitation in v0.1: Member wake-up still requires a live lead Agent.
message_deliveredonly indicates inbox acceptance, not turn consumption.- npm publishing requires the account to own the
@ready22racescope; when 2FA is enabled,npm publishrequires--otpor a bypass 2FA token.
Links¶
Directory Page:
https://www.skillhub.cn/plugins/Ready22Race/dsh-team-task
GitHub:
https://github.com/Ready22Race/dsh-team-task