最終確認は 2026年9月18日。公式リポジトリ、プラグイン設定カタログ、インストール手順に照らして書いた。根拠は DeepSeek Harness 公式リポジトリ、Plugin Config Catalog、プラグインの梱包とインストール、および DeepSeek API 料金ページ。
設定カタログを開くと @deepseek-ai/dsh-* が何十と並ぶ。日本の現場でもよくある一手は「入るものは全部入れる」。Agent が賢くなるはず、という期待だ。実際は逆に寄る。ツール名がコンテキストを埋め、MCP プロセスがサンドボックスの外で素走りし、セッションログが膨らみ、先に来るのは請求書。パッチの質はあとからついてこない。
先に結論です。DeepSeek Harness(dsh)の標語は Everything is a Plugin だが、コードを書くときに買うべきなのは「プラグインの個数」ではない。リポジトリを読む、ファイルを直す、テストを回す、手順書を必要なときだけ出す、再生できる、測れるの六つだ。下の10個がその六つを覆う。残りは画面、デモ、差し替え可能なバックエンドが多い。場面が来てから足せば足りる。
8月には DeepSeek Harness の設計と評価、9月には Harness / Skill / Sandbox の実測 を書いた。あちらは実行層をなぜ分けるか。こちらはもっと日常の問いだけに答える。dsh でコードを書くと決めたあと、何を入れ、どう組み、月にいくらかかるか。
全部入れない。プラグインは機能一覧ではなく組み合わせ
公式はモデル接続、ツール登録、セッションログ、Agent ループを差し替え可能な包にし、Cordis で Profile に重ねる。入り口は dsh plugin --profile web add。命令は Profile ディレクトリの pnpm に渡り、dsh.bundle を宣言した包だけが層へ入る。あとから書いた bundle、Profile 自身の cordis.patch.yml、ホームのパッチ、--patch がこの順で上書きする。
コードを書く側には、これが三つの実務になる。
- 載ったことと、モデルに見せてよいことは別。MCP クライアントは外部ツールを
mcp__server__toolの形で登録する。公式の書き方ははっきりしている。各 MCP サーバはサンドボックス外の信頼済み実行ファイルであり、既定では一つも開かない。 - 層の順が勝敗を決める。モデルやサンドボックスを替える、特定のツールを消す、なら先に Patch。コアを複製しない。
dsh --profile web --dump-configで、そのマシンが実際に起動する木を見る。カタログの目次よりこちらの方が正しい。 - リポジトリは開発者プレビューのまま。破壊的変更はあり得る。差し替え可能な実行層として試すのはよい。認証済みの本番基盤としては見ない。
だからこの10個は「公式の全一覧」ではない。AIコーディングで出る頻度で切った、最小で足りる組だ。ツール循環が止まらなくなったときの壊れ方は、フィールド名が違ってもほぼ同じ。他モデルで一度踏んでいるなら Kimi K3 の Tool Calls 循環対策 と並べて読む。先にループを止め、それからプラグインを語る。
AIコーディングで本当に効く10個のPlugin
各包は「どの転び方を肩代わりするか」だけ書く。名前は設定カタログ準拠。対で出るものは、同じ能力の継ぎ目の定義・提供者・消費者だ。入れるときは両方見る。片側だけ入れない。
1. dsh-tool-fs + dsh-tool-fs-search:先にリポジトリを見る
ディレクトリを読んでいないモデルが「リファクタします」と言い出す。ファイル読みと、記号・文言での検索は、そのあとの編集すべての前提だ。この対が無いと、精密な置換は間違ったパスの上で自信たっぷりに走る。リポジトリの地図が先、編集はあとだ。
2. dsh-tool-str-replace-editor:塊で直す。ファイルごと書き換えない
コード作業で高い失敗は「直らなかった」ではない。一回の呼び出しでファイル全体を、モデルの記憶にある古い版へ書き戻すことだ。文字列置換エディタは古い断片と新しい断片を出させ、衝突したら失敗する。黙って上書きしない。複数ファイルの整理では、「完成ファイルを生成する」より安く、巻き戻しも楽だ。
3. dsh-tool-bash + dsh-bash-sandbox:テストは回せる。閉じてもおく
赤テストを直し、linter を回し、ビルドログを見る。最後はシェルに入る。公式の Process Sandbox が見るのは、同じホストの子プロセスが残すファイル副作用だけ。read-only は書き込みを拒み、workspace-write はセッション作業域だけ許し、danger-full-access は隔離を飛ばす。隔離を求めたのにバックエンドが無ければ SANDBOX_UNAVAILABLE で止める。黙った素走りは禁止。通信の隔離はこの三モードの外にある。読み取り専用が外向き通信まで止めると思わない。
4. dsh-tool-lsp + dsh-lsp-stdio:コンパイラの口をループへつなぐ
モデルが「型は合っている」と思うことと、言語サーバがエラーを返すことは別物だ。stdio の LSP は定義ジャンプ、診断、記号検索をツールにする。TypeScript、Go、Rust のような診断が厚い言語向き。スクリプト主体のリポジトリや文書だけの仕事なら先に入れない。ツール名を一回分減らせる。
5. dsh-tool-skill + dsh-skill-filesystem:手順書は必要なときだけ
コード規約、リリース点検、テストの入り口を Skill に書く。モデルは普段カタログだけ見、着手したら skill({ name }) する。プロジェクト根では .dsh/skills が先、.agents/skills が次。Skill は権限の仕組みではない。手順が明瞭なほど、サンドボックスが無いときの危険は増える。層の分け方は前の実測に任せ、ここでの要点だけ言う。コーディングでは、システムプロンプトに並ぶ「必ず守れ」をこれで置き換える。
6. dsh-mcp-client:GitHub のような外の道具を一本つなぐ
インスタンス一つが MCP サーバ一つ。stdio なら @modelcontextprotocol/server-github を引き、モデルが見るのは mcp__github__create_issue のような限定名だ。向くのは「PR コメントを読み、Issue を並べ、checks を見る」。日常の既定ツールにはしない。秘密は環境変数。プロセスはサンドボックスの外。サーバを一つ足すたびに、信頼面が一つ増える。
7. dsh-plan-mode:計画を書いてから作業域に触る
複数ファイルの整理、公開 API の変更、移行スクリプト。モデルが考えながら書き始めると危ない。Plan mode は「手順を出して人に見せる」をプラグインの振る舞いにする。プロンプトで冷静を頼まない。単体テスト一件なら無くてよい。触るディレクトリが三つを超えたら先に入れる。
8. dsh-tool-todo:複数工程をセッションに釘で止める
「フレークなテストを直す、回帰を足す、README を直す」を会話の記憶だけに預けると、最後の一段が落ちる。Todo は一覧をセッション内の更新可能な物にする。Skill(どうやるか)の代わりではない。Plan(やるか、何を先か)の代わりでもない。
9. dsh-compaction-tool-result-pruner + dsh-token-meter:長いセッションは結果を切ってからモデルを替える
AIコーディングの請求が死ぬのは初回ではない。十回目になっても、テストログ全文、diff 全文、ページ取得全文を窓に残しているときだ。結果の剪定は、もう参照されないツール出力を捨てる。token meter は各ラウンドの消費を見せる。計測が無いと、モデルが高いのか、プラグインが窓を満杯にしたのか分からない。
10. dsh-session-persistence-sqlite:セッションは再生できる。メモリだけで終わらせない
プロセス再起動、タブ切り替え、別の人が原因を追う。次のラウンドはディスク上のログから再建できなければならない。JSONL でも残せる。SQLite の方がセッション単位の検索と、「なぜその一行を直したか」の事後対照に向く。この層が無いと、上の9個の現場はスクショでしか振り返れない。
よくある4場面、入れるものを変える
同じ10個を、毎回全部開く必要はない。仕事で選ぶ方が、「それっぽい構成」で選ぶより安い。
場面A:赤テストを直す。最小は fs / search、str-replace、bash+sandbox。失敗ログを読み、直す範囲を最小にし、同じテストをもう一度回す。Skill は、リポジトリに「まずこのコマンド」が決まっているときだけ載せる。Plan と MCP はこの場面では雑音だ。
場面B:複数ファイルの整理。A に plan-mode、todo、LSP を足す。どの記号を直し、どのテストが緑でなければならないかを先に書かせ、書いてから許可する。計画なしで置換を開くと、よくある結末は公開関数が半分だけ新しい名前になり、呼び出し側が古い名前のまま残ることだ。
場面C:GitHub の PR を見て直す。MCP クライアントを足し、サーバは一つだけ。PR の diff、checks、コメントを取る。ファイルを直す本体は editor と sandbox のまま。Issue 作成、マージ、ブランチ削除を、日常編集の既定一覧に混ぜない。
場面D:長いセッション、何ラウンドも探す。compaction と token-meter を足し、セッションは SQLite へ。20ファイル読んだあとにツール結果を切らないと、あとの各ラウンドは賞味期限の切れたログに金を払う。強いモデルに替えても、膨れた窓は救えない。
日常・チーム・コストの3セット
上の場面を、複製できる三つの Profile に畳む。仕事のたびに cordis.yml を手で直すより、戻りにくい。
| 組み合わせ | 既定で開く | 先に開かない | 向く人 |
|---|---|---|---|
| 日常のコーディング | fs / search、editor、bash+sandbox、skill | MCP、子 Agent、全文 Web 検索 | 一人でバグを直し、小さな機能を書く |
| チーム作業 | 日常 + plan + todo + SQLite + GitHub MCP 一つ | 二つ目の MCP、danger-full-access | 再生が要る、PR を見ながら直す |
| コスト抑制 | 日常 + token-meter + 結果の剪定 + Flash | Pro を既定、長いログを切らない | 毎日何十ラウンドも回す |
Web 検索と子 Agent が使えない、という意味ではない。既定のコストが高く、失敗面が広い。公式カタログには dsh-web-search-deepseek、dsh-tool-web、複数の subagent 実装がある。文書を引く、読み取り専用の調査を切り出す、そのときに Patch で開く。日常の bundle には書かない。
入れる順を覚える。@deepseek-ai/dsh-base を先に載せ、dsh plugin --profile web add で自分の包を足し、最後に Profile の patch で見せたくないツールを消す。GitHub ホストで prepare があるソースプラグインは、pnpm 10 が構築スクリプトを止める。公式の案内どおり許可してから入れる。グローバルな危険権限へ広げない。
デプロイ費用:トークン、マシン、プラグイン税
プラグイン本体に、ほぼライセンス料は無い。払うのはモデルのトークン、常時起動のマシン、サンドボックスから外へ出た外部プロセスだ。
トークンが本体。2026年9月の公式料金は100万トークン単位。deepseek-flash はキャッシュヒット約 0.003 / 0.006 ドル、ミス 0.15 / 0.30 ドル、出力 0.60 / 1.20 ドル(オフピーク / ピーク)。deepseek-v4-pro はミス 0.66 / 1.32、出力 1.98 / 3.96。ピークは月曜から金曜の UTC 01:00–04:00 と 06:00–10:00。日本時間では 10:00–13:00 と 15:00–19:00 で、平日の勤務帯そのものに重なる。オフピークは半額。「ファイル8個を読み、テストログを二ラウンド取り、短いパッチを書く」だけで入力が数万トークンに届く。切らないと、十ラウンド目は前九ラウンドのログをもう一度払う。
日常の粗算。1日30ループ、平均で入力2万(ミス)+ 出力1千。Flash のオフピークならおよそ1日 0.11 ドル、月おおよそ 3 ドル。同じ回数を Pro 既定のまま、テスト出力を窓に残すと、月の請求は簡単に数十ドルへ行く。節約の順は、先にツール結果を切りキャッシュを当て、それから Pro にするか決める。先にモデルを替えない。
マシンが二番目。npx @deepseek-ai/dsh web の既定は本機の 127.0.0.1:3080 だけ。昼に書いて夜に落とす使い方に向く。セッションの SQLite、Skill ディレクトリ、サンドボックス方針を24時間つなぎたいなら、落ちないノードが要る。ノートの蓋を閉じる、自宅 NAT が変わる、これだけで遠隔の同僚は同じセッションを見られない。クラウド Mac mini の値は「API より賢い」ことではない。プレビュー版 Harness を、いま成果物を出しているマシンから外すことだ。Seatbelt、Unix の道具、固定 cwd は、スリープする Windows ノートを遠隔操作するより予測しやすい。
プラグイン税が三番目。MCP サーバを一つ足すたびに、サンドボックス外のプロセスと秘密の組が一つ増える。LSP は言語サーバを常駐させる。Web 取得はページ HTML をコンテキストへ流し込む。DeepSeek の料金表には出ないが、Flash の安さを食う。日常の四点セットの税はほぼ零。チームセットに GitHub MCP を一本足すなら、まだ元は取れる。検索、子 Agent、二つ目の MCP を全部既定で開けると、費用はトークンから運用へ漏れる。
リポジトリはプレビューのまま。Harness と顧客案件を同じビルド機に溶接すると、ループ、手順書、ファイル隔離の三つがリリース経路に重なる。捨てられるノード、戻せるノード、権限を絞れるノード。デプロイ費用で買うべきなのは、そこだ。
足すべきとき、足さないとき
| いまの状況 | 提案 | 理由 |
|---|---|---|
| 関数一つ、テスト一本 | 日常の四点セット | Plan / MCP / LSP は余分なツール名 |
| 公開 API、またはディレクトリ三つ以上 | plan + todo + LSP を足す | 手順を合わせてから書き込みを許す |
| PR コメントや checks を見ながら直す | GitHub MCP を一つだけ | 外部ツールは既定の信頼面。積まない |
| 毎日何十ラウンド、請求が跳ね始めた | meter + 剪定 + Flash | 窓に何が積もったかを見てからモデルを替える |
| Skill と Sandbox の境がまだ曖昧 | プラグインを広げない | 手順書が厚いほど、素書きは危ない |
自前の「while ループと道具を二、三個」と比べ、dsh の得は層の順、セッション、隔離がすでに分かれていること。払うのはプレビュー期の破壊と、設定カタログを全部押さない自制だ。今年ほんとうにモデルバックエンドやサンドボックスを替える、同じ Skill を複数リポジトリで使う、そのときこの10個は元が取れる。モデルが雑談できるかを見るだけなら、フルスタックは要らない。
最後に。2026年に DeepSeek Harness でコードを書くとき、勝つのは一番多く入れた人ではない。「この仕事には何層だけ要るか」を言える人だ。読んで、直して、回して、必要なときだけ説明する。セッションは再生でき、トークンは測れる。プラグインは組み合わせであり、コレクションではない。
よくある質問
10個は一度に全部入れますか?
入れません。先に fs / search、editor、bash+sandbox、skill。Plan、LSP、MCP、剪定、SQLite は場面が来てから足す。カタログの残りは差し替えバックエンドや画面が多く、コーディングの必須ではない。
MCP プラグインは安全ですか?
公式は各 MCP サーバを、サンドボックス外の信頼済み実行ファイルと書いている。既定では一つも有効にしない。必要な一本だけ開き、秘密は環境変数へ。日常の編集ツールと同じ既定一覧に混ぜない。
なぜコーディングの既定を Pro にしないのですか?
費用の本体は「モデルが足りない」ことではなく、何ラウンドも残るツール結果だ。公式の Flash オフピーク出力はおおよそ 0.60 ドル / 百万トークン、Pro はおおよそ 1.98 ドル。先にログを切り、キャッシュを当て、その仕事だけ Pro へ上げるかを決める。
いま本番のコーディング基盤にしてよいですか?
実行層の見本として検証し、隔離して試すのはよい。本番認定が終わった基盤としては見ない。公式リポジトリは開発者プレビューのまま。プレビュー版と、いま成果物を出しているマシンを分ける方が、「本番に載せてよいか」を議論するより先に来る。
クラウド Mac mini に、捨てられる dsh ノードを置く
AIコーディングのプラグイン層は cwd を固定し、SQLite セッションを常駐させ、macOS では Seatbelt を通す。唯一の出荷ビルド機でプレビュー版 dsh と GitHub MCP を回すと、ループ、手順書、外部プロセスが顧客案件の上に重なる。M4 Mac mini の統一メモリなら、安定したビルドの横に、権限を絞り、戻せる Harness を置ける。待機おおよそ 4W。素の Unix と SSH で、Skill ディレクトリとサンドボックス作業域を、眠らない一台に釘で止められる。
日常のコーディングノードと出荷ビルドを分けたいなら、Kvmkit のクラウド Mac mini M4 で隔離機を足せる——プランを見る。プラグインの組み合わせとトークンの実験に場所を渡し、出荷中のマシンを巻き込まない。