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)に加え、blockedcanceled も存在。
人間のみの操作 承認、受領、戻す、アーカイブ、キャンセル、強制譲渡、永続削除 – UI または CLI からのみ可能。エージェントツールでは絶対に不可。
エージェントワークフロー エージェントは todo タスクを割り当て、関連するワークスペースで作業し、レビューを提出。人間が後で done として承認する必要がある。
自動化 プロジェクトごとの自動化(間隔、モデルプリセット、ワーカー数、クォータポリシー)を定義可能。スケジューラは適格な todo アイテムを割り当て、エージェントセッションを in_review まで進行させる。
CLI dsh-taskboard はプロジェクト、タスク、関係、添付、ワークフロー、ストレージ診断に関する JSON 出力コマンドを提供。終了コードで成功、使用エラー、ストレージ問題、ドメインエラー、楽観的競合(TASK_STALE_VERSION)を区別。
設定 cordis.patch.yml、環境変数、プロファイルオーバーライドによるパス、ページネーション制限、添付サイズ制限、ワーカー制限、リフレッシュ間隔のカスタマイズ可能。
セキュリティとリカバリ 開始時に SQLite の整合性チェック、明示的なバックアップ手順、詳細なセキュリティ設計ドキュメントを提供。

インストールフロー(Harnessオペレータ向け)

  1. 実行中のHarnessを検出 – Webリスナーポート(デフォルト 3080)と作業ディレクトリを特定。
  2. プラグインのビルド – リポジトリをクローンし、pnpm install && pnpm build && pnpm pack を実行。これにより lib/ ファイルと shengsheng-dsh-taskboard-<version>.tgz というターボールが生成される。
  3. プロファイルにプラグインを追加 – Harness CLI を使用:dsh plugin --profile web add -w /path/to/tgz-w フラグは pnpm ワークスペースで必須)。
  4. コンポジションの検証dsh --profile web --dump-config# == @shengsheng/dsh-taskboard レイヤーが表示されることを確認。
  5. Harnessの再起動 – プラグイン追加後、UIバンドルが読み込まれるよう Harnessプロセスを再起動。
  6. アクティベーションの確認 – 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 から直接取得。追加機能は推測されていない。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト