dsh 設定ガイド:プロファイル・パッチ・エージェントプリセットの仕組み
DeepSeek Harness(dsh)プロセスの組み立て方を解説。bundles・profiles・patches が積層してプラグインツリーを作り、エージェントプリセットがセッションを定義します。dsh 設定の完全ガイド。
最終更新: 2026-08-14
すべてはプラグインツリー
実行中の dsh は、機能をボルトで付け足したバイナリではありません。プラグインツリー です。起動時に設定レイヤーから組み立てられる Cordis プラグインシステムで、すべての能力(ツール、モデルアダプター、ストレージ、サンドボックス、UI、メインループ)はそのツリー内のプラグインです。どのプラグインがどの順序で存在するかは、設定レイヤーが決めます。
これがメンタルモデルのすべてです。このガイドの残りはレイヤーの解説です。
レイヤー:下から上へ
設定は固定の順序で積み重なり、上位レイヤーが下位レイヤーを上書き します。
┌─────────────────────────────┐
│ patches (your overrides) ← wins
├─────────────────────────────┤
│ profiles (your named assemblies)
├─────────────────────────────┤
│ bundles (official plugin sets)
└─────────────────────────────┘
- Bundles ―― 公式がまとめて配布するプラグインセット。初回起動時のデフォルト体験は 1 つの bundle です。
- Profiles ―― 自分のマシン上の名前つき構成。「この bundles とプラグインを、この設定で読み込む」という宣言です。複数保持して切り替えられます。
- Patches ―― 自分専用のオーバーライドレイヤー。任意の単一プラグインエントリーを対象に、元のプロファイルに触れず置き換えられます。
すべてのレイヤーが単なる設定なので、環境の共有はファイルの共有です。プロファイルやパッチをコピーすることが、誰かが「自分の dsh」をあなたに渡す方法です。
パッチレイヤー:エージェントの着せ替えシステム
組み込みのパッチレイヤーは、他のエージェントと最もかけ離れて感じられる部分です。着せ替えシステム として考えてください。エージェントがどんな能力をまとうか、どんな条件でまとうかをあなたが決めます。
- ローカルエージェントをサブエージェントとしてマウント。 マシン上の Codex や Claude Code を、置き換える競合ではなく、ハーネスが委譲するサブエージェントとして登録できます。
- 能力を配線する。 ツール追加、外部サービス連携、実行権限の調整、全文検索の有効化を行うプラグインをインストール。
- UI を交換する。 インターフェースモジュールもプラグインです。スキン、パネル、UI コンポーネント全体までパッチで交換できます。
- ルールを条件付きにする。 ルールは JavaScript 式 なので、能力の適用範囲を絞れます。特定のリポジトリ、ファイルタイプ、時間帯だけ、という指定が可能です。
パッチは単一のプラグインエントリーを対象とするので、これらはすべて、下のプロファイルに触れずに追加・検査・削除できるオーバーライドです。
なぜ「プラグインのインストール」が設定編集なのか
「インストールして忘れる」意味での中央パッケージマネージャーは存在しません。プラグインのインストールとは プロファイルまたはパッチレイヤーにエントリーを追加すること で、正確な行はプラグインリポジトリの README に記載されています。次回起動時にプラグインはツリーに参加し、削除すれば登録したものはすべて取り消されます。登録は可逆な副作用でなければならないので、出来の悪いプラグインも残骸を残せません(プラグイン開発ガイド 参照)。
エージェントプリセット:1 セッションの形
UI 上部のモードセレクターは Agent Preset を選びます。それはこのセッションのエージェントの完全な定義です。
- どの ツール を持つか
- システムプロンプト
- どの スキル が読み込まれるか
- サブエージェントとワークフロー の構成
プリセットはプラグインリストにプロンプトを足したものではなく、セッションが従う契約全体です。だからセッションは内容が入った時点でプリセットをロックします。途中で切り替えると、履歴にすでにあるツール呼び出しが解釈不能になるからです。
組み込みの 4 プリセット:
| プリセット | ツール | 向いている用途 |
|---|---|---|
| Standard | 完全なアシスタント。タスクを理解し、コードを編集し、コマンドを実行し、結果を確認 | 日常のコーディングと調査 |
| PTC | Standard の全機能に加えてプログラマティック・ツールコーリング:多数のステップを組み合わせる TypeScript プログラム | 大量の機械的ステップ、コンテキスト節約 |
| Minimal | 永続ターミナルと基本的なテキスト置換ツールのみ | 単純な編集、ベンチマーク、学習 |
| Creation | Standard の全機能に加えてランタイム検査、プラグイン試行、プリセット構築 | 自分のプリセットの設計 |
自分のプリセットを作る
Creation モードが新しいプリセットを設計する公式の方法です。欲しいものを説明します(「ファイルを一切編集せず、中国語で答える読み取り専用コードレビュアー」)。するとハーネスが実行中のランタイムを検査し、メモリ上でプラグインを試し、設定を下書きし、マウントして再利用できるよう保存します。
ドキュメントにある 2 つの注意点を繰り返しておきます。
- Creation モードはモデルが書いたコードをランタイムに対して実行します。シェルアクセスと同じ信頼度で扱ってください。
- プリセットは設定です。デフォルトにする前に、保存された内容をレビューしましょう。
設定をやめるタイミング
気持ちのよいデフォルトはこれです。Standard を動かし、ほぼ何も変えない。 プロファイルやパッチに手を出すのは、同じセットアップを繰り返すとき(チームで 1 つのプロファイルを共有)、1 つの仕事に固定の道具箱が欲しいとき、1 つの部品(別のモデルアダプター、より厳しい承認ポリシー)を交換したいときです。上位レイヤーは、全体をフォークせずに 1 点だけ上書きするために存在します。
次に読む
- サンドボックス・承認・シークレット ―― これらのレイヤーが差し込まれる安全モデル
- クイックスタート:5 分で dsh を動かす
- dsh プラグインのエコシステム
