知識ベースのセクション ▾

ナビゲーション

▸ ここから始める 役割別

カテゴリー

ツール 52
用語集 12

ツール

DeepSeek Harness: JoinGonka Gateway経由の独自プロバイダー

DeepSeek Harness (コマンド dsh) は、DeepSeek AIによるオープンなエージェントハーネスです。これは、モデルがプロジェクトファイルを読み書きし、コマンドを実行し、サブタスクを委譲してプランを管理するためのシェルであり、ブラウザからそれらを監視し、リスクの高いステップを承認できます。本プロジェクトは初期段階であり、作者自身が「developer preview」と呼び、互換性のない変更が行われる可能性があると明言しています。そのため、以下の内容は特定のバージョン 0.1.5-rc.2 に基づいており、初回起動からエージェントの応答までの設定手順を網羅しています。

初回起動時、dshは公式のベンダーAPIキーを求めますが、モデルレイヤーはオープンになっています。Settings → Models ページで、OpenAI Chat Completions、OpenAI Responses、Anthropic Messagesのいずれかのプロトコルに対応したプロバイダーを追加できます。JoinGonka Gatewayはこれら3つすべてをサポートしているため、プラグインやパッチなしで、標準機能として分散型Gonkaネットワークに接続可能です。

OpenRouterカタログのアプリケーションページにおける興味深いデータとして、過去30日間でDeepSeek Harnessが使用したモデルランキングでは、DeepSeek V4 Flash 0731が2位、GLM 5.3 Flashが3位となっています(2026年9月21日時点。1位は匿名テストモデル)。これら両方のオープンモデルはGonkaネットワークが提供しており、MiniMax M2.7などと同様に、モデルを変更せずにエンドポイントだけを切り替えることが可能です。変更が必要なのはアドレスとトークン単価のみです。

DeepSeek Harnessの概要と起動方法

ハーネスとは、エージェント作業においてモデルを囲むすべてのものです:「リクエスト → ツール呼び出し → 結果 → 次のステップ」というサイクル、ファイルとターミナル用のツール、権限と確認、セッションログ、コンテキスト圧縮。DeepSeek Harnessはこれをプラグインから組み立てます:「everything is a plugin」アーキテクチャはフレームワークCordis上に構築されており、ツールからモデルアダプターまで、あらゆるノードがコアを変更せずに交換可能です。コードはMITライセンスで公開されています。

インストールは不要です — Node.js(22系は22.19以降、または24以降)があれば十分です:

npx @deepseek-ai/dsh web

このコマンドはhttp://127.0.0.1:3080でWeb UIを起動し、ブラウザで開きます。SSH経由で起動した場合、アドレスはターミナルに表示されるだけです。--no-openフラグはブラウザなしでサーバーを起動し、--portはポートを変更します。dshを起動したディレクトリがデフォルトの作業ディレクトリになりますが、インターフェースはworkspaceを明示的に選択した後にのみセッションを開始します。

モードコマンド用途
Web UIdsh webメインインターフェース:セッション、設定、操作の確認
単発タスクdsh --profile headless "task"スクリプトとCI:応答はstdout、推論過程はstderr
ACPdsh --profile acpAgent Client Protocolをサポートするエディタとクライアント
SDKdsh --profile sdkJSON-RPCクライアント、Python SDKを含む

モデル層は2つのアダプターで構成されています。直接アダプターはベンダーの公式APIに接続します。マルチプロバイダーアダプター — dsh-llm-pi-ai — はライブラリpi-ai上に構築されており、ターミナルエージェントPiの基盤と同じものです。これを通じてカタログの組み込みプロバイダーも、任意の独自endpointも接続できます。そのため設定のフィールド名 — api、contextWindow、maxTokens — はPiでおなじみのものと一致します。

