CH 06 · モデルと推論レベルの設定
この章の目標
「どのモデルを使うか」と「どれくらい考えさせるか」という 2 つのダイヤルを正しく合わせる。まずモデル呼び出しに必要な 3 つの要素(API Key / Base URL / Model ID)を理解し、設定ファイルを読んでデフォルトモデルを変更し、推論レベルを調整し、最後にサードパーティモデルを接続する方法を学ぶ。
まず 3 つの概念を理解する:API Key / Base URL / Model ID
どんなツールで大規模モデルを呼び出すにせよ、1 回のリクエストは 3 つのものを携えています—— API Key(あなたは誰か)、Base URL(どこへ向かうか)、Model ID(どのモデルを使うか):
1 つずつ分解します:
- API Key:
sk-で始まる文字列、モデルプラットフォームにおけるあなたの「身分証」です。リクエストにこれを載せることで、プラットフォームは「誰のアカウントに課金するか」を識別します。パスワードです —— 漏洩させない、Git リポジトリにコミットしないこと。 補足:sk-という接頭辞は OpenAI 互換エコシステム共通の形式で、DeepSeek を含む多くの国産プラットフォームや自家ゲートウェイもこの形式に従っています。 - Base URL:モデルの「住所」、つまり API サービスのエンドポイントです。すべてのリクエストはこの住所へ向かいます。
- Model ID:モデルの名前で、どのモデルを使うかを厳密に指定します。リクエストで
deepseek-v4-flash-vision-expと書けば視覚版を使い、deepseek-v4-proと書けばフラッグシップを使います。
この 3 つの値はすべてモデルプラットフォーム自身が用意するもので、dsh が勝手に決めるものではありません。DeepSeek を例に取得方法を示します:
- API Key:DeepSeek 開放プラットフォームを開き、登録・ログインして、コンソール → API Keys → API key を作成へ進み、名前を付けて作成をクリック、直ちにコピーして保存してください —— Key は作成時に一度だけ全桁が表示され、以降は脱敏描述子のみが表示されます。
- Base URL:DeepSeek 公式ドキュメントによれば、OpenAI 互換エンドポイントは
https://api.deepseek.com(Anthropic 互換エンドポイントはhttps://api.deepseek.com/anthropic)。 - Model ID:公式 API ドキュメントのモデル一覧から探します。モデルセレクタで見かけたものと同じ(
deepseek-v4-pro/deepseek-v4-flash/deepseek-v4-flash-vision-exp)。
後ほどサードパーティモデルを接続するときも、同じ 3 つを埋めるだけです。
設定ファイルの場所:$DSH_HOME/settings.yaml
dsh のグローバル設定は 1 ファイルです:C:\Users\<ユーザー名>\.dsh\settings.yaml。私のマシンではこうなっています:
ui-onboarding:
welcomeNoticeVersion: 2026-08-13.1
agent-default-model:
provider: deepseek-official
model: deepseek-v4-flash-vision-exp
reasoningEffort: highこのファイルは Web UI で行ったモデル・推論レベル変更の着地点です。UI で変えたものは最終的にここに書き込まれます。3 つのフィールドはそれぞれ次の役割:
| フィールド | 役割 | 私の値 |
|---|---|---|
provider | どのプロバイダ経由でルーティングするか | deepseek-official(DeepSeek 公式) |
model | 新規セッションのデフォルトモデル | deepseek-v4-flash-vision-exp |
reasoningEffort | デフォルトの推論レベル | high |
3 モデルからどれを選ぶか
DeepSeek 公式アダプタはデフォルトで 3 モデルを公開しており、すべて 100 万トークンコンテキストウィンドウ:
| Model ID | 位置づけ |
|---|---|
deepseek-v4-pro | フラッグシップ、複雑・品質重視のタスク向け、能力は高いがコストも高い |
deepseek-v4-flash | 高速、経済的、日常タスク向け |
deepseek-v4-flash-vision-exp | 視覚版:画像読み取り、スクリーンショット認識が可能。純テキストは flash 並み |
一点だけ注意:Model ID はプロトコルへそのまま渡されるので、公式チームが新モデルをリリースしても再登録は不要、設定に新しい ID を書くだけです。
推論レベル:off / low / high / max
推論レベルは、モデルが行動する前にどれくらい「考えるか」を決めます。DeepSeek 公式モデルには 4 段階があります。Web UI では、入力欄右のモデルボタンをクリックするとこの 4 段階が表示・切替できます(本機実測、デフォルトは High が選択):

| レベル | 動作 |
|---|---|
off | 思考を無効化(thinking: disabled)、最速・最安 |
low | 軽い思考 |
high(デフォルト) | 深い推論、Agent タスクに適する |
max | 最高の思考強度、最も難しいタスクのみ |
公式のデフォルトは high。レベルは直接時間とコストに影響します:思考有効レベルは若干遅く・高く、複雑なタスクでは信頼性が高くなります;off は思考しないのでシンプルな Q&A は一瞬で返ってきます。レベルの選び方は原則 1 つ:タスクが難しいほど、レベルを高く。
変更方法:Web UI かファイル編集
どちらの経路も最終的に settings.yaml に書かれます:
- Web UI:
設定 → モデル。キーの保存、設定済みモデルの閲覧、プロバイダの追加を行います。モデルセレクタで選んだモデルが新規セッションのデフォルトになります。すでにリクエストを送信済みのセッションは、開始時に使用していたモデルを保持し、デフォルト変更には追従しません。

