MIT ライセンスの DSH プラグイン。肥大化したツールカタログを `tool_search` / `tool_describe` / `tool_call` の背後に畳み込み、段階的開示・rerank マッチャ・キーワード退避を備えます。`dsh plugin` 1 コマンドで導入し、設定は `~/.dsh/dsh-tool-search.json` からホットリロードされます。
DSH 統合
ネイティブ実行
作者による申告
安全性監査
未監査
最終検証日
2026-11-13
ライセンス
MIT
01どんなタスクに使えるのか?
大規模なツールカタログ(多数の MCP サーバーやプラグインツール)を、タスクが実際に必要とするまでコンテキストウィンドウに入れない
コンテキストに残るのは eager なコアと 3 つのブリッジツールだけ。遅延されたスキーマは必要時に注入され、`maxWarmTools` で LRU 上限がかかります
カタログが大きくなり、毎ターン使わないツールスキーマを抱えている DSH ユーザー
DeepSeek Harness のターン内で、遅延されたツールを検索・確認・実行する
順位付けされた `{name, description, group}` の一致結果、1 つのツールの完全なスキーマ、または名前で実行された実ツール。承認・ガード・セッションイベントは元のツールに紐づいたままです
多数の MCP サーバーやプラグインツールを DSH に組み込み、それらを呼べる状態に保ちたい開発者
JSON を手書きせずにツールグループと rerank マッチャを設定する
`tool-slimmer-setup` スキルがカタログを読み、グループ案を出し、グローバルかプロジェクト単位かを確認したうえでマッチャ設定を案内します。生成されたファイルはホットリロードされます
設定ファイルを編集するより、エージェントと対話して済ませたい人
02DeepSeek Harness への導入方法
前提条件
- DSH が導入済みで、プラグインを追加できる profile があること——README では `--profile web` を使用
- `tool_search` と preload には OpenAI 互換の `/v1/rerank` エンドポイントと API キーが必要。なくてもキーワード退避は動作します
インストール手順
- 01
次のコマンドを実行します:`dsh plugin --profile web add dsh-tool-search`
$ dsh plugin --profile web add dsh-tool-search
- 02
エージェントにツールのグループ化を依頼——同梱の `tool-slimmer-setup` スキルがグループ案を提示して確認し、設定をグローバルにするかプロジェクト単位にするかを尋ね、rerank マッチャの設定まで案内します
- 03
静的な調整(予算、`core`、`maxWarmTools`)は profile の `cordis.patch.yml` を編集。グループ・マッチャ・preload は実行時 JSON ファイルに置き、次のターンから反映されます
導入成功の確認
作者は未記載
03DSH 統合と能力の範囲
DSH プラグイン。`system-prompt/assemble` リスナーが毎ターン、モデルから見えるツール一覧を書き換え、ロングテール部分を `tool_search` / `tool_describe` / `tool_call` のブリッジに置き換えます。
ブリッジツール(`tool_search` / `tool_describe` / `tool_call`)
自然言語のクエリ、遅延されたツール名、またはツール名と引数→順位付けされた一致結果、1 つのツールの完全なスキーマ、または実ツールの実行結果
一致したツールと describe したツールはセッションの可視セットにウォームされます承認・ガード・セッションイベントは実ツールを参照し、ブリッジを参照することはありません段階的開示
ターンごとのツールカタログとトークン予算→ティア 0〜3 の一覧——ブリッジなし、グループ化マニフェスト、名前のみ、グループごとに件数付き 1 行
対話型セットアップスキル(`tool-slimmer-setup`)
自分のツールカタログ→プラグイン JSON に書き込まれるツールグループ・設定スコープ・rerank マッチャ設定
ユーザースコープなら `~/.dsh/dsh-tool-search.json`、プロジェクトスコープなら `<workspace>/.dsh/dsh-tool-search.json` に書き込みますrerank マッチャとキーワード退避
検索クエリと、model と key を設定した OpenAI 互換の `/v1/rerank` エンドポイント→意味的に並べ替えた一致結果。マッチャ未設定や rerank 呼び出し失敗時はキーワード順位(名前の完全一致 > 名前のトークン > 説明のトークン)に切り替わります
クエリとツールのメタデータは設定済みの rerank エンドポイントに送信されます動的注入(ウォームセット)
あるターンで使われた遅延ツール→その完全なスキーマは以降のターン向けにモデルのコンテキストへ残り、`maxWarmTools` で LRU 上限がかかります
ウォーム上限に達するまで、モデルから見えるツール一覧が増えます
04誰に向いているのか?使うべきでない場面は?
向いている用途
- カタログが大きくなり、毎ターン使わないツールスキーマを抱えている DSH ユーザー
- 多数の MCP サーバーやプラグインツールを DSH に組み込み、それらを呼べる状態に保ちたい開発者
- 設定ファイルを編集するより、エージェントと対話して済ませたい人
不向きな用途
- `tool_search` と preload には OpenAI 互換の `/v1/rerank` エンドポイントと、プラグイン JSON に保存した API キーが必要です(README の例は DashScope の rerank URL と `sk-...` のキー)。設定が済むまで `tool_search` は設定案内を返すだけです。
- このプラグインが差し込むフックポイントは dsh とともに移ります。0.2.1-rc.3 以降、PTC の生成器は `@deepseek-ai/dsh-tool-executor-ptc` にあり、どちらのパッケージも持たないホストではセクション書き換えを無効にして読み込まれ、そうしたホストではテーブルのスリム化は以前のリリースにのみ適用されます。
05互換性・メンテナンス・セキュリティ上の注意
- `tool_search` と preload には OpenAI 互換の `/v1/rerank` エンドポイントと、プラグイン JSON に保存した API キーが必要です(README の例は DashScope の rerank URL と `sk-...` のキー)。設定が済むまで `tool_search` は設定案内を返すだけです。
- このプラグインが差し込むフックポイントは dsh とともに移ります。0.2.1-rc.3 以降、PTC の生成器は `@deepseek-ai/dsh-tool-executor-ptc` にあり、どちらのパッケージも持たないホストではセクション書き換えを無効にして読み込まれ、そうしたホストではテーブルのスリム化は以前のリリースにのみ適用されます。
- 静的な調整(`thresholdPct`、`listingMaxTokens`、`configScope`、`core`、`maxWarmTools`)は profile の `cordis.patch.yml` にあり、変更には再起動が必要です。グループ / マッチャ / preload は実行時 JSON ファイルにあり、mtime で監視されて次のターンにホットリロードされます。
- rerank が主たる順位付けです。マッチャがない場合や rerank 呼び出しが失敗した場合、検索はキーワード照合(名前の完全一致 > 名前のトークン > 説明のトークン)に退避し、エラーにはなりません。結果は rerank より弱くなりますが、ターンは成立します。
MIT · README の証拠のみ(npm 経由で配布、facts パックに GitHub release なし)、セキュリティ監査は未実施
06よくある質問
dsh-tool-search を DeepSeek Harness に導入するには?
`dsh plugin --profile web add dsh-tool-search` を実行します。しきい値などの静的設定(`thresholdPct`、`listingMaxTokens`、`configScope`、`core`、`maxWarmTools`)は profile の `cordis.patch.yml` に書き、変更後は再起動が必要です。ツールのグループ、マッチャ、preload は `~/.dsh/dsh-tool-search.json`(または `<workspace>/.dsh/dsh-tool-search.json`)に置き、次のターンから反映されます。
ツールが DSH から削除されることはありますか?
いいえ。スリム化は `system-prompt/assemble` が組み立てるモデル可視部分だけを書き換え、レジストリは完全なままなので遅延されたツールも実行できます。`tool_call` が呼ばれると、プラグインは `ctx.tools.execute` 経由で実ツール名を実行するため、承認・ガード・セッションイベントはブリッジではなく元のツールを参照します。
API キーは必須ですか?
`tool_search` と preload を使うなら必要です。マッチャは OpenAI 互換の `/v1/rerank` エンドポイントで、`apiKey` と `model` をプラグインの JSON に書きます(README の例は DashScope の rerank URL と `qwen3-reranker`)。未設定のうちは `tool_search` が設定案内を返すだけで、マッチャがない場合や rerank 失敗時はキーワード照合に退避し、エラーにはなりません。
設定ファイルはどこに書き込まれますか?
ツールのグループ、マッチャ、preload は実行時 JSON に保存されます。ユーザースコープは `~/.dsh/dsh-tool-search.json`、プロジェクトスコープは `<workspace>/.dsh/dsh-tool-search.json` で、`configScope: auto` ではプロジェクト側のファイルが優先されます。ファイルは mtime で監視されホットリロードされるため、DSH を再起動せずに次のターンから反映されます。
DSH のバージョンが上がるとツール一覧はどうなりますか?
ホストごとに適応します。dsh 0.2.1-rc.3 以降 PTC の生成器は `@deepseek-ai/dsh-tool-executor-ptc` に移り、実行時の動的 import で解決されます。どちらのパッケージも持たない harness では import グラフを壊さずセクション書き換えを無効にして読み込まれ、そうしたホストでも宣言の書き換えとカタログ注入は行われ、テーブルのスリム化は以前のリリースにのみ適用されます。
07関連する DSH ワークフロー
archify
by tt-a1i
Turn any idea, plan, or codebase into a beautiful interactive diagram. An agent skill for Claude Code, Codex, and more.
openviking
by volcengine
Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.
aitoearn
by yikart
Let's use AI to Earn!
learn-harness-engineering
by walkinglabs
Harness engineering beginner tutorial, from 0 to 1
08データと出典
This plugin collapses the long tail behind three bridge tools and lets the model discover and load them on demand throug…
On every turn, the plugin's `system-prompt/assemble` listener computes the tier and replaces the model-visible tools:
- **Bridge tools** — `tool_search`, `tool_describe`, `tool_call` replace the deferred schemas.
このページは、プロジェクトの公開ドキュメント、リポジトリのメタデータ、および DSH Plugins の構造化解析に基づいて生成されています。最終検証日:2026-11-13。誤りを見つけた場合は、修正を送信してください。
dsh プラグイン おすすめ
最初に入れたい 12 のプラグイン。全カタログ・全カテゴリから厳選しました。