成熟度について。プロジェクトのREADMEは警告から始まります:developer preview、急速なイテレーション、破壊的変更。別のドキュメントSAFETY.mdは、セキュリティ監査は実施されておらず、エージェントはモデルが生成したコマンドを実行すると明記しています。実用的な結論はシンプルです:dshはコンテナ、仮想マシン、または別のアカウントで実行し、アクセス可能なすべてのもののバックアップを保持してください。

Web UI経由の接続: Settings → Models

ステップ1:キー。gate.joingonka.ai/registerで登録しましょう。アドレス確認後、3Mの無料トークンがアカウントに付与されます。ダッシュボードで「APIキー」セクションを開き、jg-プレフィックス付きのキーを作成してください。ハーネス専用のキーを別途用意しておくと、そのトラフィックが統計で独立した行として表示されるので便利です。

ステップ2:最初の画面。テストステータスの通知(Continueボタン)の後、dshが公式APIキーの入力を求めます(「Add an API key to get started」)。これは必須ではないので、Configure laterをクリックしましょう。

ステップ3:プロバイダー。Settings → Modelsを開き、Add a custom providerを選択します。フォームの項目は以下の通りです:

項目値備考
Provider IDjoingonka小文字のラテン文字で、英字から始めること。識別子は固定で、リクエストや保存されたセッション、キー参照名に含まれます。名前の変更はできず、新しいプロバイダーを作成して古いものを削除するしかありません
表示名JoinGonka Gatewayリスト表示用の任意のラベル
Base URLhttps://gate.joingonka.ai/v1サフィックス/v1付き
APIプロトコルopenai-completionsプロトコルの選び方は下の表を参照
APIキーjg-your-key書き込み専用フィールド:保存後、ページにはキー本体ではなくマスクされた記述子が表示されます

ステップ4:モデル。ModelsブロックでFetch available modelsをクリックすると、dshがゲートウェイにリストを問い合わせ、「Choose models to add」ウィンドウを開きます。今回の実行では、ネットワークの3つのモデル—MiniMaxAI/MiniMax-M2.7、deepseek-ai/DeepSeek-V4-Flash-0731、zai-org/GLM-5.3-Flash—がすべて表示され、Add selectedの後、ハーネスがゲートウェイのデータに基づいて各モデルにコンテキストウィンドウと応答上限を自動設定しました。あとはCreate providerをクリックするだけです。

ステップ5:モデルの選択。設定を閉じ、Choose workspaceをクリックしてプロジェクトディレクトリを追加します。新しいプロバイダーのモデルがセレクターに表示され、選択したモデルが新しいセッションのデフォルトモデルになります。

dshはキーを設定とは別に保管します:~/.dsh/.credentials.yamlファイルに、所有者のみアクセス可能な権限で保存されます。settings.yamlにはその参照名(今回の実行ではプロバイダーIDに基づくJOINGONKA_API_KEY)だけが残ります。

どのプロトコルを選ぶか。ゲートウェイは3つすべてに対応しており、違いはベースアドレスと付随する利便性です:

APIプロトコルBase URL選ぶタイミング
openai-completionshttps://gate.joingonka.ai/v1基本の選択肢:ゲートウェイの正規パスで、モデルリストはボタンで取得でき、reasoningモデルの推論過程は別ストリームで届きます
openai-responseshttps://gate.joingonka.ai/v1プラグインやシナリオがResponses APIを前提としている場合
anthropic-messageshttps://gate.joingonka.aiAnthropic Messages形式。パス/v1/messagesはクライアントが自動で付加します

dshでは1つのプロバイダーが1つのプロトコルに対応するため、2つ目のプロトコルを使うには別のProvider IDを持つ2つ目のプロバイダーが必要です。日常的な作業には最初の選択肢で十分です。今回の実行では、ツール呼び出しを伴うエージェントループが3つすべてで動作しました。

ファイルによる設定:settings.yaml

