DeepSeek Harness(dsh)を FastMetal で使う:設定手順と動作確認

この記事の要点
- DeepSeek Harness(dsh)は、DeepSeek がオープンソースで公開しているコーディングエージェントです。ファイルの読み書き、コマンドの実行、計画づくりを自分で進めます。
- FastMetal のモデルは、dsh の Custom model API に
https://api.fastmetal.ai/v1を OpenAI Chat Completions として登録すると使えます。 - DeepSeek V4 Pro と DeepSeek V4.1 Flash で、テストを書いて失敗を確かめ、バグを直して再実行するところまで動作を確認しました。
- 思考を有効にするには、Reasoning levels の high に
highを入れます。DeepSeek 形式の thinking を送る設定は使いません。 - 利用はほかの API 利用と同じ前払い残高から差し引かれ、同じ請求書に載ります。
DeepSeek Harness は、DeepSeek が開発者プレビューとして公開しているエージェントの土台です。「すべてがプラグイン」という設計で、モデルの接続先もプラグインの一つとして差し替えられます。この記事では、接続先を FastMetal にして、DeepSeek V4 Pro にコードを直させるところまでを順に進めます。
用意するもの
- Node.js 24.9 以降(dsh のパッケージがこのバージョンを求めます)
- FastMetal の APIキー(APIキーページで作成します)
dsh は開発者プレビューの段階で、DeepSeek はリリースごとに設定が変わる可能性があるとしています。この記事の手順は dsh 0.2.2-rc.1 で確かめたものです。
手順1:dsh を起動する
インストールは不要です。任意のフォルダで次のコマンドを実行すると、Web UI が http://127.0.0.1:3080 で起動してブラウザが開きます。
npx @deepseek-ai/dsh web
設定は ~/.dsh に保存されます。
手順2:FastMetal を Custom model API として登録する
Settings の Models を開き、Add model provider を選んで、カードを Custom model API に切り替えます。入れる値は次のとおりです。
| 項目 | 値 |
|---|---|
| Provider ID | fastmetal |
| Base URL | https://api.fastmetal.ai/v1 |
| API protocol | OpenAI Chat Completions |
| API key | FastMetal の APIキー |
Provider ID は、セッションや既定のモデルが参照するため、あとから変えられません。
Model catalog では Fetch available models を選ぶと、キーで使えるモデルが一覧で出てきます。使うモデルにチェックを入れるか、IDを直接入力します。
deepseek-v4-pro
deepseek-v4.1-flash
手順3:思考(reasoning)を有効にする
各モデルの Model options を開き、Reasoning levels をオンにします。off は値を空のまま残し、high の API value に high を入れます。
dsh には、DeepSeek 独自の thinking フィールドで思考を切り替える設定もあります。FastMetal の DeepSeek モデルは reasoning_effort で思考を有効にするため、こちらの設定は使いません。実際に送り比べると、reasoning_effort: "high" では思考のトークンが出力され、thinking: {"type": "enabled"} では思考なしで答えが返りました。
手順4:モデルを選んで作業を頼む
モデルピッカーで DeepSeek V4 Pro を選び、Choose workspace で作業するフォルダを指定すれば準備は完了です。選んだモデルは新しいセッションの既定にもなります。
設定ファイルで設定する
Web UI で入れた設定は ~/.dsh/profiles/web/cordis.patch.yml に書き込まれます。手で書く場合は次のとおりです。apiKeyEnv にはキーを入れた環境変数の名前を書くので、キーそのものはファイルに残りません。
- id: llm-pi-ai
config:
providers:
fastmetal:
displayName: FastMetal
apiKeyEnv: FASTMETAL_API_KEY
api: openai-completions
baseURL: https://api.fastmetal.ai/v1
reasoning: high
models:
- id: deepseek-v4-pro
name: DeepSeek V4 Pro
reasoningEfforts:
off:
high: high
- id: deepseek-v4.1-flash
name: DeepSeek V4.1 Flash
reasoningEfforts:
off:
high: high
- id: agent-default-model
config:
provider: fastmetal
model: deepseek-v4-pro
同じ内容を ~/.dsh/profiles/headless/cordis.patch.yml に置くと、ターミナルからタスクを一つ渡して、終わったら抜ける使い方ができます。
export FASTMETAL_API_KEY="your-api-key"
npx @deepseek-ai/dsh headless "run the tests and fix what fails"
実際に動かした結果
headless のプロファイルで、バグを二つ仕込んだ小さな Python ファイルを直させました。mul() が足し算をしていて、sub() は引く順番が逆です。頼んだのは「テストを書いて実行し、直して、もう一度テストを流す」ことです。
DeepSeek V4 Pro(思考あり)の流れは次のとおりでした。
- ファイルを読み、二つのバグを見つける
- assert だけのテストファイルを書く
pythonで実行して構文エラーになり、pythonが 2.7 系だと突き止めてpython3で実行し直す- テストの失敗を確かめてから、二か所を編集する
- テストを再実行し、すべて通ったことを報告する
ツール呼び出しは10回、所要時間は約48秒でした。エージェントは毎回それまでの会話を送り直しますが、最後の呼び出しでは入力 7,951 トークンのうち 7,680 トークンがキャッシュから読まれていました。繰り返し送られる部分はキャッシュ入力の単価で課金されます。
DeepSeek V4.1 Flash には、もっと小さな修正(足し算の関数が引き算をしているバグ)を頼み、ファイルの修正と動作確認まで約11秒で終わりました。
つまずきやすい点
Node.js のバージョンが古い
dsh は Node.js 24.9 以降を求めます。古いバージョンでは警告が出て、起動に失敗することがあります。
モデルIDの書き間違い
ID はゲートウェイの名前と完全に一致させます。モデルページの URL はドットがハイフンに置き換わっているので、そのまま使うと見つかりません。キーで使えるIDは次のコマンドで確かめられます。
curl https://api.fastmetal.ai/v1/models \
-H "Authorization: Bearer your-api-key"
思考が出てこない
DeepSeek 形式の thinking を送る設定(compat.thinkingFormat: deepseek)になっていると、思考なしで答えが返ります。手順3の Reasoning levels を使います。
設定ファイルの上書き
cordis.patch.yml の項目は、そのプラグインの設定を丸ごと置き換えます。ほかのプロバイダーも使っている場合は、同じ llm-pi-ai の項目の中に並べます。
よくある質問
DeepSeek Harness は DeepSeek の公式ツールですか?
はい。DeepSeek が GitHub の deepseek-ai で MIT ライセンスのもと公開している、開発者プレビューのエージェントです。npm のパッケージ名は @deepseek-ai/dsh です。
DeepSeek 以外のモデルも使えますか?
使えます。ツール呼び出しに対応した FastMetal のモデルなら、GLM、Kimi、Qwen、Claude なども同じプロバイダーに追加できます。エージェントとしての向き不向きはモデルによって変わるため、小さなタスクで一度確かめてから使います。ルーター名の auto はエージェントのモデルには使えません。
料金はどう計算されますか?
ほかの API 利用と同じく、100万トークンあたりの従量課金です。単価はDeepSeek V4 Pro のモデルページと料金ページで確かめられます。エージェントは一つの作業でモデルを何度も呼ぶため、費用の大半は入力トークンで、プロンプトキャッシュが効く部分はキャッシュ入力の単価になります。
会社の経費として処理できますか?
できます。dsh からの利用も、ほかの API 利用と同じ前払い残高から差し引かれ、同じ利用状況ページと請求書に載ります。円建てで支払え、適格請求書にも対応しています。
まとめ
DeepSeek Harness は、Custom model API に FastMetal のベースURLを入れるだけで、DeepSeek V4 Pro をはじめとする FastMetal のモデルで動きます。思考は Reasoning levels で有効にし、DeepSeek 形式の thinking は使わない、という一点だけ押さえておけば、あとは dsh の標準的な使い方のままです。
設定の詳細はDeepSeek Harness の設定ガイドにまとめています。ほかのエージェントの設定はエージェント・エディタの設定ガイドからどうぞ。