DeepSeek Harness · すべてがプラグイン

プラグインがすべての Agent 能力を提供 Cordis はロードと依存関係だけを管理

DeepSeek Harness は「何ができるか」を差し替え可能なモジュールにします。モデルアダプタ、ツール、スキル、セッション、サンドボックス、ストレージ、ループ、スケジューリング、UI はすべてプラグインです。まず DeepSeek ウェブ版で DeepSeek-V4 と要件を揃え、その後 Harness 設定で対応プラグインを置き換えます。

カーネル

Cordis

ロード / アンロード / 依存関係

能力

すべてプラグイン

モデルと UI を含む

設定

自由に組み合わせ

ソース変更は不要

エコ

dsh-plugin

GitHub topic で発見

プラグインが覆う能力面

モデルから UI まで、DeepSeek Harness に特権的なカーネル機能はない

公式の表現:すべての Agent 能力はプラグインが提供します。つまり DeepSeek-V4 アダプタ、ツールセット、さらには UI まで、置き換えたり拡張したりできます。

モデルプラグイン

モデルは Agent の魂ですが、Harness ではプラグインでもあります。設定でアダプタを切り替え、DeepSeek-V4 や他のプロバイダを同じツールとセッションログに接続できます。

DeepSeek-V4 モデルプラグイン

ツールとスキル

ファイル編集、Shell、検索、Skills などはプラグインとしてツール表に登録されます。標準モードは完全な組み合わせを出し、ミニマルモードは評価のために bash + エディタまで削れます。

DeepSeek Harness ツール

セッションと Trajectory

セッションログは追記専用:システムプロンプト、思考チェーン、ツール結果、サブ Agent のスケジューリング、コンテキスト注入は同一ソースから再生でき、「モデルが実際に何を見たか」のデバッグに役立ちます。

DeepSeek セッションログ

サンドボックスとストレージ

サンドボックス、ファイルシステム、永続化も同じくプラグインです。サンドボックス方針を替えるとき Agent ループを変える必要はなく、設定層で実装を切り替えるだけです。

DeepSeek Harness サンドボックス

ループ、スケジューリング、サブ Agent

Agent ループ、タスクスケジューリング、サブエージェント編成は組み合わせ可能です。PTC / Code モードではさらに、モデルが TypeScript プログラムで多段ツールをつなげます。

DeepSeek Agent ループ

UI もプラグイン

Web UI は取り替えのきかないシェルではありません。dsh web が起動するブラウザ UI 自体もプラグインツリーにあり、profile(例:web / headless)ごとに異なるパッケージを重ねられます。

DeepSeek Harness Web UI
ランタイムの積み上げ方

1 回の dsh 起動 = 順序付きプラグインツリー

公式アーキテクチャは、実行中の dsh を起動時に複数層の設定から組まれるプラグインツリーとして説明します。層を理解すると、fork ではなく拡張しやすくなります。

01

Profile 設定

Profile は名前付きの組み合わせです。重ねる bundle、ツリー外プラグイン、自分の cordis.patch.yml を列挙します。web と headless はテンプレートとして提供されます。

02

dsh-base

ほぼすべての profile の第一層:モデルアダプタ、ツール、永続化、サンドボックスと承認方針、設定、資格情報、テレメトリなどの基礎能力です。

03

dsh-web-app / headless

web-app はブラウザアプリを重ね、headless はサーバーレスのワンショットランナーを重ねます。同じプラグイン哲学、異なる提供形態です。

04

コミュニティプラグイン

dsh-plugin topic でプラグインを検索可能にします。プレビュー段階では API が変わります。プラグイン作者は公式開発ガイドと Discussions を追ってください。

なぜこの設計が重要か

オープンソースで検査でき、プラグインで改造できる

ライセンスはコードを監査可能にし、Cordis はランタイムを再構成可能にします。DeepSeek Agent 開発者にとって、fork コストが下がります。

01

inject で依存を表現

プラグインは inject で必要なサービス(tools、llm など)を宣言し、Cordis はサービス準備後に消費者を起動します。ロード順は依存関係が決め、YAML の行番号ではありません。

02

可逆な副作用

リスナー、ツール登録、タイマーはプラグインのアンロード時に自動クリーンアップされます。明示的な解放が必要なリソースは effect で disposer を登録し、ホットスワップ後のリークを防ぎます。

03

まず対話し、それからプラグインを変える

モデルを替えるべきかツールを替えるべきか迷ったら、まず DeepSeek ウェブ版で DeepSeek-V4 にタスク境界を問い、その後 Harness に戻って設定を変え、むやみにプラグインをいじらないでください。

プラグインを組み合わせる前に、DeepSeek ウェブ版で目標を揃える

DeepSeek-V4 がタスクを明確にし、Harness プラグインが能力を実環境につなぎます。

プラグイン FAQ

DeepSeek Harness プラグインを書く前に知っておくこと

公式ドキュメントの立場に沿って:プラグインの形、設定の組み合わせ、DeepSeek ウェブ版との役割分担。

01 プラグインはどのような形ですか?

よくある形は apply(ctx) をエクスポートする TypeScript モジュールです。apply を持つオブジェクトや、サービスを提供する Service サブクラスでも構いません。フレームワークはロード時に共有コンテキスト ctx を渡します。

02 プラグインをランタイムにどう載せますか?

cordis.yml / overlay / patch にモジュールパスまたはパッケージ名を登録します。公式チュートリアルは、一部の場面でプラグインパスを絶対パスにする必要があり、コアパッケージを変えずに profile で重ねることを強調しています。

03 UI は本当に置き換えられますか?

公式は UI をモデルやツールと同列のプラグイン能力として挙げています。設定層でインターフェースを選択・拡張でき、DeepSeek Harness のソースを変更する必要はありません。

04 DeepSeek ウェブ版を直接使うことと衝突しますか?

しません。ウェブ版は素早い対話と DeepSeek-V4 推論に向き、プラグインは検証済みフローをツールチェーンに固めるのに向きます。本サイトの CTA はまずウェブ版チャットへ案内します。

05 プレビュー版のプラグインはよく壊れますか?

破壊的変更は起きます。公式の大文字警告です。プラグインは進化する実験として扱い、Discussions を追い、API が長期安定だと仮定しないでください。

06 アーキテクチャの詳細はどこで見られますか?

公式リポジトリの docs/architecture.md、Cordis primer、開発ガイドです。本ページは検索と製品理解向けの紹介であり、上流ドキュメントの代替ではありません。

対話から差し替え可能な Agent へ

ローカルツールとサンドボックスが必要になったら dsh を有効化。今はまず DeepSeek ウェブ版へ進めます。