DeepSeek Harness(dsh)は、開発者がAIエージェントを構築・運用するためのオープンソース実行基盤です。MITライセンスで公開されており、現在は開発者プレビュー段階です。新しい基盤モデルや完成済みのエージェント製品ではなく、エージェントを構成する部品を選び、組み立てるための環境と捉えると分かりやすいでしょう。提供された情報では、v0.1のリリース日は2026年9月ではなく2026年8月13日です。
1
2
中心思想は「特権的なコアを置かない」こと
Harnessは「すべてがプラグイン」という考え方を徹底しています。モデルアダプター、ツール、スキル、セッション、サンドボックス、ストレージ、スケジューリング、エージェントループ、UIまで、設定によって選択・交換・再構成できます。
2
21
つまり、別のモデルプロバイダーに切り替えたい、利用ツールを必要最小限に絞りたい、独自の承認ルールを入れたい、実行環境を分離したい、といった要件に対し、コア実装へ修正を加えたり、独自フォークを維持したりせずに対応することを目指しています。既存部品の横にプラグインを追加する形でランタイムを拡張する設計です。
21
Cordisは何を担うのか
Harnessの下層には、同梱されたプラグインフレームワーク Cordis があります。プラグインは共有コンテキストにサービス、型付きイベント、元に戻せる副作用を登録します。プラグインをアンロードすれば、その登録も解除できます。
21
22
またCordisは、依存関係を意識した構成にも対応します。必要なサービスを指定して登録したコールバックは、依存サービスが変わるとアンロードされ、再度実行されます。ctx.plugin では、宣言されたスキーマで設定を検証したうえでプラグインを読み込みます。
19
拡張開発では、カスタマイズの境界が明確です。たとえばツール用プラグインは ctx.tools に登録でき、実行前のポリシーフックはツール呼び出しを許可・拒否する型付きの判定を返せます。この仕組みは、権限管理、サンドボックス、プランモードの制御に利用できます。
17
用意される4つのランタイムモード
Harnessには、用途別の出発点となる4つのプリセットがあります。
2
- Standard:コーディングエージェント向けの一連のワークフローとツールセットを提供します。
- Code:Code Mode SDK経由でツールを公開し、モデルが生成したTypeScriptで複数ステップの処理を調整できます。
- Minimal:永続シェルと
str_replace_editor を備え、制約の大きい環境やベンチマークに向きます。
- Creator:ランタイムの観察機能と、メモリー上でのプラグイン実験機能を追加し、新しいプリセットを作る開発者を支援します。
これらは固定的な製品エディションではありません。チームは要件の変化に合わせ、プラグインを追加・置換して構成を変えられます。
2
21
導入方法:npm/CLIから始める
HarnessはnpmパッケージおよびCLIの @deepseek-ai/dsh として配布されています。ドキュメントにあるWeb UIのクイックスタートは次のとおりです。
npx @deepseek-ai/dsh web
ソースから直接実行したい場合や、コードベースを扱う場合は、リポジトリーをクローンして実行することもできます。
1
30
Web UIでは、まず Settings → Models からモデル認証情報を設定し、その後にワークスペースを選択してタスクを構成します。dsh プロセスは起動したディレクトリーを既定のファイルシステム上の場所として使いますが、新規のUIではワークスペースを追加するまで選択状態になりません。
25
実行履歴そのものを観測基盤にする
Harnessは、モデルが見た情報を追記専用のセッションログに記録します。対象はシステムプロンプト、推論、ツール呼び出しと結果、サブエージェントのスケジューリング、コンテキスト注入です。Trajectoryビューでは記録を発生元ごとに確認でき、再開、フォーク、検索、リプレイはいずれも同じイベントストリームを利用します。
2
このためログは、単なる障害調査用の付加機能ではありません。エージェントの実行を検証し、過去の分岐へ戻り、その振る舞いを形作ったランタイムイベントを追跡・再現するための記録になります。
開発者プレビュー版としての運用:互換性は慎重に扱う
Harnessは明示的に開発者プレビューとされているため、プラグインやAPIについて長期的な互換性を前提にすべきではありません。
2
6
実務上は、利用バージョンを固定し、リリース変更を確認し、隔離したプロファイルまたはワークスペースで更新を試し、代表的なセッションをリプレイしてから広範に展開する方法が妥当です。これはプレビューという位置付けを踏まえたリスク管理上の推奨であり、すべての更新で後方互換性が失われるという公式保証・断定ではありません。
プラグインの検証は、次の2段階で行うとよいでしょう。
- プラグイン単体を検証する:設定スキーマ、必要なサービス、失敗時の挙動、ツールポリシーのロジックを確認します。
- 構成済みランタイムとして検証する:実際に併用するモデルアダプター、ツール、サンドボックス、権限、セッションストア、他のプラグインとの組み合わせでテストします。
設定面でも検証を支援する仕組みがあります。cordis.yml のエントリーには config ブロックを置け、プラグインが公開するスキーマは apply 関数の実行前に検証されます。設定が不正なら、半端な設定で起動するのではなく、読み込み時に失敗します。
27
28 生成される設定カタログは pnpm run verify-config-catalog で検証されます。
18
配布については、拡張機能をインストール可能なバンドルとしてパッケージ化し、dsh plugin add でプロファイルへ追加できます。
24 バンドルと設定を明示的に管理すれば、構成したランタイムの再現、監査、テスト、更新がしやすくなります。
まとめ
DeepSeek Harnessは、エージェント開発者のためのインフラです。モデル接続、ツール、ポリシー、実行環境、ループ、状態、UIを、固定仕様ではなく構成上の選択として扱えます。Cordisがプラグインのライフサイクルを支え、ランタイムモードが実用的な初期構成を提供し、追記専用セッションログが運用記録を残します。その柔軟性が魅力である一方、開発者プレビュー段階であることを踏まえ、テストとアップグレード手順を意図的に整えることが重要です。
2
21