実測の要点
- DeepSeek Harness はオープンソースの Agent シャーシで、CLI は
dsh。DeepSeek モデルそのものでも、API 料金表でもない。 npx @deepseek-ai/dshで 0.1.5-rc.1 を取得した(Node.js v24.14.1)。dsh --helpは製品を「順序付きプラグインバンドルの重ね合わせ」と定義する。dsh --profile web --dump-default-configはプラグイン 152 行。既定モデルはdeepseek-official/deepseek-flash。Web は127.0.0.1:3080。preset 既定はstandard。- モデルは
ctx.llm、ツールはctx.tools、ループはctx.agentLoop。モデルを変えても bash 実装もループも自動では変わらない。 - 開発者プレビューは破壊的変更を予告している。入口は deepseek.com/harness と GitHub。
「モデル / ツール / ループ」を分けてから、日常のコーディング Agent にするか決める。
DeepSeek Harness とは
DeepSeek Harness は DeepSeek のオープンソース Agent ランタイムだ。README は率直で、Cordis が「すべてがプラグイン」を支える。モデルアダプタ、ツール登録、セッションログ、サンドボックス、そして Agent ループ自体を、ソースを改変せず設定で差し替えられる。製品ページも同じ面を列挙する:モデル、ツール、スキル、セッション、サンドボックス、ストレージ、ループ、スケジューラ、UI。
CLI 名は dsh。「DeepSeek V4-Flash の値段」とは別の検索だ。後者は推論、前者はモデルとツールとセッションを配線するシャーシ。トークン課金はプロバイダ側のまま。価格は DeepSeek V4-Flash API 価格。
公式は開発者プレビューであり破壊的変更があると書く。リポジトリ公開は 2026-08-13。文書はプラグイン作者向けが前提だ。本稿は「何か、どう組むか、CLI で何が出たか」だけを答え、Cordis のイベント域を入門教材にはしない。
何を測ったか:環境・コマンド・生の数字
「実測」と書くなら環境・タスク・方法・生出力が要る。以下はローカルで実行した結果であり、公式サイトのスクリーンショットの再掲ではない。
環境:macOS(darwin 25.4.0)、Node.js v24.14.1。npx --yes @deepseek-ai/dsh のみ。既定の ~/.dsh を汚さないよう DSH_HOME を隔離ディレクトリに向けてから dump した。
タスク:① CLI ヘルプとバージョン ② web ヘルプ ③ web プロファイルの既定ツリー(ユーザー層なし、--patch なし)。API キー付きの本格的なコーディングタスクは走らせていないので、「リポジトリを直した」とは書かない。
npx --yes @deepseek-ai/dsh --version # 0.1.5-rc.1 npx --yes @deepseek-ai/dsh --help npx --yes @deepseek-ai/dsh web --help export DSH_HOME="$PWD/.tmp_dsh_home" npx --yes @deepseek-ai/dsh --profile web --dump-default-config
dsh --help は製品を、ユーザー上書きの下に順序付きプラグインバンドルを重ねるものだとする。主コマンドは web(--profile web の別名)と plugin(残りをそのプロファイルの pnpm に転送)。例には一回きりの headless、--dump-config、--from-default-profile もある。
dsh web --help のフラグは文書どおり:--host、--port(0 で OS が空きポートを選ぶ)、--no-open、--trusted-host。ツリー上の webserver 既定は 127.0.0.1 と 3080。
| 項目 | 観測値 | 根拠 |
|---|---|---|
| npm 版 | 0.1.5-rc.1 | dsh --version |
| 既定モデル | deepseek-official / deepseek-flash | dump の agent-default-model |
| Web 待受 | 127.0.0.1:3080 | dump の webserver |
| 既定 preset | standard | dump の agent-presets |
| 既定ツリー | YAML 539 行 / 152 個の id | --dump-default-config |
| disabled | 26 行(多くは tool-*) | 同じ dump |
26 個の disabled: true は主に tool-bash、tool-fs、tool-skill、tool-web などモデル向けツールだ。dsh-web-app が一度切り、ワークスペース / preset が戻す。dump で灰でも Web UI に bash が無いとは限らない。製品ページはここを書かない。
モデル・ツール・ループの組み合わせ
アーキテクチャ文書は稼働中の dsh を起動時に層を重ねたプラグイン木とする。日常触るのは四つだけだ。
- Profile:
$DSH_HOME/profiles/<name>の名前付き構成。同梱はweb、headless、sdk、sdk-minimal、acp。 - Bundle:
dsh.bundleを持つ npm パッケージで patch を出す。初回初期化の最下層は@deepseek-ai/dsh-base。 - プラグイン:
apply(ctx)を export する TypeScript。アダプタはctx.llm.registerAdapter()、ツールはctx.tools、ループはctx.agentLoop。 - 適用順:各 bundle patch → プロファイルの
cordis.patch.yml→ home の patch →--patch。
| 層 | 触るもの | 入れ替えるもの | 混同しない |
|---|---|---|---|
| モデル | Settings → Models、または $DSH_HOME/settings.yaml | 公式カード、カタログプロバイダ、独自ゲートウェイ | モデルを変えても bash は入れ替わらない |
| ツール | preset / DSH_TOOLS_MODE / ツールプラグイン | 標準一式、最小の二ツール、自作登録 | スキーマはプロンプトに入る。モデル一覧とは別帳簿 |
| ループ | 既定の dsh-agent-loop。丸ごと置換可 | 別の loop プラグイン | 多くの製品は loop をハードコードする。dsh はしない |
| 入口 | dsh web / headless / sdk / acp | 同じ CLI、違うプロファイル | 二つ目の実行ファイルを作らない |
第三者プラグインの公式手順は dsh plugin --profile web add <package or git>。dsh plugin --profile web --help を打つと pnpm のヘルプそのものが出た。「pnpm に転送」は比喩ではない。ローカル試験は dsh web --patch ./cordis.yml(最初のプラグイン)。公開リポジトリには dsh-plugin を付ける。
公式 DeepSeek カードは書き込み専用キーを $DSH_HOME/.credentials.yaml に置く。独自ゲートウェイは小文字の Provider ID、base URL、プロトコル(openai-completions / openai-responses / anthropic-messages)が要る。Provider ID は改名できない。キーが通っても 400 になり得る。推論モデルは system を developer 役割で送り、上限を max_completion_tokens にする場合がある。公式の直し方は settings.yaml の compat.supportsDeveloperRole: false と maxTokensField: max_tokens。Configure models を見る。
Web UI はワークスペースを選ぶまで入力できない。公式の最初の一文は「このリポジトリを要約して」。 Use the Web UI。Skills は手続きメモリであり dsh プラグインとは別物。背景は Hermes Agent Skills。
4 モードの選び方
製品ページは 4 モードを列挙する。dump の既定 preset は standard。残り三つは公式説明であり、未実行のモードを「実測した」とは書かない。
| モード | 公式が渡すもの | 使うとき | 期待しないこと |
|---|---|---|---|
| 標準 | 編集、Shell、検索、Skills、計画、目標、サブエージェント、ワークフロー | 日常のコーディング Agent | モデル価格までは選んでくれない |
| PTC | 標準 + Code Mode SDK。モデルが TypeScript で多段ツールを組む | ツール連鎖が長い | ゲートウェイ形状が違えば同じように落ちる |
| 最小 | 持続 bash + str_replace_editor | モデルの最小ツールベンチ | 検索/ワークフロー一式はない |
| 創造 | 標準 + ランタイム検査、メモリ上のプラグイン試験、新 preset | 構成を自作するとき | プレビュー API は動く |
権限は dump の permission に三段階ある:read-only、workspace-write(既定、DSH_PERMISSION_MODE で変更)、danger-full-access。標準モードは「ディスク全体への書き込み解放」ではない。
Claude Code / Hermes とどっちか
dsh を「分解できるシャーシ」と捉えると選択が速い。
- モデル・ツール・ループを差し替え、プラグインを書く:DeepSeek Harness。プレビューでは版を固定する。
- 製品化されたコーディング Agent とサブスク請求:Claude Code 2026 の価格から見る。dsh はその体験を複製しない。
- Skills / Gateway の手続きメモリ:Hermes の方が近い。dsh にも
dsh-skillはあるが、既定 dump では filesystem skill が切れている。 - 既に MCP を動かしている:プロトコル層は独立。MCP 開発者ガイド。文書は dsh を MCP クライアントとして扱い、置換とは言わない。
第三者記事は Claude Code / Codex へ委譲する任意バンドルに触れる。今回の既定 web dump に subagent-claude-code は無いので「箱から委譲」とは書かない。スタックの重ね方は 2026 AI Agent 技術スタック。
FAQ
DeepSeek Harness と DeepSeek モデルは同じか?
違う。Harness はランタイム、モデルは推論。既定ルートは公式 DeepSeek だが、OpenAI、Anthropic、独自ゲートウェイを足せる。支払いは選んだ提供元。
dsh の入れ方と Web UI のポートは?
公式は npx @deepseek-ai/dsh web。観測は 0.1.5-rc.1 と 127.0.0.1:3080。SSH では --no-open。ソースなら pnpm install && pnpm run build && pnpm dsh web。
モデルとツールはどう組む?
Profile が bundle を積み、bundle が patch でプラグインを挿す。モデルは ctx.llm、ツールは ctx.tools、ループは ctx.agentLoop。自分の木は dsh --profile web --dump-config。
4 モードの選び方は?
日常は標準(既定)。モデル自体を測るなら最小。長いツール鎖は PTC。preset を書くなら創造。プレビューでは名前が動く。
プレビューを本番に置けるか?
公式は破壊的変更を警告する。隔離した DSH_HOME と固定 npm 版で試す。未固定の npx を本番証明書マシンに常駐させない。
まとめ
DeepSeek Harness が答えるのは「Agent シャーシをどう分解するか」であり、モデル順位表ではない。0.1.5-rc.1 の硬い事実:web 既定 152 プラグイン、既定 Flash、ポート 3080、preset=standard。組み立ては profile → bundle → アダプタ / ツール登録 / ループであり、一つの固まったバイナリではない。