SpecRunnerDocs
ドキュメント対応プロバイダー
PROVIDERS

対応プロバイダー

AnthropicとOpenAIを、local・managedの対応範囲、built-in model、認証方法、実行時の制約で比較します。

このページの内容

runtimeごとの対応範囲

現行のLLM providerはAnthropicとOpenAIの2つです。models.<name>.providerが受け付ける値もanthropicopenaiだけです。GitHubはrepository連携であり、LLM providerには含めません。

providerlocalmanaged実行adapter
Anthropic対応対応local: Claude Agent SDK / managed: Managed Agents API
OpenAI対応非対応local: Codex SDK
LOCAL / ANTHROPICClaude runner

stepのeffective modelがAnthropicならClaude Code adapterへdispatchします。

LOCAL / OPENAICodex runner

最初のOpenAI step到達時にCodex adapterをlazy loadします。

MANAGEDAnthropic固定

登録済みagentとenvironmentを使い、OpenAI modelはconfig validationで拒否されます。

対応範囲。 1つのlocal runでAnthropicとOpenAIをstep単位に混成できます。managed runでproviderを混成することはできません。

最初はinitで1つ選ぶ

選択scaffoldの既定初回command
Anthropicdefaults: claude-sonnet-4-6。designはstep既定のclaude-opus-4-6[1m]specrunner init --provider anthropic
OpenAIdefaults: gpt-5.4-mini、design: gpt-5.5specrunner init --provider openai

TTYではproviderを質問し、未指定のnon-TTYではAnthropicを選びます。initはlocal-defaultのscaffold専用で、既存global configがあれば上書きしません。

terminal
# Anthropic local
npx specrunner init --provider anthropic

# OpenAI local
npx specrunner init --provider openai
codex login

--runtimeはinitの選択肢ではありません init --runtime localinit --runtime managedは現在argument errorです。managedはlocal scaffoldとは別にmanaged setupで構成します。

built-in registryにあるmodel

ANTHROPIC9 models

Claude family

  • claude-opus-4-8
  • claude-opus-4-8[1m]
  • claude-opus-4-7
  • claude-opus-4-6
  • claude-opus-4-6[1m]
  • claude-opus-4-5
  • claude-sonnet-4-6
  • claude-sonnet-4-5
  • claude-haiku-4-5
OPENAI4 models

GPT / Codex family

  • gpt-5.5
  • gpt-5.4
  • gpt-5.4-mini
  • gpt-5.3-codex-spark

registry登録と利用権限は別です built-inにあるmodelでも、契約・account・SDK側で利用できるとは限りません。SpecRunnerのregistryはproviderへのroutingとconfig validationを行い、provider側のentitlementはrun時に決まります。

価格表はmodel registryと別管理です。対応modelでも価格が不明、または価格だけ登録されていてbuilt-in modelではない場合があります。詳しくはコスト目安と計測を参照してください。

localはeffective modelでstepごとに振り分ける

local runtimeは各stepのeffective modelをmerged registryで解決し、AnthropicならClaude runner、OpenAIならCodex runnerへ渡します。

.specrunner/config.json
{
  "version": 1,
  "steps": {
    "defaults": { "model": "claude-sonnet-4-6" },
    "design": { "model": "gpt-5.5" },
    "code-review": { "model": "gpt-5.4" }
  }
}
terminal
npx specrunner config effective --type spec-change
npx specrunner doctor
準備ClaudeとCodexの両方をrun前に認証する
確認request typeごとのeffective modelとproviderを照合する
停止片方のSDK・CLI・credentialが不足している状態では開始しない

OpenAI runnerは最初のOpenAI stepで初めて読み込まれるため、未準備でもAnthropic stepまでは進めてしまう可能性があります。

managedはAnthropicの登録済みagentを使う

runtime: managedではAnthropic Managed Agents APIを使い、managed setupが登録したagent IDとenvironment IDを参照します。

terminal
export SPECRUNNER_API_KEY=...
npx specrunner managed setup
npx specrunner managed status
npx specrunner doctor
設定managedでの扱い
steps.*.model実行modelの選択には使わず、登録済みagentのmodelを使用
OpenAI modelconfig validationで拒否
timeoutMssession pollingのtimeoutへ反映
maxTurnsmanaged sessionのturn上限としては渡さない

managedのAPI key、GitHub token、environmentの準備は権限・認証・環境変数を参照してください。

custom modelはproviderを明示して追加する

built-inにないmodel名はそのままではCONFIG_INVALIDです。modelsへ追加すると、指定providerのlocal runnerへroutingされます。

.specrunner/config.json
{
  "version": 1,
  "models": {
    "provider-model-id": { "provider": "anthropic" }
  },
  "steps": {
    "implementer": { "model": "provider-model-id" }
  }
}
VALIDATIONproviderは2値だけ

anthropicまたはopenai。第三のprovider typeは追加できません。

ROUTING名前をそのまま渡す

alias変換はせず、model keyを対応SDKへ渡します。

PRICING価格は別登録

custom registryへ追加してもpricing.tsへ単価は増えません。

built-in mappingの上書きは慎重に行います user registryはbuilt-inより優先します。同じmodel名を別providerへ割り当てると、その文字列が別SDKへ渡るため、通常は新しい実model IDを追加します。

providerごとに認証経路が違う

対象対話実行headless / API key
Anthropic localClaude Codeの保存済み認証CLAUDE_CODE_OAUTH_TOKENまたはspecrunner login --provider claude
OpenAI localcodex loginOPENAI_API_KEY
Anthropic managedSPECRUNNER_API_KEY
  1. 01
    effective config

    対象request typeで各stepのmodelを解決します。

  2. 02
    credential

    使うproviderだけでなく、混成時は両方の認証を確認します。

  3. 03
    doctor

    CLI・token・managed resourceのrequired failureを解消します。

  4. 04
    small run

    最初の1件は小さいrequestでprovider dispatchとusage記録を確認します。

対応表だけでは保証されないこと

境界現行の制約
OpenAI / managed非対応。OpenAI modelをmanaged configへ指定するとerror
OpenAI / maxTurns値は解決されるがCodex SDK実行へ渡されない。timeoutMsを使う
OpenAI / doctorbyRequestType内だけのOpenAI modelをCLI checkが見落とす場合がある
OpenAI / auth hintdoctorのCODEX_API_KEY表示は古く、runnerが読むのはOPENAI_API_KEY
custom providerprovider enumはAnthropic / OpenAIのみ。互換APIを第三providerとして登録できない
model availabilityregistry登録はaccountの利用権限・region・quota・SDK対応を保証しない

実行条件。 config effective --type、provider認証、doctor、小規模runの4点が揃ってから本番requestへ進みます。

参照ソース 10