shengsheng90/DSH-taskboard
Native local Taskboard plugin for DeepSeek Harness. SQLite-backed projects, Agent claim/review, and a native Web UI — no iframe, no second chat runtime.
DSH Taskboard – DeepSeek Harness のネイティブタスク管理プラグイン
何であるか
- DeepSeek Harness AIエージェントプラットフォームに、フル機能の Taskboard UI と API を追加するプラグイン(
@shengsheng/dsh-taskboard)。 - すべてのデータはローカルの SQLite ファイル(
taskboard.sqlite)と添付ファイルフォルダに保存される。外部サービスは不要。 - Harness Webクライアント内にサイドバーのボタン/オーバーレイページ、およびヘッドレスな JSON CLI(
dsh-taskboard)の両方を提供。 - エージェントがターン中に呼び出せるインプロセスツール(
taskboard_*)を公開し、タスクの一覧表示、割り当て、コメント、レビュー提出を可能にする。
主な機能
| 機能 | 得られるもの |
|---|---|
| プロジェクトとタスクの階層 | プロジェクトには短いキー(例:DSH)があり、DSH-42 のような読みやすい ID を生成。タスクにはステータス(backlog → todo → in_progress → in_review → done)に加え、blocked と canceled も存在。 |
| 人間のみの操作 | 承認、受領、戻す、アーカイブ、キャンセル、強制譲渡、永続削除 – UI または CLI からのみ可能。エージェントツールでは絶対に不可。 |
| エージェントワークフロー | エージェントは todo タスクを割り当て、関連するワークスペースで作業し、レビューを提出。人間が後で done として承認する必要がある。 |
| 自動化 | プロジェクトごとの自動化(間隔、モデルプリセット、ワーカー数、クォータポリシー)を定義可能。スケジューラは適格な todo アイテムを割り当て、エージェントセッションを in_review まで進行させる。 |
| CLI | dsh-taskboard はプロジェクト、タスク、関係、添付、ワークフロー、ストレージ診断に関する JSON 出力コマンドを提供。終了コードで成功、使用エラー、ストレージ問題、ドメインエラー、楽観的競合(TASK_STALE_VERSION)を区別。 |
| 設定 | cordis.patch.yml、環境変数、プロファイルオーバーライドによるパス、ページネーション制限、添付サイズ制限、ワーカー制限、リフレッシュ間隔のカスタマイズ可能。 |
| セキュリティとリカバリ | 開始時に SQLite の整合性チェック、明示的なバックアップ手順、詳細なセキュリティ設計ドキュメントを提供。 |
インストールフロー(Harnessオペレータ向け)
- 実行中のHarnessを検出 – Webリスナーポート(デフォルト 3080)と作業ディレクトリを特定。
- プラグインのビルド – リポジトリをクローンし、
pnpm install && pnpm build && pnpm packを実行。これによりlib/ファイルとshengsheng-dsh-taskboard-<version>.tgzというターボールが生成される。 - プロファイルにプラグインを追加 – Harness CLI を使用:
dsh plugin --profile web add -w /path/to/tgz(-wフラグは pnpm ワークスペースで必須)。 - コンポジションの検証 –
dsh --profile web --dump-configで# == @shengsheng/dsh-taskboardレイヤーが表示されることを確認。 - Harnessの再起動 – プラグイン追加後、UIバンドルが読み込まれるよう Harnessプロセスを再起動。
- アクティベーションの確認 – Harnessルートへの GET 要求に
@shengsheng/dsh-taskboardが含まれ、クライアントバンドルが正常に取得可能(200応答)であること。サイドバーに Taskboard ボタンが表示される。
UIの使い方
- サイドバーのフッターにある Taskboard ボタンをクリック。
- プロジェクトを作成(短いキーを選択)し、タスクを作成。
- 人間ユーザーはタスクを
backlog → todo(承認)に移動。エージェントはtodoアイテムを割り当て、作業し、in_reviewに提出。最終的に人間がdoneとして承認。 - UI は Board、List、Gantt、Workflow、Dashboard のビューを提供。すべて現在の Harnessロケールを尊重。
CLIの使い方
# プロジェクト一覧
dsh-taskboard --database .dsh/taskboard.sqlite project list
# プロジェクト作成
dsh-taskboard --database .dsh/taskboard.sqlite project create --key DSH --name "My project"
# タスク作成
dsh-taskboard --database .dsh/taskboard.sqlite task create \
--project <project-id> --title "Ship the plugin"
# タスクの割り当て(エージェントはツールを使用、人間はCLIで可能)
dsh-taskboard task claim --task <opaque-id> --expected_version 1
すべてのコマンドは構造化された JSON を出力し、スクリプトにパイプしやすい。
エージェントツール(実行中のHarnessエージェントから呼び出す)
taskboard_list– 特定のプロジェクトのタスクを一覧表示。taskboard_get– タスクの詳細を取得。taskboard_claim– 楽観的バージョンチェック付きでtodoタスクを割り当て。taskboard_comment– Markdown形式のコメントを追加。taskboard_submit_review– 所有中のin_progressタスクをin_reviewに移動。taskboard_block,taskboard_release_claim,taskboard_relate– その他のライフサイクル制御。
なぜ重要か
- Harnessエージェントランタイムと密接に統合された、ネイティブでオフライン優先のタスク追跡システムを提供。別途のプロジェクト管理ツールを必要としない。
- 明確な分離を実現:エージェントはタスク作業のみ可能。人間が最終承認権を保持。これは安全なAI支援開発に不可欠。
- SQLiteバックエンド設計により、軽量でポータブル。オンプレミスまたはエッジ展開に適している Harness に最適。
ライセンス
- Apache-2.0(
LICENSEを参照)。
上記のすべての詳細はリポジトリの README から直接取得。追加機能は推測されていない。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト