DeepSeek Harness: DeepSeek Harness 入門
最終更新:2026-08-31
DeepSeek Harness(DSH)は DeepSeek のオープンソース Agent フレームワークで、核心となる哲学は「すべてはプラグイン」——モデルアダプタからツールシステム、セッション管理からサンドボックス機構まで、すべてがプラグインとして共有 Context に注入され、究極の拡張性を実現します。
📋 前提知識:事前の経験は不要。基本的なコマンドライン知識があれば十分です
1. 学習内容
- DeepSeek Harness の位置づけと核心哲学
- Cordis プラグインアーキテクチャ:サービス、イベント、副作用
- 4つの動作モードの概要(Standard / PTC / Minimal / Creative)
- DSH と他の Agent フレームワークの比較
- 開発者プレビュー段階での利用上の注意
2. ある AI エンジニアリングチームの選定ストーリー
(1) ペインポイント:Agent フレームワークの断片化
Alice は AI スタートアップのアーキテクトです。彼女のチームは 2026 年第2四半期に Agent フレームワークの選定ジレンマに直面しました:
- Claude Code:Anthropic 公式 CLI だが、単一モデルにロックインされ切り替え不可
- Cursor:優れた IDE 統合だが、Agent 機能はエディタ環境に制限される
- OpenCode:オープンソース CLI ツールだが、プラグインエコシステムが弱い
- AutoGPT:コンセプト先行だが、プロダクション安定性が不十分
- LangChain:柔軟なオーケストレーションだが、ランタイムオーバーヘッドが高くデバッグが困難
プロダクトマネージャーの Bob がプレッシャーをかけました:
「モデル非依存で、プラグインが差し込める Agent フレームワークが必要だ。複数のインタラクションモードをサポートし、3ヶ月以内にリリースしなければならない。」
(2) DSH のソリューション
評価の結果、Alice は DeepSeek Harness を選択しました:
Plugin system: 0 extensible → everything is plugin
Model support: 1 provider → DeepSeek + OpenAI-compatible
Interaction modes: CLI only → Web UI + CLI + SDK + Headless
Runtime overhead: high → minimal (Cordis lazy-loading)
Community: GitHub 187.3k stars, MIT license
DSH の「すべてはプラグイン」アプローチにより、Alice のチームは必要に応じて機能を組み立てることができました:
- 第1週:Web UI + DeepSeek API で最初の Agent を実行
- 第3週:OpenAI 互換エンドポイントに接続、GPT-4o に切り替え
- 第6週:カスタムツールプラグイン、社内 API に接続
- 第10週:Python SDK をプロダクションパイプラインに統合
(3) 結果
3ヶ月間の DSH 利用後:
- 開発効率:Agent 機能リリースサイクルが2週間から3日に短縮
- モデル柔軟性:3つの LLM をコード変更ゼロでシームレスに切り替え
- プラグイン再利用:5チームが12のカスタムプラグインを共有
- 運用コスト:Headless モードデプロイでリソース使用量が60%削減
3. DeepSeek Harness とは
DeepSeek Harness(DSH)は DeepSeek チームのオープンソース Agent フレームワークで、GitHub で 187.3k スターを獲得し、MIT ライセンスで提供されています。DSH 自体は Agent ではなく、Agent を実行するためのフレームワーク——モデル適応、ツールオーケストレーション、セッション管理、サンドボックス実行のインフラを提供します。

