解説
DeepSeek Harnessとは?アーキテクチャと活用例

DeepSeek Harness は、DeepSeek AI が開発するオープンソースのエージェントランタイムです。言語モデルそのものではありません。セッション、ツール実行、ファイルシステム、承認、永続化、エージェントループ、インターフェースなど、モデルの周囲で必要となる仕組みを提供します。「すべてがプラグイン」というアーキテクチャにより各要素を組み合わせたり置き換えたりできるため、カスタムコーディングエージェント、社内ツール、制御されたエージェント実験に向いています。
本ガイドは、DeepSeek Harness を AI スタックに加えるべきか検討している開発者、創業者、技術系プロダクトチームを対象としています。読み終える頃には、実用的な理解の枠組み、アーキテクチャの全体像、導入手順、実際のタスクで評価するためのチェックリストが得られます。
調査と開示: 本記事は Ottermind が公開しています。2026 年 8 月 17 日に、DeepSeek Harness の公式リポジトリ、アーキテクチャ文書、ユーザーガイドを確認しました。管理されたベンチマーク、プロダクション環境への導入、すべてのプラグインやプロバイダーの検証は行っていません。現在は開発者プレビューのため、動作や互換性が変わる可能性があります。
DeepSeek Harnessの概要
| 質問 | 回答 |
|---|---|
| 何ですか? | dsh とも呼ばれるオープンソースの Agent Harness |
| 誰が開発していますか? | DeepSeek AI |
| DeepSeek のモデルですか? | いいえ。モデルをツール、セッション、ポリシー、インターフェースにつなぐランタイムです |
| 設計原則は何ですか? | 「すべてがプラグイン」 |
| どのフレームワークを使用していますか? | Cordis |
| どう実行しますか? | Web UI またはヘッドレスプロファイルで実行し、プロファイルとプラグインで構成を拡張できます |
| 現在の状態は? | 互換性を壊す変更が見込まれる開発者プレビュー |
| ライセンスは? | MIT |
| 対象ユーザーは? | エージェントランタイムを調査、拡張、置換、構成したい開発者 |
最も短く実用的に言えば、DeepSeek Harness は AI モデルを取り囲む実行レイヤーです。モデルが応答やツール呼び出しを生成する一方、Harness はコンテキストの組み立て方、利用可能なツール、処理の実行場所、記録内容、承認が必要な場面、複数ステップの継続方法を決めます。
Agent Harnessは何をするのか?
言語モデルは操作を提案できますが、それだけで完全に機能するエージェントにはなりません。実用的なエージェントには、モデルを取り囲むシステムが必要です。
そのシステムは、次のような実務上の問いに答えなければなりません。
- どのファイルや指示をモデルのコンテキストに入れるか?
- どのモデルプロバイダーにリクエストを送るか?
- モデルはどのツールを呼び出せるか?
- シェルコマンドやファイル操作をどこで実行するか?
- どの操作に承認が必要か?
- メッセージ、ツール呼び出し、結果をどう保存するか?
- ツールが失敗した場合や次のステップが必要な場合にどうするか?
- システム全体を作り直さず、特定の機能だけを置き換えられるか?
Agent Harness はこれらの責務を調整します。この用語が有用なのは、モデルの知能とランタイムの動作を分けて考えられるためです。同じモデルを使っていても、ツール、コンテキスト規則、権限、セッション状態、エージェントループが異なれば、製品の挙動は大きく変わります。
DeepSeek Harness は、この周辺システムを明示的に公開しています。固定された一つのアプリケーションの背後にランタイムを隠すのではなく、各部分をプラグイン、サービス、イベント、プロファイル、設定レイヤーとして提供します。
DeepSeek Harnessとモデル、アシスタント、自動化ツール、ワークスペースの違い
これらのカテゴリは重なりますが、同じものではありません。
| レイヤー | 主な役割 | 代表的な問い |
|---|---|---|
| 言語モデル | トークンを生成し推論する | どのモデルがこの依頼に答えるべきか? |
| AI アシスタント | ユーザー向けの画面と対応タスクを提供する | どう依頼し、回答を確認するか? |
| ワークフロー自動化 | 定義済みのトリガーとアクションでデータを動かす | このイベント後に何を実行するか? |
| Agent Harness | モデル、ツール、セッション、ポリシー、実行、継続を調整する | エージェントが複数ステップのタスクをどう実行・記録するか? |
| AI エージェントワークスペース | 情報源、意思決定、タスク、エージェント、成果物を結び付ける | このエージェントタスクをプロジェクト全体にどう位置付けるか? |
この区別により、よくある誤解を防げます。DeepSeek Harness をインストールしても、新しい DeepSeek モデルが入るわけではありません。別途モデルプロバイダーの設定が必要です。また、エージェントタスクを取り巻く事業コンテキスト、レビュープロセス、完成した成果物が自動的に用意されるわけでもありません。
モデル単位の比較は 2026 年のベスト AI モデルを、エンドユーザー向けの開発体験を重視する製品については開発者向けのベスト AI アシスタントをご覧ください。
DeepSeek Harnessはどのように動くのか?
大まかに言うと、DeepSeek Harness のタスクは次のエージェントループで進みます。
- ランタイムがユーザー入力と待機中のコンテキストを受け取る。
- プラグインがシステムプロンプト、モデルに見せるメッセージ、ツールスキーマを組み立てる。
- モデルアダプターが選択したプロバイダーへリクエストを送る。
- ランタイムがストリーミング出力と完成したアシスタントメッセージを記録する。
- モデルがツールを要求した場合、保護されたツールパイプラインが確認して実行する。
- ツール結果がセッションに戻り、次のモデルステップが始まる場合がある。
- 未処理のツール、メッセージ、継続処理がなくなるとターンを終了する。
公式アーキテクチャ文書では、step(ステップ) と turn(ターン) を区別しています。ステップは一回のモデルリクエストと、それが呼び出すツールです。ターンにはゼロ個以上のステップを含められます。一度の応答ではなく、観察と操作を繰り返すタスクでは、この違いが重要です。
セッションログはこの処理の中心です。ユーザーメッセージ、アシスタント出力、ツール呼び出し、ツール結果、ステップ、ターンが永続的なイベントになります。モデル履歴はそのログから構成されるため、同じ記録ストリームを使って再生、再開、トランスクリプト、永続化などのセッション機能を実現できます。
DeepSeek Harnessのアーキテクチャ
プロジェクトはアーキテクチャを一言で表現しています。すべてがプラグインです。この考え方を理解するには、五つの概念が重要です。
1. Cordisが構成モデルを提供する
DeepSeek Harness は Cordis を基盤にしています。公式アーキテクチャでは、プラグインが共有コンテキストにサービス、型付きイベント、取り消し可能な副作用を追加します。
モデルアダプター、ツールレジストリ、セッションログ、エージェントループ、永続化レイヤー、サンドボックス、ユーザーインターフェースは、変更不能な中核ではありません。すべて同じ構成システムから提供されます。プラグインは読み込み時に動作を登録し、アンロード時にその登録を解除できます。
これは、固定された中心部の周囲に小さなプラグイン API を置くアプリケーションとは異なる考え方です。DeepSeek Harness では、ランタイムの大部分を設定から置き換えられます。
2. プロファイルが実行可能な構成を定義する
プロファイルは Harness のホームに保存される名前付き構成です。読み込む Bundle、外部プラグイン、ユーザーのパッチ設定を保持します。
プロジェクトには Web とヘッドレスのプロファイルテンプレートがあります。Web プロファイルはブラウザーアプリケーションを追加し、ヘッドレスプロファイルはサーバーなしの単発実行に対応します。dsh --profile web --dump-config を使うと、有効なプラグインツリーを確認できます。
プロファイルが答える問いは、この作業ではどの Harness 構成を起動するか? です。
Web UI には Standard、Code、Minimal、Creator などのエージェントプリセットもあります。プリセットは一つのセッションで使えるプラグイン構成を制御し、プロファイルは起動する Harness 全体の構成を決めます。

3. Bundleが順序付き設定をまとめる
Bundle は Cordis の設定行と、そこにマウントするコードを配布します。Bundle は順番に積み重ねて読み込まれ、その後にプロファイル単位、ホーム単位、コマンドラインのパッチが適用されます。
このレイヤー構造により、標準構成から始め、ランタイム全体を Fork せずに必要な設定行だけを置き換えられます。同時に、設定の順序が重要になります。後のレイヤーは、先に読み込まれた Bundle の動作を変更できます。
4. イベントがランタイムの動作をつなぐ
DeepSeek Harness には複数のイベント領域があります。
- セッションイベントは、再読み込み後も残す必要がある事実を記録します。
- エージェントイベントは、リクエスト、ステップ、状態、検証、継続など進行中の処理を公開します。
- ケイパビリティイベントは、ファイルシステム、ツール、テレメトリなどの境界にプロバイダーやポリシーを接続します。
イベントは、プラグインが動作を監視、介入、拡張、停止するための明確な接点になります。また、無関係なパッケージがエージェントループを直接読み込んで変更する必要を減らします。
5. ケイパビリティ境界でプロバイダーを交換できる
ケイパビリティ境界(capability seam) は、サービス定義、サービスを実装するプロバイダー、サービスを利用するコンシューマーの三つを分けます。
たとえば、ファイルシステムとサブプロセスのプロバイダーは同じ実行環境を共有できます。プロバイダーを変えれば、シェル、ターミナル、言語サーバーの処理を別のサンドボックスへ移せます。各コンシューマーが独自にリモート処理を実装する必要はありません。
同じパターンは、モデルアダプター、ツール、サブエージェント、永続化、認証情報、テレメトリ、ターミナル、ジョブ、インターフェース統合にも使われます。
DeepSeek Harnessを理解するための実用モデル
公式アーキテクチャは詳細です。プロジェクト計画では、次の五つのレイヤーにまとめると理解しやすくなります。
| レイヤー | 定義する内容 | 確認する証拠 |
|---|---|---|
| 1. 目的と入力 | 目標、情報源、除外事項、受け入れ基準 | 承認済みのタスク概要と採用されたメッセージ |
| 2. エージェントループ | 計画、モデル要求、ツール呼び出し、継続、停止の条件 | ステップ、ターン、エージェントイベント |
| 3. モデルとツール | プロバイダー、モデル、プロンプト部分、スキーマ、ツールレジストリ | 有効なプロファイル設定とツール呼び出し |
| 4. 実行境界 | ファイルシステム、サブプロセス、サンドボックス、権限、認証情報、承認ポリシー | プロバイダー設定、承認記録、コマンド範囲 |
| 5. 永続的な証拠 | メッセージ、ツール結果、失敗、出力、未解決リスク | セッションログ、トランスクリプト、チェック、成果物 |
編集上のフレームワーク: 上の五層モデルは、DeepSeek Harness の公式アーキテクチャを基に Ottermind が整理した編集上のフレームワークです。DeepSeek の公式図ではなく、各レイヤーをベンチマークしたという意味でもありません。
このモデルは、他の Agent Harness を評価するときにも使えます。第 3 レイヤーのデモが成功しても、実行境界が安全であることや、最終的な証拠がレビューに十分であることは証明できません。
「すべてがプラグイン」とは実際に何を意味するのか?
プラグイン設計は、開発者がランタイムを拡張する方法を変えます。
言語モデルサービスにアダプターを登録してモデルプロバイダーを追加したり、ツールレジストリからモデル向け機能を追加したりできます。ファイルシステムプロバイダーでファイルアクセスを置き換え、サンドボックスでコマンドを制限し、ジョブサービスでバックグラウンド処理を追加し、エージェントを操作してセッションイベントを表示する別のインターフェースを作ることも可能です。
実用上の利点は、恒久的な Fork を持たずに構成できることです。中央のループをカスタマイズのたびに編集せず、既存プラグインの隣に機能をマウントしたり、設定行をパッチしたりできます。
一方で、柔軟性は複雑さをアーキテクチャと設定へ移します。開発者は、プラグインの所有関係、イベント順序、サービス境界、パッチの重なり、バージョン互換性、第三者コードの権限を理解する必要があります。「すべてがプラグイン」であっても、すべてのプラグインが安全または保守しやすいとは限りません。
DeepSeek Harnessでできること
実際の動作は有効なプロファイルとプラグインによって変わりますが、公式プロジェクトには次のタスクに必要な基盤があります。
リポジトリとコーディングのタスク
適切なファイルシステム、サブプロセス、ターミナル、言語サーバーの機能があれば、エージェントはワークスペースを調査し、ファイルを編集し、コマンドを実行し、検証結果を返せます。Harness はその操作を調整しますが、変更を受け入れられるかどうかはリポジトリの指示、テスト、人によるレビューで判断します。
社内向けカスタムエージェント
移行アシスタント、バリデーター、サポート用デバッグエージェント、テストランナー、特定領域向けの開発ツールなど、限定された社内業務用にプロファイルを構成できます。必要な機能だけを公開する狭いプロファイルも作れます。
特化型エージェントの日常業務での使い方は、小規模企業向け AI エージェントをご覧ください。
モデルとプロバイダーの実験
モデルアクセスがアダプターの背後にあるため、ツールやセッションのレイヤーを作り直さずに設定を比較したり、別のプロバイダーに対応したりできます。妥当な評価には、固定タスク、反復実行、採点基準、制約の記録が必要です。
サンドボックスまたはリモート実行
ケイパビリティプロバイダーは、ファイルシステムやサブプロセスを制御された実行環境へ移せます。ローカルアクセスが不適切な場合に有効ですが、プロバイダー、認証情報の経路、ネットワーク規則、隔離、失敗時の動作を信頼境界として確認する必要があります。
新しいインターフェースとエージェント体験
Web UI は一つのインターフェースにすぎません。プラグインとセッションイベントを使えば、同じエージェントとセッションの仕組みを共有する別のエディター、クライアント、専用ビューを構築できます。
DeepSeek Harnessのプラグイン
開発者は、再利用可能なプロバイダー、ツール、ポリシー、統合、インターフェース動作をプラグインとして配布できます。公式プロジェクトは、見つけやすくするため dsh-plugin GitHub トピックの使用を推奨しています。リポジトリ、認証情報、シェル、ネットワークへのアクセスを与える前に、実行可能コードとしてレビューしてください。