Models フォームは通常の YAML ドキュメント — $DSH_HOME/settings.yaml、デフォルトでは ~/.dsh/settings.yaml — に書き込みます。直接編集できます。設定ヘッダーの Open configuration file ボタンでファイルが開き、アダプターは次回リクエスト時にそれを読み直すので、再起動は不要です。Gonka ネットワーク用の完全版はこちら:

# ~/.dsh/settings.yaml
llm-pi-ai:
  providers:
    joingonka:
      displayName: JoinGonka Gateway
      apiKeyEnv: JOINGONKA_API_KEY
      api: openai-completions
      baseURL: https://gate.joingonka.ai/v1
      models:
        - id: deepseek-ai/DeepSeek-V4-Flash-0731
          name: DeepSeek V4 Flash
          contextWindow: 380000
          maxTokens: 32768
        - id: zai-org/GLM-5.3-Flash
          name: GLM-5.3 Flash
          contextWindow: 390000
          maxTokens: 8192
          reasoningEfforts:
            off: low
            high: high
        - id: MiniMaxAI/MiniMax-M2.7
          name: MiniMax M2.7
          contextWindow: 200000
          maxTokens: 8192
agent-default-model:
  provider: joingonka
  model: deepseek-ai/DeepSeek-V4-Flash-0731

ここで重要なポイント:

  • apiKeyEnv はキーそのものではなく、キーへの参照名です。dsh は値を次の順序で探します: 起動時の環境変数、次に .credentials.yaml(フォームがここに書き込みます)、次に起動ディレクトリの .env、最後に ~/.dsh/.env。ブラウザなしでハーネスを設定する場合、~/.dsh/.env にパーミッション 600 で JOINGONKA_API_KEY=jg-your-key の1行を書けば十分です。起動後にエクスポートした変数は、すでに実行中のプロセスには見えません。
  • contextWindow と maxTokens は明示的に指定してください。dsh が知らないモデルには 262,144 と 32,768 トークンが割り当てられますが、これは実際の上限とは一致しません。指定した maxTokens は同時に、各リクエストのデフォルトの応答上限にもなります。
  • reasoningEfforts は Effort メニューの推論レベルです。手動で登録したモデルにはレベルがなく、そのモデル用のメニューは表示されません。GLM-5.3 Flash の切り替えは二値です: low 値で推論がオフになり、それ以外の値では完全な推論が維持されます。そのため、off レベルには low が割り当てられ、high はそのまま渡されます。私たちの実行では、off では推論ブロックがまったくなく、high では復活しました。
  • agent-default-model は、headless モードを含む新しいエージェント用のモデルです。インターフェースでのモデル選択も同じことをします。ここに reasoningEffort を追加することもできます。

dsh のドキュメントが厳格なゲートウェイ向けに推奨している compat スイッチ(supportsDeveloperRole: false、maxTokensField: max_tokens)は、ここでは不要です: JoinGonka Gateway は developer ロールも max_completion_tokens フィールドも受け付けます。

インストーラー npx @joingonka/setup はこのハーネスを設定しません: 接続はすべて前のセクションのフォームか、上記の YAML 断片で完結します。

検証および一般的なエラー

連携を最速で確認する方法は、コードのあるディレクトリからの単発実行です。明らかなバグを含む小さなファイルを置いて、それを見つけさせてみましょう:

cd /path/to/project
npx @deepseek-ai/dsh --profile headless "Read calc.py and tell me in one sentence whether it has a bug."

最終的な回答は stdout に、推論の流れは dsh: reasoning: というマーク付きで stderr に出力されます。エージェントは自らファイル読み取りツールを呼び出し、本質的に答えるはずです。私たちの実行では、ネットワーク上の3つのモデルすべてが誤った行を指摘しました。つまり、「リクエスト → ツール呼び出し → 結果 → 回答」という完全なサイクルがゲートウェイを通じて正しく組み立てられているということです。