▶ サンプル 1:
graph TB
subgraph DSH[DeepSeek Harness]
C[Cordis Kernel<br/>Plugin Engine]
M[Model Adapter<br/>DeepSeek / OpenAI]
T[Tool System<br/>file_edit / shell / search]
S[Sandbox Engine<br/>Approval & Isolation]
L[Session Log<br/>append-only log]
end
C --> M
C --> T
C --> S
C --> L
U[User] -->|Web UI / CLI / SDK| DSH
| 次元 | DSH | 従来の Agent フレームワーク |
|---|---|---|
| 設計哲学 | すべてはプラグイン | ハードコードされた機能 |
| モデルバインディング | モデル非依存 | 特定の LLM にロックイン |
| 拡張方法 | プラグイン注入 | ソースコード変更またはコールバック |
| インタラクションモード | Web/CLI/SDK/Headless | 通常 CLI のみ |
| ランタイム | Cordis レイジーロード | 完全初期化 |
(2) 開発者プレビューの注意事項
DSH は現在開発者プレビュー段階にあり、以下の点に注意してください:
- API は今後のバージョンで破壊的変更が行われる可能性があります
- 一部の機能はまだ完成していません(例:マルチモーダル、高度なサンドボックス機能)
- ドキュメントがコードに遅れる場合があります
- 本番環境での直接使用は推奨されません
# インストール時の開発者プレビュー通知
npx @deepseek-ai/dsh web
# ⚠️ DeepSeek Harness is in developer preview.
# APIs may change before stable release.
ただし、開発者プレビューだからといって使用できないわけではありません——コア機能(会話、ツール、プラグイン)は安定して動作し、コミュニティも急速に反復しています。
4. Cordis カーネル:すべてはプラグイン
Cordis は DSH のコアフレームワークで、ラテン語の「心臓」に由来する名前——システム全体の鼓動する中心です。
(1) プラグイン提供モデル
各プラグインは Cordis の共有 Context に3種類のコンテンツを提供します:
interface PluginContribution {
services: Service[]; // Callable capabilities exposed by the plugin
events: EventType[]; // Typed event streams
sideEffects: SideEffect[]; // Reversible side-effect operations
}
- Service:プラグインが公開する呼び出し可能な機能(例:
llm.complete()、shell.execute()) - Event:型付きイベントストリーム(例:
tool.beforeExecute、session.forked) - Side Effect:可逆的な操作(例:ロールバック可能なファイル変更、取り消し可能な Shell コマンド)
▶ サンプル 2:
graph LR
P1[LLM Plugin] -->|contributes service| CTX[Shared Context]
P2[Tool Plugin] -->|contributes service| CTX
P3[Sandbox Plugin] -->|contributes event| CTX
P4[Log Plugin] -->|subscribes to event| CTX
CTX -->|dispatches| P1
CTX -->|dispatches| P2
CTX -->|dispatches| P3
CTX -->|dispatches| P4
この設計により以下が保証されます:
- プラグイン間にゼロの直接的依存——共有 Context を介して間接的に通信
- 新しいプラグインの追加に既存のプラグインコードの変更は不要
- 副作用は可逆的——操作のロールバックとセッションの復元をサポート
▶ サンプル 3:
import { definePlugin } from '@deepseek-ai/dsh';
export default definePlugin({
name: 'hello-dsh',
version: '1.0.0',
contribute(ctx) {
ctx.registerService('hello', {
greet(name: string) {
return `Hello, ${name}! Welcome to DSH.`;
}
});
ctx.emit('hello.registered', { timestamp: Date.now() });
}
});
5. 4つの動作モードの概要
DSH は4つの動作モードを提供し、異なるユースケースと好みに対応します:
(1) モード早見表
| モード | フルネーム | 特徴 | ユースケース |
|---|---|---|---|
| Standard | Standard | デフォルトモード、Agent が自律的にツール使用のタイミングを決定 | 一般的なプログラミング、Q&A |
| PTC | Plan-then-Code | 先に計画してから実行;計画は可視化・制御可能 | 複雑なタスク、コードリファクタリング |
| Minimal | Minimal | 最小限のツール呼び出し、Agent は主に自身の能力に依存 | シンプルな Q&A、ナレッジクエリ |
| Creative | Creative | 最高の自由度、探索的な出力を奨励 | 創作的ライティング、ブレインストーミング |
(2) モード切り替え
# CLI モード切り替え
dsh --mode standard
dsh --mode ptc
dsh --mode minimal
dsh --mode creative
Web UI では、上部のドロップダウンメニューからリアルタイムでモードを切り替えられます。
graph LR
USER[User Input] --> MODE{Running Mode}
MODE -->|standard| S[Agent Autonomous Decision]
MODE -->|ptc| P[Plan First, Then Code]
MODE -->|minimal| M[Minimal Tool Calls]
MODE -->|creative| C[Exploratory Output]
S --> TOOLS[Tool System]
P --> TOOLS
M --> TOOLS
C --> TOOLS