DeepSeek Harnessの実行方法
公式 npm クイックスタートには Node.js が必要です。npx @deepseek-ai/dsh web を実行します。
標準では http://127.0.0.1:3080 で Web UI が起動します。モデルプロバイダーを設定し、ワークスペースを選び、セッションを始められます。

責任ある初回実行では、次の条件を用意してください。
- プロダクション用リポジトリではなく、小さなデモ用リポジトリ
- 合成データまたは機密性のない入力
- 対象を限定したワークスペース
- 明確な承認ポリシー
- 既存のテストやチェック
- 終了条件が明確なタスク
ソースから実行する場合は、公式リポジトリをクローンし、依存関係をインストールしてビルドし、Web プロファイルを実行できます。変化が速いプロジェクトなので、実験で使用したコミットまたはリリースを記録してください。
DeepSeek HarnessはDeepSeekモデル専用か?
Harness は DeepSeek AI が開発していますが、モデルアクセスはアダプターで分離されています。公式文書ではモデルアダプターを置き換え可能なプラグインとして説明し、プロバイダー追加用の拡張点を提供しています。
したがって、単一モデルだけのラッパーではありません。ただし、すべてのプロバイダーやモデルが同じように動作する保証はありません。ツール呼び出し、ストリーミング、メッセージ形式、コンテキスト上限、認証情報、エラー処理は異なる場合があります。各アダプターと対象モデルを個別にテストする必要があります。
権限、サンドボックス、セキュリティ
エージェントランタイムは、モデル出力をファイルアクセス、コマンド、認証情報、ネットワーク呼び出し、第三者プラグインと組み合わせます。そのため、設定自体がセキュリティモデルの一部です。
重要な作業に DeepSeek Harness を使う前に、次を確認してください。
- ワークスペースをタスクに必要なファイルだけに限定する
- API キーやプロダクション認証情報をプロンプトや引き継ぎ文書に入れない
- 導入前にプラグイン、パッチ、スクリプト、外部呼び出しを確認する
- 重大な操作には承認ポリシーを使う
- ファイルシステムとサブプロセスのプロバイダーがどこで実行されるか確認する
- リポジトリ標準のテスト、Lint、型チェック、セキュリティチェックを必須にする
- 責任者が最終 Diff とコマンド履歴を確認する
- 失敗や未検証の前提を隠さず記録する
サンドボックスは一部のリスクを減らしますが、モデル出力、プラグインコード、ネットワーク接続先、生成された変更が信頼できることを証明するものではありません。
DeepSeek Harnessの制約
最も重要な制約は現在の状態です。公式 README は DeepSeek Harness を開発者プレビューと位置付け、互換性を壊す変更が発生すると注意しています。
実務上は、次の影響があります。
- プロファイル、プラグイン、設定、API の移行が必要になる場合がある。
- 文書や例が急速な実装変更に追いつかない場合がある。
- あるリビジョン向けのプラグインが別のリビジョンでは動かない場合がある。
- テスト、バージョン固定、更新、運用サポートはチームの責任になる。
- 柔軟なランタイムには、管理型アシスタントより高度な技術判断が求められる。
そのため DeepSeek Harness は、安定した完成済みのコーディングアシスタントだけを求めるユーザーより、エージェントランタイムを調査して形作りたいチームに向いています。また、要件定義、コードレビュー、セキュリティポリシー、専門知識の代わりにはなりません。
DeepSeek Harnessを使うべき人
次のいずれかが必要なら、DeepSeek Harness を評価する価値があります。
- 固定アシスタントではなく、構成可能なエージェントランタイム
- カスタムのツール、プロバイダー、ポリシー、インターフェース、実行バックエンド
- 調査可能なセッションイベントとツールイベント
- エージェント環境ごとのプロファイル
- エージェントアーキテクチャの研究基盤
- エージェント処理の実行場所と方法に対する制御
互換性保証、最小限の設定、集中的な企業管理、チームで保守する必要のない洗練されたタスク体験が必要なら、導入を待つか、より管理された製品を選ぶべきです。
より広い製品カテゴリを比較する場合は、AI エージェントワークスペースのガイドで、コンテキスト、実行、再現性、レビュー、引き継ぎの違いを確認できます。
Ottermindはどこに位置付けられるか?
DeepSeek Harness はエージェントランタイムに近いレイヤーで動きます。実際のプロジェクトには、顧客の根拠、調査、概要、意思決定、レビュー、文書、プレゼンテーション、フォローアップタスクも含まれます。
Ottermind は実務向けの AI エージェントワークスペースです。限定された技術タスクを中心に、より広いプロジェクトコンテキストと成果物を結び付けておけます。Ottermind で実装概要と受け入れ基準を準備し、制御された Harness ワークスペースでリポジトリタスクを実行し、検証結果を文書化とレビューに戻す、といった使い方ができます。
プロダクトチームは、プロダクトチーム向けのベスト AI ツールで、周辺の計画、調査、デリバリーのスタックを比較できます。
DeepSeek Harness と Ottermind をワンクリックで接続するネイティブ統合は確認もテストもできていません。現時点では、既存コネクターや製品上の約束ではなく、明示的な成果物の受け渡しとして扱うべきです。
DeepSeek Harnessが適しているか判断する方法
導入前に次の項目を確認してください。
- エージェントランタイムの一部を置き換えたり組み合わせたりする必要があるか?
- チームでプラグイン、プロファイル、パッチ、バージョン更新を保守できるか?
- 対象タスクがワークスペース、権限、受け入れ基準で明確に限定されているか?
- プロバイダー、ツール、サンドボックス、認証情報、ネットワーク境界を確認できるか?
- エージェントの外側にテストと人によるレビューがあるか?
- セッションの証拠だけで別の人が結果を検証できるか?
- 開発者プレビューの変更をプロジェクトが許容できるか?
大半が「はい」なら、DeepSeek Harness はカスタムエージェントを構築するための調査しやすい基盤になります。大半が「いいえ」なら、まず管理型アシスタントやエージェントワークスペースを使い、ランタイム制御の必要性が具体化してから再検討してください。
「DeepSeek Harnessとは?」への答え
DeepSeek Harness は新しいモデルでも、単なるチャット画面でもありません。モデルをツール、セッション、実行環境、ポリシー、ユーザー体験につなぐ、プラグイン構成のオープンソースランタイムです。
価値は制御性にあります。エージェントループを閉じた箱として扱わず、イベントの流れを確認し、プロバイダーを交換し、プロファイルを構成し、機能を拡張できます。その代わり、急速に変化する開発者プレビューにおけるアーキテクチャ、権限、プラグインの信頼性、テスト、互換性はチームの責任です。
次のタスク: Ottermind で、情報源、許可するワークスペース、権限、受け入れ基準、必要な証拠を含む限定されたエージェントタスクを定義してください。その概要を基に、DeepSeek Harness でカスタムプロファイル、プラグイン、プロバイダーが必要か判断できます。