検証の後半はゲートウェイ側です。管理画面で「使用状況」を開いてください。時間別・日別のリクエスト、モデル別・キー別の内訳が表示されます。ハーネスのキーを持つ行と、最新の最終リクエスト時刻が現れていれば、トラフィックが実際にゲートウェイを通過している証拠です。

何か問題が起きた場合、診断は通常メッセージから直接読み取れます:

表示される内容意味対処法
AUTH: 401: … Invalid API keyゲートウェイがキーを受け付けなかったModels ページでキーを再入力するか、apiKeyEnv が参照する変数を修正してください
MISSING_CREDENTIAL: … no credential for provider route "joingonka"apiKeyEnv のリンク先に何も見つからなかったフォームでキーを保存するか、dsh の起動前に変数を設定してください。環境は起動時に一度だけ読み込まれます
UNKNOWN_MODELプロバイダの models リストにモデルが存在しないフォームまたはファイルに追加するか、すでに設定済みのモデルを選択してください
400 … Model "…" not found. Available: …識別子の記述が不正確で、ほとんどの場合ベンダープレフィックスが欠けていますゲートウェイがメッセージ内に示す一覧から id をコピーしてください
429 … currently overloaded … (rate limit)モデルのネットワーク上の空き容量が現在使い切られています負荷時の通常の状況です。dsh は自動的にリクエストを再試行します。再試行が尽きた場合は、モデルを切り替えるか1分待ってください。状態はステータスページで確認できます
Fetch available models が 401 を返す誤ったキーでリストをリクエストしたフォーム内のキーを確認してください。モデルは手動で入力することもでき、同様に動作します
reasoning モデルに Effort メニューがないモデルレコードにレベルが宣言されていない上記の例のように settings.yaml に reasoningEfforts を追加してください
reasoning モデルの回答が途中で切れる、または空推論が回答のリミットに含まれ、それを丸ごと消費してしまったmaxTokens を低くしすぎないでください。短いタスクには off レベルを選んでください
入力フィールドに Select model と表示され、入力がブロックされているデフォルトモデルが削除されたプロバイダを参照しているセレクターで別のモデルを選択してください

どのモデルを選ぶべきか

ネットワーク内のすべてのモデルの価格は同一であるため、選択の基準は予算ではなく動作となります。以下は、制限事項と、ファイルの内容を読み取ってエラーを見つけるという同一タスクにおける、私たちのdsh実行時の各モデルの挙動です。

モデル識別子コンテキスト / 回答dshでの挙動
DeepSeek V4 Flashdeepseek-ai/DeepSeek-V4-Flash-0731380K / 32768行番号を指定したクリーンな回答。ネットワーク内で最大の回答上限を持ち、一度の実行で大規模な修正や長いファイルに対応可能
GLM-5.3 Flashzai-org/GLM-5.3-Flash390K / 8192推論(Reasoning)モデル:推論プロセスは別のストリームとして表示され、回答自体はクリーンなままです。推論は回答制限に含まれます
MiniMax M2.7MiniMaxAI/MiniMax-M2.7200K / 8192タスクを正しく解決。推論は個別の reasoning_content フィールドとして提供され、回答テキストには回答のみが含まれます

デフォルトの推奨モデルは DeepSeek V4 Flash です。エージェントによる作業はコンテキスト容量と修正の長さにすぐに制限がかかりますが、本モデルはその両方で余裕があります。複雑なロジックを検討する必要があるタスクでは、GLM-5.3 Flash に切り替えて推論レベルを high に設定してください。迅速な修正が必要な場合は、同じプロバイダーからレベル off で提供されるモデルを利用できます。MiniMax M2.7 は、目に見える推論プロセスが邪魔にならないような、短いタスクに適した安定した選択肢です。モデルはインターフェースのセレクター、または agent-default-model ブロック内の model 文字列で変更可能です。

ネットワークの構成は参加者の投票によって決まり、随時変更されます。制限を含む最新のリストは常に GET https://gate.joingonka.ai/v1/models で確認できます(Fetch available modelsボタンもこれを使用しています)。

