MIT ライセンスの DSH Host プラグインとループバック sidecar。DAG 派遣・権限プリセット・Lead が持つ承認・タスクボード・SSE 可観測性でエージェントチームを運用します。
DSH 統合
ネイティブ実行
作者による申告
安全性監査
未監査
最終検証日
2026-11-14
ライセンス
MIT
01どんなタスクに使えるのか?
1 つの DeepSeek Harness セッション内で、メンバー上限付き・依存順で派遣されるマルチエージェントチームを走らせる
メンバーはすべて実際の DSH サブセッション。DAG の依存が満たされるたびにタスクが派遣され、`team_status` でメンバー状態と DAG のクリティカルパスを確認できる
複数のエージェントで 1 つの成果物を作りたいが、サブセッションを手作業で管理したくない DSH ユーザー
承認の判断をバックグラウンドプロセスではなく Lead の手元に残す
承認が必要なメンバーの操作は Lead に転送され、`team_approve`(allow / deny)で決着。sidecar の `approval` テーブルはミラーと監査のみ
エージェント実行中に誰が何を承認したかを説明できる必要があるチーム
実行中に眺め、終わったら監査可能なレポートを得る
`127.0.0.1:4317/panel` のパネル(Trace / DAG / 承認)を SSE で配信し、切断時は `lastEventId` で再開。`team_report` で Markdown の実行レポートと監査表を出力
チームの実行を再生・説明する必要がある運用者やレビュアー
02DeepSeek Harness への導入方法
前提条件
- Node.js ≥ 22.15 — README は `node:sqlite` ≥ 22.5 と Worker の `module.registerHooks` ≥ 22.15 を根拠に挙げ、v24.22 で実測したと述べています
- プラグインを導入できる DSH プロファイル(README のコマンドはすべて `--profile web`)
- 依存ゼロ・ビルド不要で、`npm install` は不要です
インストール手順
- 01
ビルド済み npm パッケージを導入:`dsh plugin --profile web add dsh-team-control`
$ dsh plugin --profile web add dsh-team-control
- 02
任意で GUI ボードも導入:`dsh plugin --profile web add dsh-team-control-ui`
$ dsh plugin --profile web add dsh-team-control-ui
- 03
ローカルソースから使う場合:`git clone https://github.com/hunmer/dsh-team-control.git ~/dsh-team-control` のあと `dsh plugin --profile web add "$HOME/dsh-team-control/dsh-plugin"`(ボードは `.../dsh-plugin-ui` も)
$ git clone https://github.com/hunmer/dsh-team-control.git ~/dsh-team-control
- 04
DSH を再起動する(または「設定 → プラグイン」で無効化→有効化)と、`team_*` ツールと 2 つの独立エントリが現れます
導入成功の確認
- 再起動後、`team_*` ツールと、チーム編成/タスクボードという 2 つの独立エントリが表示される
- `node demo/run-demo.mjs` で 3 メンバー + DAG + 承認 1 回 + interrupt/resume 1 回を実行、`node tests/run-all.mjs` で AC-01〜AC-19 とプラグイン/パネル/ルーティング/CLI の受け入れテスト全体を実行できる
ロールバック
- `dsh plugin --profile web remove dsh-team-control`(UI パッケージも同様)
03DSH 統合と能力の範囲
DSH の Host プラグイン(`dsh-plugin/` bundle)として 20 個の `team_*` と 4 個の `board_*` ツールを提供し、必要時に `127.0.0.1:4317` で待ち受けるローカル sidecar プロセスを起動、`subagents.startActivation` で実際の DSH サブセッションを動かす
チーム編成ツール(`team_*`)
自然言語の指示。モデルが `team_create` / `team_spawn` / `team_task` / `team_status` / `team_report` / `team_approve` に変換します→実際の DSH サブセッションからなるチーム。メンバー上限、DAG 依存、受け入れ基準を含むタスクブリーフ付き
追加の DSH サブセッションを起動し、モデルの枠を消費する初回呼び出しで sidecar プロセスを起動するイベントとタスク状態を sidecar の SQLite ストアに書き込むLead への承認転送
メンバーのサブセッションが `permissionPreset` = ask の操作に到達した状態→リクエストが Lead に転送され、`team_approve` の allow / deny がホストの `allowed-once` / `rejected` に対応付けられる
sidecar の `approval` テーブルがすべての判断をミラーし監査するワークスペース単位のタスクボード(`board_*`)
同じ sidecar に積まれたタスク→`todo → planning → planned → inprogress → done / failed` と進むキュー。計画してから実行し、チーム編成と同じイベントストリームを共有する
ボードの状態は sidecar の SQLite データベースに永続化されるSSE パネルと CLI による可観測性
sidecar のイベントストア→`/panel` で Trace・DAG・承認を表示し、切断後は `lastEventId` で再開。同等の入口として `dsh-team` CLI の `status` / `dag` / `logs` / `report`
パネルのビルド成果物は sidecar が同一オリジンで配信するイベントソーシングと状態の再構築
すべての状態変更を `event` として記録→`member_state` はマテリアライズドビューとして、クラッシュ後も完全に再構築でき、イベントストリームは再生可能
状態はワークスペース内の sidecar の SQLite データベースに書き込まれる
04誰に向いているのか?使うべきでない場面は?
向いている用途
- 複数のエージェントで 1 つの成果物を作りたいが、サブセッションを手作業で管理したくない DSH ユーザー
- エージェント実行中に誰が何を承認したかを説明できる必要があるチーム
- チームの実行を再生・説明する必要がある運用者やレビュアー
不向きな用途
- Node.js ≥ 22.15 が必要です(`node:sqlite` ≥ 22.5、Worker の `module.registerHooks` ≥ 22.15)。README は v24.22 で実測し、依存ゼロ・ビルド不要とも述べています。
- ツール / skill / MCP の構成は DSH の `agentPreset` が決めます。チームが既定を設定しメンバーが上書きできますが、独立したプリセットを使えるのは `fresh` メンバーだけで、`fork` は Lead の構成を継承します。
05互換性・メンテナンス・セキュリティ上の注意
- Node.js ≥ 22.15 が必要です(`node:sqlite` ≥ 22.5、Worker の `module.registerHooks` ≥ 22.15)。README は v24.22 で実測し、依存ゼロ・ビルド不要とも述べています。
- sidecar は独立した Node プロセスで、`127.0.0.1:4317` のみを待ち受け、Host プラグインが必要時に起動します。パネルと CLI はこのループバックアドレスへ REST + SSE で接続します。
- ツール / skill / MCP の構成は DSH の `agentPreset` が決めます。チームが既定を設定しメンバーが上書きできますが、独立したプリセットを使えるのは `fresh` メンバーだけで、`fork` は Lead の構成を継承します。
- メンバーはすべて実際の DSH サブセッションなので、チーム実行では Lead とは別に N 個のモデルセッションが走ります。メンバー上限と DAG 派遣はこのコストを抑えますが、ゼロにはできません。
MIT · README の記載のみ、GitHub リリースなし、セキュリティ監査なし
06よくある質問
DeepSeek Harness に dsh-team-control を導入するには?
`dsh plugin --profile web add dsh-team-control` を実行し、GUI ボードも欲しければ `dsh plugin --profile web add dsh-team-control-ui` を追加します。そのあと DSH を再起動する(または「設定 → プラグイン」で無効化→有効化する)と、`team_*` ツールと、チーム編成/タスクボードという 2 つのエントリが現れます。Node.js ≥ 22.15 が必要で、`npm install` もビルド手順もありません。
sidecar が権限を引き継ぐのですか?
いいえ。`permissionPreset` はメンバーのサブセッションに適用され、承認リクエストはプラグインが Lead に転送します。sidecar の `approval` テーブルはミラーと監査のみで、`team_approve` はホストの `allowed-once` または `rejected` に対応します。
DSH でいう「メンバー」は具体的に何ですか?
実際の DSH サブセッションです。プラグインが `subagents.startActivation` で起動し、メンバーは `team_report_task` で結果を返し、sidecar がそれを受けて依存を進め次の波を起こします。そのため N 人のチームでは N 個のモデルセッションが追加で走ります。
導入できたか確認する方法と、実行の眺め方は?
`node demo/run-demo.mjs` で 3 メンバーの DAG・承認 1 回・interrupt/resume 1 回を実行でき、`node tests/run-all.mjs` で AC-01〜AC-19 の受け入れテスト全体を走らせられます。実行時はプラグインが sidecar を起動したあと `http://127.0.0.1:4317/panel` でパネルを開け、`team_report` で Markdown の実行レポートと監査表を出力できます。
アンインストールはどうしますか?
`dsh plugin --profile web remove dsh-team-control` で、UI パッケージも同様です。README は削除コマンドのみを示しており、sidecar に保存されたイベントやタスクボードがどうなるかは述べていません。
07関連する DSH ワークフロー
archify
by tt-a1i
アーキテクチャ図、ワークフロー図、シーケンス図、データフロー図などを動きのある自己完結型 HTML として生成し、鮮明に書き出せるエージェントスキル
openviking
by volcengine
AI エージェント向けの自己進化型コンテキストデータベース。メモリ、知識 RAG、スキルを統合
aitoearn
by yikart
AIを活用した収益化のアイデアや作業を支援するDeepSeek Harness向けプラグインです。
learn-harness-engineering
by walkinglabs
Harness エンジニアリング入門チュートリアル。ゼロから一歩ずつ学べる
08データと出典
给 DeepSeek Harness 的 Agent Team 加一个独立 sidecar——成员上限可配、DAG 依赖自动派发、按成员分配 DSH 权限预设(permission presets)、成员审批转发给 Lead 决定、事件流可…
sidecar 是独立 Node 进程(`bin/dsh-team.mjs`,默认只监听 `127.0.0.1:4317`),由 Host 插件按需拉起;每个成员都是一个真的 DSH 子会话。
`dsh-plugin/` | DSH Host bundle:20 个 `team_*` + 4 个 `board_*` 工具 + sidecar 生命周期 + 子会话成员调度 + 审批转发
このページは、プロジェクトの公開ドキュメント、リポジトリのメタデータ、および DSH Plugins の構造化解析に基づいて生成されています。最終検証日:2026-11-14。誤りを見つけた場合は、修正を送信してください。
dsh プラグイン おすすめ
最初に入れたい 12 のプラグイン。全カタログ・全カテゴリから厳選しました。
