AI開発 ·

DeepSeek Harness dsh インストール:Web起動・Headless・AI Coding実測

夜の机の上のノートPC。暗い画面の左に npx @deepseek-ai/dsh web と 127.0.0.1:3080、右に dsh の作業画面

dsh はすでに DeepSeek 公式の Agent Coding ランタイムを動かせます。2026年9月時点ではまだ developer preview です。最初は隔離ディレクトリで Web UI を開くか、読み取り専用の headless を1本通してください。いきなりリポジトリ全体を直させないでください。

リポジトリは deepseek-ai/deepseek-harness、コマンドラインは dsh です。セッション、ツール、権限、作業画面をひとつのランタイムにまとめています。30分あれば、このマシンで立ち上がるかを確認できます。試す価値はあります。いま本番のコーディング Agent にはしないでください。

DeepSeek Harness の dsh とは何ですか?

DeepSeek Harness は DeepSeek が公開する Agent 実行基盤で、MIT ライセンス、コマンドラインは dsh です。製品ページの説明では、モデル、ツール、Skill、セッション、サンドボックス、ストレージ、ループ、UI は差し替え可能なプラグインで、下層は Cordis、標語は Everything is a plugin です。(deepseek.com/harness

「DeepSeek Harness とは」で検索するとき、もう一度関数呼び出しの説明を聞く必要はありません。分けるべきは次の3つです。

API はエンジン、dsh はハンドル、工具箱、運転ロジックまで載ったランタイムです。 自分で while を書いて chat/completions を回すのは別の道です。8月の DeepSeek Harness AI Agent開発ガイド はその自作ループを扱います。本稿は公式ランチャだけを見ます。入れ方、Web の待ち受け、最初のコーディング作業をどう通すかです。

手段 担うこと 向いている人
DeepSeek API モデル、Tool Calling 自分で Agent を書く人
dsh ランタイム、ツール、セッション、権限、UI 公式 Agent をすぐ動かしたい人
自作 Agent ループを自分で設計する 構成を完全に握りたい人

公式サイトは稼働モードも並べています。最初は Standard の Web UI で足ります。一式のコーディング Agent で、ファイル変更、shell、検索ができます。Code モードは Standard の上で、モデルが TypeScript を使って複数ラウンドのツール呼び出しを組み立てます。3080 が安定してから開いてください。Minimal はほぼ bash とエディタだけ残します。モデル比較向きで、日常の IDE には向きません。Creator はランタイムを眺め、プラグインを試す用途です。最初の1時間は飛ばしてかまいません。

dsh を入れる前に何を用意しますか?

公式 README のゼロインストールは2行です。先に Node.js を入れ、次に npx @deepseek-ai/dsh web を実行します。コミュニティ文書では Node ^22.19.0 または >=24.0.0 と補足されています。合わせるべきは、手元の npx@deepseek-ai/dsh を起動できるかです。ブログの数字に合わせてシステム Node を下げないでください。

キーの解決順は公式 CLI 説明どおりです。プロセス環境 → ~/.dsh/.credentials.yaml → カレントの .env~/.dsh/.env。最初はどれか1つで足ります。4か所に書いて突き合わせないでください。

zsh
export DEEPSEEK_API_KEY=sk-あなたのキー
mkdir -p ~/.dsh
printf 'DEEPSEEK_API_KEY=sk-あなたのキー\n' >> ~/.dsh/.env
chmod 600 ~/.dsh/.env

公式アダプタ名は deepseek-official で、既定は公式モデル経路です。自前ゲートウェイへ振るのは二手目です。先に OmniRoute 実測 が要るかを見てください。最初の1時間で Base URL を変える必要はありません。

CLI はコマンドを実行したカレントディレクトリを既定ワークスペースにします。空のリポジトリかコピーを切ってください。例は ~/work/dsh-first-run です。SAFETY.md は最小権限を勧め、捨てられる仮想マシン、コンテナ、専用環境を優先します。キーと隔離ディレクトリが揃う前に npx を実行しないでください。画面は開くのに作業を制御できない方が、入らないことより悪いです。

最初の実行
  • 独立したワークスペース。$HOME や本番リポジトリは使わない
  • 最初の作業は読み取り専用。既定の権限のまま。danger-full-access は開けない
  • キーは環境変数か ~/.dsh/.env だけ。~/.dsh/sessions/ で呼び出しを戻して見る
まだ developer preview です
コマンド実行、ファイル変更、プラグイン読み込みができます。最初は空のリポジトリか専用マシンで試してください。公式の説明は SAFETY.md です。

dsh はどうインストールして Web UI を開きますか?

最初は clone しなくて大丈夫です。隔離ディレクトリに入ってから:

zsh
cd ~/work/dsh-first-run
npx @deepseek-ai/dsh web

これが公式 README の入口です。dsh web--profile web の別名で、初回はテンプレートから ~/.dsh/profiles/web/ を初期化します。既定では http://127.0.0.1:3080 に作業画面を立て、本機起動では既定ブラウザも開きます。SSH で起動したときはホスト URL だけを出し、ローカル転送は SSH クライアントかエディタが持ちます。プレビュー段階ではコマンドが変わります。その日の deepseek-ai/deepseek-harness の README と CLI 説明を正としてください。

よく使う引数
npx @deepseek-ai/dsh web --no-open
npx @deepseek-ai/dsh web --port 8080

既定はループバックだけです。遠隔で画面を見るなら SSH のローカル転送で足ります。初日に UI を LAN へ出す必要はありません。公式ユーザーガイドでは、ワークスペースは Web UI のディレクトリ選択で指定し、CLI の旗ではありません。3080 を開いたら、今のディレクトリが隔離リポジトリかを先に確認し、そのあとで作業を出してください。

設定は ~/.dsh/ に落ちます。ホームは自分で作らせてください。sessions/ でツール呼び出しを戻して見ます。.env にはキーだけ、権限は 600。profiles/web/ は初日に手で patch しないでください。

clone する価値があるのは3つだけです。特定のコミットを追う、プラグインを直す、npx が失敗してビルド成果物を見たい。そのとき公式リポジトリを git clone し、pnpm installpnpm run buildpnpm dsh web です。pnpm dsh web は成果物をそのまま使い、もう一度は編みません。ソースツリーでは AGENTS.md に従ってください。演示コマンドを本番スクリプトにコピーしないでください。

dsh Headless はどう使いますか?

dsh run は削除されています。一回きりの作業は headless です。新しいセッションを開き、最後の空でないアシスタント文を stdout に出して終了します。

zsh
cd ~/work/dsh-first-run
npx @deepseek-ai/dsh --profile headless "現在のディレクトリのファイル名を一覧し、ファイルは変更しない"

これがノートに残す最初の実測です。プロセスの終了コード、stdout に最終返答があるか、~/.dsh/sessions/ に戻して見られるログが増えたか。作業は読み取り専用でなければなりません。公式は sdk / sdk-minimal / acp など、別プロセスが JSON-RPC や ACP で入るプロファイルも出しています。それは2週目です。最初の1時間に並行して開かないでください。

dsh で AI Coding するには?

Web や headless が話せるだけでは、「リポジトリを直してよい」にはなりません。公式 Standard の能力どおり、ファイル変更、shell、検索、子 Agent はできます。プレビューソフトに、コマンドを書くモデルが乗るので、最初のコーディング作業は git diff で対照できる粒度にしてください。ベンチマークではありません。指定したディレクトリで、関数を1つ正しく直せるかを見ます。

先に、正誤が目で分かる小さなリポジトリを作ります。greet.ts はわざと hi Ada を返し、テストは Hello, Ada を期待します。正しさは自分で判断でき、モデルが「それらしい」と言う必要はありません。

zsh
mkdir -p ~/work/dsh-first-run && cd ~/work/dsh-first-run
git init
printf '%s\n' 'export function greet(name: string): string {' '  return "hi " + name' '}' > greet.ts
printf '%s\n' 'import { greet } from "./greet.ts"' 'if (greet("Ada") !== "Hello, Ada") {' '  throw new Error("unexpected greeting")' '}' > greet.test.ts
git add . && git commit -m "chore: isolated dsh first-run repo"
  1. 読み取り:greet.ts と greet.test.ts を読み、テストが失敗する理由を説明してください。ファイルは変更しないでください。 通過:戻り値とテストの期待が食い違うと指摘し、作業領域の git status はきれいなまま。
  2. 単一ファイル:greet.ts だけを直し、greet("Ada") が Hello, Ada を返すようにしてください。テストは変えず、コミットしないでください。 直したら自分でテストを走らせます。ランナーが無ければ関数の戻り値を見てから git diff です。通過:diff が greet.ts だけを触り、戻り値がテストに合う。
  3. テストがまだ失敗するなら、失敗出力を戻して同じファイルだけ直させます。コミット前に必ず自分で diff を見てください。コーディングが落ちたら ~/.dsh/sessions/ か公式の Trajectory を開き、「ツールを誤った」「引数が不正」「承認を拒んだ」「ワークスペースがこのディレクトリではない」を分けてください。

最初は既定の Standard / native ツールで足ります。単一ファイルの作業が安定してから、DSH_TOOLS_MODE=codeboth を考え、モデルに TypeScript で複数ラウンドを組み立てさせてください。公式参考では、DSH_PERMISSION_MODE のプロセス級フォールバックは workspace-write に近いです。danger-full-access は承認をほとんど聞かなくします。最初の実行リストから外しています。JSON のツール引数で詰まったら、先に JSON Schema と AI Agent を読み、そのあとでモデルを替えてください。作業が大きすぎて往復するなら AI Coding ワークフロー です。dsh が解くのは「公式ランタイムがあるか」だけです。

dsh のインストールは成功したと言えますか?

見出しの「実測」はベンチマーク表ではありません。30分のリストです。5項が揃って、初めて「dsh はこのマシンで使える」と書いてください。欠けたら対応する手順に戻り、ファイル変更の範囲を広げないでください。

確認項目 通ったと言える条件 落ちたら先にすること
プロセス npx @deepseek-ai/dsh web が前面で動き続ける Node、npx キャッシュ、ポートを見る
画面 127.0.0.1:3080 が開く --no-open のあと手動で開く。--port を照合する
キー official provider の資格不足が出ない 有効な DEEPSEEK_API_KEY を1つだけ残す
読み取り作業 headless が返答を出して終了し、新しい diff が無い 作業を狭める
軌跡 ~/.dsh/sessions/ で今回の呼び出しを戻して見られる DSH_HOME を確認する

5項のどれかが欠けたら、「何十ファイルも自動で直す」へ進まないでください。プレビューは更新が速いです。コマンド、Node 版、dsh パッケージ版、日付をノートに残します。翌週また走らせたとき、環境が変わったのか、上流の breaking change なのかが分かります。

dsh でよくあるエラーは?

npx が失敗する、または遅い。 初回は @deepseek-ai/dsh を引きます。回線が不安定ならソース構築に切り替え、先に npm registry を確認してください。失敗した半端なキャッシュを「もう入った」と見なさないでください。

3080 が開かない。 --no-open のあと手動で開きます。ポートが塞がっていないか、あるいは --port を使ったのに 3080 を開いていないかを見てください。

画面は開くがモデルが動かない。 多くはキー層がずれています。プロセス環境が最優先で、~/.dsh/.env は予備です。直したら web プロセスを再起動してください。キーのホットリロードを期待しないでください。

直すべきでないディレクトリが変わった。 起動時のカレントと、Web で選んだリポジトリを見てください。ホームをワークスペースにするのが、いちばん多い誤操作です。

まだ dsh run を使っている、または headless が終了しない。 公式ユーザーガイドでは、そのサブコマンドは削除されています。一回きりの作業は --profile headless です。作業を読み取り専用の一文に収め、承認待ちでないかを確認してから、セッションログのどこで止まっているかを見てください。

dsh は Claude Code や Codex の皮ではありません。出品はそれぞれ DeepSeek、Anthropic、OpenAI です。形としては dsh は独立ランタイムに Web / headless が付き、あとの2つは各自の CLI です。設定ディレクトリも通じません。dsh は ~/.dsh です。最初の確認では、dsh は 3080 か headless 1本、あとの2つは各自の公式スモークです。同時に入れてよいですが、キー、権限、セッションが共有されるとは仮定しないでください。3系統を一本化したいときは、そのときゲートウェイを評価します。初日は dsh だけを通してください。

いま本番ランタイムとしては扱えません。公式 README は developer preview と明記し、互換を壊す変更があると書いてあります。SAFETY.md はさらに硬いです。セキュリティ監査は受けておらず、モデルが生成したコマンドを実行し、第三者プラグインを読み、ネットワークと渡したファイルに触れます。サンドボックスと承認はリスクを下げますが、唯一の安全制御にはなりません。いま向いているのは、隔離ディレクトリでのインストール確認、単一関数の AI Coding、セッションログを見ながらの実験です。いま向かないのは、本番リポジトリで高い権限を開くこと、無人で monorepo 全体を直すこと、preview を対外 SLA に書くことです。

よくある質問

dsh とは何ですか?

dsh は DeepSeek が公開する Agent 実行基盤 DeepSeek Harness のコマンドラインです。セッション、ツール、権限、Web UI を担い、Chat API ではありません。

dsh はどうインストールしますか?

先に Node.js を入れ、隔離ディレクトリで npx @deepseek-ai/dsh web を実行します。プラグインを直す、特定のコミットを追う、ビルド成果物を見るときだけ clone して pnpm run build します。

dsh には API キーが必要ですか?

必要です。キーが無いと画面は開いても、コーディング作業は走りません。DEEPSEEK_API_KEY をプロセス環境に置くか、~/.dsh/.env に書いて chmod 600 にしてください。

dsh は Web UI に対応していますか?

対応しています。npx @deepseek-ai/dsh web は既定で http://127.0.0.1:3080 に作業画面を開きます。ブラウザを出したくなければ --no-open、ポートが塞がっていれば --port を使います。

dsh で AI Coding はできますか?

ファイル変更、shell、検索はできます。2026年9月時点ではまだ developer preview です。最初は隔離リポジトリで読み取り分析、単一関数の修正、テスト実行、git diff 確認までにしてください。

dsh と Claude Code の違いは?

dsh は DeepSeek の独立ランタイムで、設定は ~/.dsh にあります。Claude Code や Codex とキーやセッションを共有しません。同時に入れてよいですが、初日は dsh だけを通してください。

dsh を長く回すなら、検証環境を分けられます

dsh はワークスペース、API キー、セッション、コマンド実行に触れます。ノートの蓋を閉じると 3080 も headless セッションも止まります。プレビュー版の Agent を、スナップショットできて権限を回収できるディレクトリに閉じた方が、ホームを使い続けるより戻しやすいです。

手元の読み取り専用タスクと単一関数の diff が通ったあと、7×24 で動く独立した macOS が必要なら、そのときにクラウドノードを見てください。最初から本番リポジトリを preview に渡すより、繰り返せる実験に近くなります。 ZekVPS のクラウド Mac mini プランを見る

期間限定