コストと運用上の注意点

エージェントツールはチャットとは異なる方法でトークンを消費します。ハーネス(harness)は、あなたのフレーズごとにシステムプロンプトとすべてのツールの説明を追加し、モデルと複数ターンの対話を行います。我々の実行テストでは、「ファイルを読み取ってエラーを見つける」というタスクに2〜3ターン、14,000〜22,000トークンを要しました。そのほとんどは入力で、質問をする前でもターンごとに約7,000トークンが消費されます。これは自律性のための通常の対価であり、トークン単価が重要になる理由です。

JoinGonka Gateway経由の場合、トークン料金は入力100万トークンあたり$0.0069、出力100万トークンあたり$0.021です。この価格はネットワーク内のすべてのモデルで共通であり、このページ上でライブソースから取得されます。2026年9月時点の価格規模は以下の通りです:

シナリオ消費量Gateway経由
単発タスク(ファイル読取、エラー検索)14-22Kトークン数セントの数分の一
1日の活発な作業3-7Mトークン数セント
1ヶ月の活発な開発~150Mトークン1ドル程度

お支払いは実際の使用量に基づき、サブスクリプションやリクエスト制限はありません。残高と日々の消費量はマイページで確認可能です。

バージョン。 プロジェクトがdeveloper previewステータスの間は、更新のたびにプロバイダーが正しく動作しているか確認し、再現性を保つために以下のコマンドのようにバージョンを明示的に固定してください:npx @deepseek-ai/[email protected] web。

権限。 新しいセッションはデフォルトで「Workspace Write」モードで動作し、作業ディレクトリ内への書き込みが可能です。ポリシーを超える操作については、インターフェース上で確認が求められます。モードは「Settings → General」で変更可能です。

リトライ。 一時的なネットワークエラーが発生した場合、dshはドキュメントに基づき最大5回まで自動的にリクエストを再試行します。そのため、短時間のネットワーク負荷の急増は通常気付かれないうちに処理されます。

プライバシー。 ゲートウェイはプロンプトや回答の内容を保存しません。統計には消費量のみが残ります。プロジェクトファイルは、エージェントがあなたのマシン上でローカルに読み取ります。

画像処理が必要な場合(インターフェースのスクリーンショット、写真内の図など)は、視覚認識機能を持つモデルを搭載した2つ目のプロバイダーを別途設定してください。dshは複数のプロバイダーを同時に保持できますが、Gonkaネットワークのモデルはテキストベースです。

DeepSeek Harnessは、モデル開発ラボ自体がリリースする唯一のエージェントではありません。GLMの作成者であるZ.aiにはZCode環境があり、MiniMaxにはターミナルベースのMiniMax Codeがあります。どちらも同じキーを使用して同じゲートウェイに接続できます。

DeepSeek Harnessは、DeepSeek AIによるオープンソースのエージェントハーネスで、現在developer previewステータスです:Web UI、単発実行、ACP、およびプラグインアーキテクチャ上のSDKを提供します。自身のendpointは通常通り接続可能です:Settings → Models → Add a custom provider、アドレス https://gate.joingonka.ai/v1、プロトコル openai-completions、キー jg-…。Fetch available modelsボタンを押すと、DeepSeek V4 Flash、GLM-5.3 Flash、MiniMax M2.7およびその制限が自動的に読み込まれます。同様の設定は ~/.dsh/settings.yaml に llm-pi-ai ブロックとして記述することも可能です。GLM-5.3 Flashを使用する場合は、off: low および high: high のレベルを宣言することで、推論(reasoning)の切り替えが可能になります。形式が安定するまでは、分離された環境でハーネスを実行し、バージョンを固定してください。

もっと知りたいですか?

他のセクションを探索するか、Gonkaを今すぐ獲得し始めましょう。

キーと無料トークンを取得 →