2026年8月13日、DeepSeekはモデルではなく、モデルを動かすための機械を発表しました。DeepSeek Harness(dsh) は、セッションループ、ツール実行、権限チェック、ローカルWeb UIを備えた公式オープンソースのエージェントハーネスです。LLMを、コードの読み取り・編集・コマンド実行が可能なコーディングエージェントへ変換します。DeepSeek V4-ProのAPIリリースと同日に公開され、VentureBeatはClaude Codeのオープンソース対抗として紹介しました。
リリースから1週間後の8月20日時点で、deepseek-harnessリポジトリは約169,000スター、18,100フォークを獲得しています。この反応は、特定ベンダーに閉じない、検査・変更可能なエージェントハーネスへの需要を示しています。
DeepSeek Harnessとは何か
モデルはトークンを予測します。一方、ハーネスはモデルを実際の開発作業に接続する実行レイヤーです。
ハーネスが扱う対象には、次のようなものがあります。
- モデルに渡すコンテキスト
- 利用可能なツール(ファイル編集、シェル、検索など)
- ファイル書き込みやコマンド実行の承認フロー
- 複数ステップのセッション管理とログ
- モデルAPIへの接続と認証情報
Claude Code、Codex CLI、Gemini CLIも、それぞれのモデルを囲むハーネスです。設計上の違いを確認したい場合は、Claude Code vs Codex CLIも参照してください。
DeepSeek Harnessには、実装時に把握しておくべき3つの特徴があります。
公式プロジェクトである
DeepSeek AIが公開しているファーストパーティプロジェクトです。MITライセンスのオープンソースである
コードを確認し、必要に応じてハーネスの構成を変更できます。サードパーティ依存関係はリポジトリのTHIRD_PARTY_NOTICESに記載されています。開発者プレビューである
READMEには互換性を破壊する変更が発生することが明記されています。設定、プラグイン、ワークフローを本番環境へ固定する前に、アップグレード検証を組み込む必要があります。
dshはDeepSeek V4-Proと同時に登場しました。V4-Proを使う場合のエンドポイント、モデルID、リクエスト例は、DeepSeek V4-Pro APIガイドで確認できます。
アーキテクチャ:すべてがプラグイン
一般的なコーディングエージェントは、エージェントループ、モデルクライアント、ツール、セッションストアを一体化したモノリシックな構成です。設定は変更できても、コアコンポーネントそのものを置き換えることは簡単ではありません。
dshはこの構成を分解します。設計原則は「すべてがプラグイン」です。内部では、時間的・空間的構成可能性を目的とするCordisフレームワークを基盤にしています。
実務上は、次のコンポーネントを差し替え可能なモジュールとして扱えることを意味します。
| コンポーネント | 実装上の意味 |
|---|---|
| モデルアダプター | 接続先LLM APIやバックエンドを切り替えられる |
| ツールレジストリ | ファイル操作、シェル、検索などのツールセットを登録・変更できる |
| セッションログ | セッションの保存・再生方法を変更できる |
| エージェントループ | 決定→行動→観察のサイクル自体を差し替えられる |
この設計は、次のようなケースで有効です。
- タスクごとに異なるモデルを利用したい
- リポジトリ単位で利用可能なツールを制限したい
- 独自の権限モデルや監査ログを追加したい
- コンテキスト管理戦略を検証したい
ただし、柔軟性には運用コストが伴います。プラグインの組み合わせが増えるほど、壊れる可能性のある箇所も増えます。特に開発者プレビューでは、dsh本体の更新によってプラグインが動作しなくなる可能性があります。
導入時は、少なくとも次を実施してください。
- dshとプラグインのバージョンを記録する
- 本番リポジトリとは別の検証用ワークスペースで更新を試す
- APIキーを扱うプラグインのソースを確認する
- 権限ポリシーを緩める前に、承認フローを確認する
クイックスタート:ローカルWeb UIを起動する
最短の起動方法は次のコマンドです。
npx @deepseek-ai/dsh web
このコマンドはローカルWeb UIを起動し、通常はブラウザを開きます。
http://127.0.0.1:3080
ブラウザを自動で開きたくない場合は、--no-openを付けます。
npx @deepseek-ai/dsh web --no-open
グローバルインストールやアカウント作成は必要ありません。
ソースからビルドする
リポジトリから実行する場合は、次の手順です。
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
初回セットアップの手順
Web UIを起動したら、次の順番で設定します。
DeepSeek APIキーを設定する
APIキーは$DSH_HOME/.credentials.yamlに保存されます。主要な設定ファイルには、認証情報そのものではなく参照だけを保持します。ワークスペースを選択する
「Choose workspace」から対象プロジェクトのディレクトリを追加して選択します。
ワークスペースを選択するまで、セッションコンポーザーは利用できません。小さな読み取りタスクから試す
最初からファイル編集やコマンド実行を依頼するのではなく、まずリポジトリ構造の説明や特定モジュールの要約を依頼します。書き込み・コマンド実行の承認内容を確認する
アクティブな権限ポリシーで承認が必要な操作は、実行前にUIで確認されます。変更対象ファイルとコマンド内容を確認してから承認してください。
最初のタスク例:
このリポジトリのディレクトリ構成を説明してください。
コードは変更せず、主要なエントリポイントとテスト配置を一覧にしてください。
続いて、変更範囲を限定したタスクを実行します。
src/api/users.ts のバリデーション処理を確認してください。
変更が必要な場合は、実行前に変更対象ファイルと理由を説明してください。
プロファイルとヘッドレス実行を使う
dsh webは、実際には次のショートカットです。
dsh --profile web
プロファイルは次の場所に保存されます。
$DSH_HOME/profiles/<name>
Web UIを使わず、単発ジョブをスクリプトやCIから実行する場合はヘッドレスモードを使えます。
dsh --profile headless "job"
このモードは新しいセッションを1つ実行し、結果を出力して終了します。例えば、CIでコードレビュー用の指摘を生成する場合は、対象ブランチや実行権限を明示的に管理してください。
プラグインはdsh pluginサブコマンドで管理できます。このコマンドはプロファイルディレクトリ内のpnpmへ転送されます。
設定を確認したい場合は、起動せずに構成ツリーを出力できます。
dsh --dump-config
デフォルト設定を確認する場合:
dsh --dump-default-config
詳細はCLI READMEを参照してください。
実行できるモデル
DeepSeekモデルがデフォルトであり、V4-Proが主要な組み合わせです。DeepSeekはオフピーク割引を恒久化しており、長時間動作するエージェントのコスト設計にも影響します。
ただし、dshではモデルアダプターもプラグインです。DeepSeek以外を使うための選択肢があります。
カタログプロバイダーを利用する
組み込みのプロバイダーエントリとして、以下が用意されています。
- Anthropic
- OpenAI
- Amazon Bedrock
- Google Vertex
- Azure
各プロバイダーにはプロバイダー固有の認証情報処理があります。
OpenAI互換エンドポイントを追加する
任意のOpenAI互換エンドポイントは、$DSH_HOME/settings.yamlに登録できます。設定時には、少なくとも次を定義します。
- ベースURL
- APIキーを取得する環境変数
- 利用可能なモデル一覧
この方式により、クラウドAPIだけでなく、ローカルランタイムや社内ゲートウェイも接続対象にできます。
モデルを選択すると、新規セッションのデフォルトになります。また、各セッションには開始時のモデルがログとして残るため、途中でモデル構成を変更しても履歴を追跡できます。
設定形式はプロバイダーガイドで確認できます。OpenAI互換エンドポイントを含む設定手順は、DeepSeek Harnessで任意のモデルを実行する方法も参照してください。
プラグインエコシステム:導入前に確認すること
プラグインはdsh-plugin GitHubトピックから探せます。コミュニティはGitHub DiscussionsとDiscordサーバーでも連携しています。
ローンチ直後の段階で、主に次の種類の拡張が見られます。
デスクトップラッパー
deepseek-harness-desktop(Tauri)やdsh_desktop(Windows)などは、Web UIをネイティブアプリとしてパッケージ化するコミュニティプロジェクトです。
これらはDeepSeek公式リリースではありません。APIキーにアクセスする可能性があるため、導入前に以下を確認してください。
- ソースコードとリリース元
- 認証情報の保存方法
- ネットワーク通信先
- 更新頻度とメンテナンス状況
機能拡張プラグイン
dsh-contextやdsh-vision-routerのようなコミュニティプロジェクトは、セッションが参照できる情報やルーティングを拡張します。
プラグインを追加する際は、まず専用の検証プロファイルで動作確認し、対象ワークスペースを限定してください。
MCPサポート
この記事の執筆時点で、dshコアはネイティブのModel Context Protocol(MCP)サポートを提供していません。
MCP連携は、コミュニティプラグインであるdsh-mcp-managerを介して実現します。このプラグインでは、次のような構成を扱えます。
- リモートHTTPサーバー
- ローカルstdioサーバー
- OAuthまたは静的トークン認証
-
mcp__<name>__*形式で登録されるツール - ワークスペースの
.dshディレクトリに置くプロジェクト単位のサーバー設定
したがって、「dshはMCPをサポートする」という説明は正確には次の意味です。
コミュニティがMCP対応をプラグインとして実装している。
これは、dshの「すべてがプラグイン」という設計を実際に活用した例です。将来コアへ取り込まれる可能性はありますが、現時点ではコア機能ではありません。
APIワークフローへ組み込む方法
エージェントハーネスは、最終的にはモデルAPIとプロジェクト内のAPIを扱う実行環境です。
dshがバックエンド向けのコードを書く場合、エージェントはリポジトリ内のコード、ドキュメント、型定義からAPI契約を推測します。しかし、実装と仕様がずれていると、存在しないフィールドや古いエンドポイントに対するコードを生成する可能性があります。
対策はシンプルです。エージェントに実装を任せる前に、API仕様と実際のエンドポイントを検証します。
Apidogでは、次のワークフローを構築できます。
- OpenAPI仕様を設計またはインポートする
- 実際のAPIエンドポイントを仕様に対してテストする
- モックサーバーを起動する
- フロントエンドやエージェントに安定した仕様・レスポンスを渡す
- バックエンド変更後にテストを再実行する
検証済みのモックと仕様を参照するエージェントは、古い実装だけを手掛かりにするエージェントよりも、誤ったAPI統合を作りにくくなります。
Apidog MCP Serverを接続する
Apidog MCP Serverは、MCP経由でAPI仕様をAIツールへ公開します。
dshで利用する場合は、前述のコミュニティ製dsh-mcp-managerプラグインを利用します。実装フローは次のとおりです。
-
dsh-mcp-managerを導入する - Apidog MCP Serverを登録する
- 対象ワークスペースのMCP設定を作成する
- エージェントに仕様の参照・テストケース生成・実装支援を依頼する
- 生成されたコードを実際のAPIテストで検証する
Apidog CLIをエージェントから実行する構成を含めた手順は、DeepSeek HarnessでApidog CLIを使用する方法で確認できます。
API仕様の準備から始める場合は、Apidogをダウンロードして仕様をインポートしてください。
今試すべきか、待つべきか
判断基準は、dshを何に使うかです。
今すぐ試すべきケース
- エージェントハーネスの内部構造を理解したい
- タスクごとに異なるモデルを使いたい
- 自己ホストモデルやOpenAI互換エンドポイントを利用したい
- 独自ツール、権限モデル、コンテキスト戦略を実装したい
- 初期のプラグインエコシステムへ参加したい
- すでにDeepSeek APIを利用しており、V4-Pro向けの公式エージェント体験を試したい
待つべきケース
- 日常業務で安定したツールが必要
- 更新による設定・プラグイン破損を許容できない
- 組織として審査済み・サポート付きの製品が必要
- APIキーを扱うコミュニティプラグインを導入できない
- 成熟したエルゴノミクスや統合体験を重視する
現実的には、次の運用が安全です。
- 本番作業では既存の安定したエージェントを継続する
- dshはサイドプロジェクトまたは検証用リポジトリで試す
- プラグインと権限設定を段階的に追加する
- 安定版に近づくまで、本番認証情報と重要リポジトリを分離する
Claude Codeとの比較を確認したい場合は、DeepSeek Harness vs Claude Codeも参照してください。
よくある質問
DeepSeek Harnessは無料ですか?
ハーネス本体はMITライセンスの無料オープンソースです。
ただし、接続先モデルの利用料金は別です。DeepSeek APIや設定した外部プロバイダーのAPI利用は、それぞれの料金体系に従って課金されます。ローカルホストのモデルを使う構成も可能です。
設定方法はDeepSeek Harnessで任意のモデルを実行する方法を参照してください。
dshはDeepSeekモデルとのみ動作しますか?
いいえ。DeepSeekモデルがデフォルトですが、モデルアダプターはプラグインです。
カタログプロバイダーとしてAnthropic、OpenAI、Bedrock、Vertex、Azureを利用でき、任意のOpenAI互換エンドポイントも$DSH_HOME/settings.yamlで追加できます。
DeepSeek Harnessを自分のコードベースで実行しても安全ですか?
安全性は、権限ポリシーと利用者の運用判断に依存します。
Web UIでは、実行前にワークスペースを選択し、アクティブな権限ポリシーで承認が必要な操作の前に確認が表示されます。ただし、dshは開発者プレビューです。また、コミュニティプラグインやデスクトップラッパーは、APIキーを扱うサードパーティコードになり得ます。
安全に試すには、次を守ってください。
- 検証用の小さなリポジトリから始める
- 読み取り専用タスクで挙動を確認する
- 変更・コマンド実行の承認内容を毎回確認する
- 本番キーや重要な認証情報を含む環境では慎重に扱う
- 導入するプラグインのコードとメンテナンス状況を確認する
「ハーネス」は「モデル」とどう違うのですか?
モデルは推論エンジンです。ハーネスは、そのモデルを実務タスクへ接続する実行環境です。
ハーネスには、次の機能が含まれます。
- セッション管理
- ツール呼び出し
- ファイルアクセス
- 権限プロンプト
- コンテキスト組み立て
- モデルAPI接続
- ログ記録と再生
同じモデルを使っていても、ハーネスが異なれば、利用可能なツール、承認フロー、参照できるコンテキスト、最終的なエージェントの挙動は大きく変わります。
Top comments (0)