モードの詳細な比較と設定については、
04-model-config.mdを参照してください。
6. 他の Agent フレームワークとの比較
(1) 主要次元の比較
| 次元 | DeepSeek Harness | Claude Code | Cursor | OpenCode |
|---|---|---|---|---|
| オープンソース | ✅ MIT | ❌ クローズド | ❌ クローズド | ✅ MIT |
| モデル非依存 | ✅ マルチモデルアダプタ | ❌ Claude のみ | ❌ マルチモデル | ✅ マルチモデル |
| プラグインシステム | ✅ Cordis | ❌ なし | ⚠️ 限定 | ❌ なし |
| Web UI | ✅ 内蔵 | ❌ CLI のみ | ✅ IDE 統合 | ❌ CLI のみ |
| SDK | ✅ Python | ❌ | ❌ | ❌ |
| Headless | ✅ | ❌ | ❌ | ❌ |
| サンドボックス | ✅ 設定可能 | ⚠️ 内蔵 | ❌ | ❌ |
| GitHub Stars | 187.3k | — | — | — |
(2) DSH の差別化優位性
- モデルの自由:特定の LLM ベンダーにロックインされず、DeepSeek API と OpenAI 互換エンドポイントがプラグアンドプレイ
- プラグインエコシステム:Cordis アーキテクチャにより、機能拡張は「ソースコードの変更」ではなく「プラグインの作成」に
- マルチチャネルインタラクション:初心者には Web UI、開発者には CLI、統合には SDK、自動化には Headless
- 可逆的な副作用:操作のロールバックが可能、Agent フレームワークでは極めて稀な機能
(3) DSH が適さないシナリオ
- 100% のプロダクション安定性が必要(開発者プレビュー段階)
- 純粋なブラウザサイド操作(DSH は Node.js ランタイムが必要)
- 極めて低リソースの環境(Cordis カーネルに基本オーバーヘッドあり)
7. 技術スタックの概要
DSH の完全な技術スタック:
graph TB
subgraph Interaction Layer
WEB[Web UI<br/>React + Vite]
CLI[CLI<br/>Terminal Interaction]
SDK[Python SDK<br/>Programmatic Access]
HEAD[Headless<br/>Unattended Execution]
end
subgraph Core Layer
CORDIS[Cordis<br/>Plugin Engine]
SESSION[Session Manager<br/>Session Management]
TRAJ[Trajectory<br/>Log Engine]
end
subgraph Plugin Layer
LLM[LLM Adapter<br/>DeepSeek / OpenAI]
TOOLS[Tool Plugins<br/>file_edit / shell / search]
SANDBOX[Sandbox Plugin<br/>Approval & Isolation]
PROFILE[Profile Plugin<br/>Configuration Composition]
end
WEB --> CORDIS
CLI --> CORDIS
SDK --> CORDIS
HEAD --> CORDIS
CORDIS --> SESSION
CORDIS --> TRAJ
CORDIS --> LLM
CORDIS --> TOOLS
CORDIS --> SANDBOX
CORDIS --> PROFILE
❓ よくある質問
📖 まとめ
- DSH は DeepSeek のオープンソース Agent フレームワークで、核心哲学は「すべてはプラグイン」
- Cordis カーネルは共有 Context を通じてプラグインの疎結合を実現:Service、Event、可逆的 Side Effect
- 4つの動作モードが異なるシナリオに対応:Standard / PTC / Minimal / Creative
- Claude Code、Cursor 等と比較して、DSH の核心的優位性はモデル非依存+プラグインエコシステム+マルチチャネルインタラクション
- 現在は開発者プレビュー段階;コア機能は使用可能だが API は変更される可能性あり
- GitHub 187.3k スター、MIT オープンソースライセンス、活発なコミュニティ
📝 練習問題
1. ⭐ 基礎:DSH の GitHub リポジトリを訪問し、README を読んで、最も魅力的だと感じる機能を3つ挙げ、その理由を説明してください。
2. ⭐⭐ 応用:表を使って DSH とあなたがよく知る別の Agent ツール(例:Claude Code、Cursor)を比較してください。比較次元は6つ以上含めること。
3. ⭐⭐⭐ チャレンジ:Cordis プラグイン提供モデルの理解を示す Mermaid アーキテクチャ図を作成してください——3つ以上のプラグインを含め、それぞれが提供する Service、Event、Side Effect に注釈を付けること。