- ファイルを直接編集:
agent-default-modelの 3 フィールドを変更する、またはllm-deepseek:セクションを追加してより多くのフィールドを上書きします(カスタムプロバイダ接続時に後ほど使用)。
有効化ルール:変更は次回リクエストから有効、サービスの再起動は不要です。
サードパーティモデルを接続する
ここまでは DeepSeek 公式のセットアップでした。ここで dsh の特徴が際立ちます:どんなモデルでも接続可能、自社のものに縛られない。 公式アダプタは単に DeepSeek をデフォルトにしているだけで、Anthropic、OpenAI、任意の OpenAI 互換ゲートウェイ、ローカルモデルですら完全に接続できます。対照的に、Codex のような製品はモデルラインナップが固定されていて、プロバイダを切り替えるには公式チームが解放するのを待つ必要があります。dsh にはサードパーティを接続する 2 つの方法があります。
方法 1:プロバイダを追加(既製カタログを利用する)
設定 → モデル ページにプロバイダを追加というエントリがあり、公式の「カタログ」が並んでいます—— Anthropic、OpenAI などの既製カタログを選びます。エンドポイントとプロトコルはすでに設定済みです。追加したら次の 3 ステップのフォームに従います:

- プロバイダを選ぶ:「プロバイダ」ドロップダウンをクリックし、接続したいプロバイダ(例:
minimax-cn)を選びます。 - API Key を入力:そのプラットフォームで取得した Key を「API Key」欄に貼り付けます。マスク表示、書き込み専用。
- 利用可能モデルを取得:利用可能モデルを取得をクリックしてモデルカタログを取得し、リストから Model ID を選べます。
保存後はそのプロバイダのモデルがモデルセレクタに現れ、通常通り使えます。
方法 2:カスタムプロバイダを追加(自社ゲートウェイ / ローカルモデル)
dsh にプリインストールされていないプラットフォームを使う場合は、カスタムプロバイダを追加を使用します。埋める項目は本章冒頭の 3 つに 1 つ加えたものです:
| フィールド | 内容 | 例 |
|---|---|---|
| Provider ID | このプロバイダの一意な ID(小文字、一度決めたら永久) | my-gateway |
| API アドレス | Base URL、モデルサービスの住所 | https://your-gateway-address |
| API プロトコル | どの形式で通信するか(OpenAI / Anthropic 互換など) | openai-completions |
| Key | API Key、認証資格情報 | sk-... |
| Model | 少なくとも 1 つの Model ID を入力 | deepseek-v4-flash |
保存後はこのカスタムプロバイダがモデルリストに現れ、通常通り使えます。いくつか補足:
- Provider ID は一度決めたら永久、気軽に変えないでください。後の設定から参照されます。
- ローカルモデル / 自家ゲートウェイの場合、API アドレスを自分のサービスに向け、Key 欄にローカルサービスのキーを入れます(必要に応じてプレースホルダで OK)。
- カスタムモデルが視覚モデル(画像入力を受ける)の場合、Model ID を埋めるだけでは不十分 —— 公式の要件として、別途画像入力をサポートすることを宣言する必要があります。settings.yaml でそのプロバイダに
input: [text, image]の行を追加してください。これがないと画像入力は無効とされます。
キーと認証情報
前章で入力した Key の裏には 2 つの仕組みがあります:
- キーは書き込み専用:
設定 → モデルで保存したあと、ページには脱敏描述子のみが表示され、平文はC:\Users\<ユーザー名>\.dsh\.credentials.yamlにのみ保存されます。settings.yaml には認証情報への参照のみが書かれ、平文は保存されません。 - 解決順序:リクエスト時にはまず認証情報ストアを確認し、次に環境変数(デフォルトは
DEEPSEEK_API_KEY)をフォールバックとして使います。どちらにもなければMISSING_CREDENTIALが出ます。
トラブルシュート早見表
設定関連のエラーはほんの数種類です。該当するものを探してください:
| エラー | 意味 | 解決 |
|---|---|---|
MISSING_CREDENTIAL | キーが未設定 | モデルページでキーを保存、または参照される環境変数を設定 |
INVALID_CREDENTIAL | キーの形式が不正 | 入力したキーを確認 |
UNKNOWN_MODEL | モデルが存在しないか未設定 | 設定済みモデルを選ぶ |
UNSUPPORTED_REASONING_EFFORT | 推論レベルがサポート対象外 | off / low / high / max のいずれかを使う |
| 利用可能モデルの取得が 401 を返す | キーが誤り | キーを確認。モデル検出は OpenAI 互換の GET /models を呼び出す |
この章で学んだこと
下の項目を自力で達成できれば合格です:
- [ ] 3 つの概念 API Key / Base URL / Model ID を説明でき、取得元(DeepSeek を例に)を言える
- [ ] settings.yaml の場所と
agent-default-modelの 3 フィールドの意味を言える - [ ] DeepSeek の 3 つの Model ID それぞれの位置づけを言える
- [ ] 推論レベルの 4 値(off / low / high / max)とデフォルト、そして選び方の原則を言える
- [ ] モデル/レベル変更後、次回リクエストから有効、再起動不要であることを知っている
- [ ] サードパーティモデル接続の 2 つの方法(プロバイダ追加:既製カタログを選びキーを入れて Model ID を使う / カスタムプロバイダ追加:Provider ID・API アドレス・プロトコル・キー・モデル)を知っている
- [ ] キーの保存場所と、settings に平文が保存されない理由を知っている
- [ ] トラブルシュート表を使って
MISSING_CREDENTIAL、UNKNOWN_MODELなどのエラーを特定できる
