ドキュメント
goose
gooseではエンドポイントをHost URLと、後から追加するリクエストパスに分けて指定します。オリジンのみを指定してパスはそのままにすると、組み込みのOpenAIプロバイダーで1つのキーを使ってClaudeとGPTに接続できます。
Settings → Models → Configure providers → OpenAI: Host URLにはベアオリジンを入力します。goose自身がリクエストパス(v1/chat/completions)を付加するためです。
# goose Desktop → Settings → Models → Configure providers → OpenAI
API Key sk-kn-...
Host URL https://api.kunavo.com
Organization ID (leave blank)
Project (leave blank)
# …or as environment variables, which goose CLI reads too:
OPENAI_API_KEY=sk-kn-...
OPENAI_HOST=https://api.kunavo.com
# OPENAI_BASE_PATH is left unset on purpose. Its default is
# v1/chat/completions, which is the path Kunavo serves — that default is
# exactly why Host URL above carries no /v1./v1は含めません。 gooseのドキュメントでは、OPENAI_BASE_PATHは「ホストに追加するリクエストパス(デフォルトはv1/chat/completions)」と説明され、プロキシを使う場合はOPENAI_HOSTに「プロキシのルート(末尾にパスを付けない)」を設定するよう案内されています。この組み合わせから、フィールドにはオリジンを指定し、/v1はデフォルトのパスから追加されることが分かります。https://api.kunavo.com/v1を入力すると/v1/v1/chat/completionsへのリクエストになり、同ページでは404はキーではなくパスが誤っていることを示すと説明されています。curlは10秒で確認できる部分であり、クライアントの動作については、お客様とgooseとの間の問題です。sk-kn-で始まります)。$10からクレジットを追加すると、呼び出しはその残高から支払われ、失敗した呼び出しは課金されません。ダッシュボードを開くと、goose設定が表示されます。手順
/app/keysでキーを作成してコピーします。キーは一度だけ表示されます。- goose Desktopの場合:サイドバー → 設定 → モデル → プロバイダーを設定 → OpenAI。CLIの場合:
goose configure→ プロバイダーを設定 → OpenAI。 - API KeyとHost URLを入力します。Organization IDとProjectは空欄のままにします。gooseのドキュメントでは、これらはOpenAIのアカウントで利用状況の追跡やリソース管理に使うものとされており、Kunavoには入力する同等の値がありません。[Submit]をクリックします。
- モデルを選択します。gooseの注記では、
goose configureは「カスタムモデル名の入力に対応していない」と明記されています。表示されたリストに使いたいIDがない場合は、goose Desktopで入力するか、config.yaml内でGOOSE_MODELを設定してください。後者はそのプロセスに対してファイルの設定を上書きします。 - セッションを開始し、ファイルを操作するタスクを与えてください。gooseはほぼすべての処理でツール呼び出しを利用します。プロバイダーページでも、ツール呼び出しに対応しないモデルは「チャット補完しかできず」、拡張機能を無効にする必要があると説明されています。そのため、最初にファイルを読み書きさせると、挨拶させるより多くのことを確認できます。
gooseのConfigure LLM Providerページで2026年9月29日に確認しました。サードパーティの設定は変更されます。ここに記載されたフィールド名が表示内容と一致しなくなった場合は、このページではなく、そのページを正しい情報源としてください。
クライアントをデバッグする前に確認すること
1回のリクエストで、失敗の原因がエンドポイント、キー、設定ファイルのどれかを特定できます。これがJSONを返すなら、同じベースURLとキーがgooseで機能します。
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."フィールドに入力するモデルID
すべてのテキストモデルにはモデルIDでアクセスできます。現在の一覧はGET /v1/models、価格付きのカタログはモデルページにあります。料金は100万トークンあたりのUSDで、入力 / 出力の順です。
| モデル ID | Kunavo 入力 / 出力 | gooseでの位置付け |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | ファイルを編集するセッションの標準モデル |
claude-opus-5 | $3.50 / $17.50 | 失敗のコストが大きい変更を計画する |
claude-haiku-4-5 | $0.70 / $3.50 | トリアージ、要約、終日繰り返す処理など、安価に済ませたい応答 |
gpt-5-6-sol | $2.00 / $12.00 | 同じキーとHost URLを使った、別の系列によるセカンドオピニオン |
もう1つの方法:Kunavoのプロバイダーファイル
gooseはcustom_providersディレクトリ内のJSONファイルからもプロバイダー定義を読み込みます。この方法でプロバイダーを追加すると、OpenAIという項目を流用せず、プロバイダー選択画面に専用の項目が追加され、独自のキーと保存済みモデル一覧を使えます。Kunavoはkunavo.com/goose/kunavo.jsonでファイルを公開しています。最新のカタログから生成されるため、モデル一覧にはKunavoが現在提供しているモデルが記載され、キーではなくキー用の環境変数名が含まれています。
# macOS / Linux — goose reads every JSON file in this directory
mkdir -p ~/.config/goose/custom_providers
curl -fsSL https://kunavo.com/goose/kunavo.json \
-o ~/.config/goose/custom_providers/kunavo.json
# The file names the variable; the key itself never goes in the file
export KUNAVO_API_KEY=sk-kn-...
goose session start --provider kunavoWindowsではディレクトリは%APPDATA%\Block\goose\config\custom_providers\です。goose Desktopでは、プロバイダーがConfigure providersの下にKunavoとして表示されます。キーは環境変数の代わりにキーチェーンへ保存できます。
- エンドポイント。 このファイルでは
base_urlにhttps://api.kunavo.com/v1を設定しています。gooseのドキュメントでは、このフィールドに/v1のベースURLを指定するのか、例にある完全な/v1/chat/completionsを指定するのかが説明されていません。ソースコードで確認すると、derive_base_pathはいずれも同じv1/chat/completionsパスに変換されます。 - GPTのIDはResponses APIを使います。 gooseは
gpt-5またはgpt-6で始まるモデルIDを/v1/responsesに、それ以外を/v1/chat/completionsに送ります。Kunavoは両方に対応しているため、このファイル内のClaudeとGPTのIDを1つのキーで利用できます。 - ツール呼び出しに対応したモデルのみを掲載しています。 gooseはほぼすべてのターンでツールに依存するため、同じキーで呼び出せる画像、動画、音声モデルも、このファイルには含めていません。
このページのほかの部分と同じ注意事項が当てはまります。これはgooseのドキュメントとソースから読み取った内容であり、実行して確認したものではありません。プロバイダーを手動で設定したい場合は、プロバイダーを設定 → カスタムプロバイダーを追加でも同じ項目を入力します。タイプはOpenAI Compatible、API URLはhttps://api.kunavo.com/v1、ご自身のsk-kn-キー、そしてカンマ区切りのモデル一覧です。
よくある質問
gooseをカスタムのOpenAI互換APIに接続するにはどうすればよいですか?
組み込みのOpenAIプロバイダーを使い、ホストを指定します。goose Desktopでは[Settings]→[Models]→[Configure providers]→[OpenAI]を開き、API Key、Host URL、Organization ID、Projectを入力します。CLIでは`goose configure`→[Configure Providers]→[OpenAI]を選ぶと、同じ値の入力を求められます。環境変数ではOPENAI_API_KEYとOPENAI_HOSTを設定します。複数のエンドポイントを同時に使う必要がある場合は、gooseの[Add Custom Provider]フローから、それぞれをプロバイダー一覧の別項目として追加できます。
gooseのHost URLの末尾に/v1を付ける必要がありますか?
いいえ。付けるとリクエストが失敗します。gooseのドキュメントでは、OPENAI_BASE_PATHはホストに追加するリクエストパスで、デフォルトはv1/chat/completionsと説明されています。また、プロキシを使う場合はOPENAI_HOSTに末尾のパスを含めず、プロキシのルートを設定するよう案内されています。したがって、フィールドにはhttps://api.kunavo.comのようにオリジンのみを指定し、/v1はデフォルトのパスから追加されます。末尾に/v1があるホストでは/v1/v1/chat/completionsへのリクエストになり、認証エラーではなく404が返されます。
カスタムホストを設定した後にgooseが404を返すのはなぜですか?
gooseの説明によると、404は通常、そのエンドポイントに対してベースパスが誤っていることを示します。多くのプロキシはv1/chat/completionsを提供しますが、/v1を含まないchat/completionsを提供するものもあり、設定値は実際のパスと一致する必要があります。Kunavoはv1/chat/completionsを提供しており、これはgooseのデフォルトです。そのため、Kunavoで404になる場合は、ホストにも/v1を入力したために重複していることが最も多い原因です。「APIキーが渡されていない」という401は別の問題です。gooseのドキュメントによると、config.yamlに記載したキーは無視されます。
gooseはOpenAI互換エンドポイント経由でClaudeモデルを使えますか?
はい。プロバイダーの種類が示すのはベンダーではなく通信プロトコルです。gooseは設定したホストにOpenAI形式のチャット補完リクエストを送り、モデルIDをそのまま渡すため、ClaudeのIDはgoose内ではなく、そのエンドポイントで解決されます。注意点として、gooseはツール呼び出しを多用します。プロバイダーページには、ツール呼び出しに対応しないモデルはチャット補完しかできず、拡張機能も無効にする必要があると記載されています。そのため、ツールに対応するIDを選んでください。
この設定はKunavoによってテストされていますか?
いいえ。確認したのはgoose自身のドキュメント(2026年9月21日と29日)です。フィールド名、その順序、ホストとパスのルールは同ドキュメントから引用しています。プロバイダーファイルについては、gooseのプロバイダーソース(9月29日)も確認しています。Kunavoは自社のエンドポイントに対してgooseのセッションを実行しておらず、このクライアントでのストリーミング、ツール呼び出しの往復、拡張機能の動作について何も主張していません。単独で確認できる唯一のことは、エンドポイントとキーがそもそも機能するかどうかであり、このページのcurlで確認できます。
goose用のKunavoプロバイダーファイルはありますか?
はい。https://kunavo.com/goose/kunavo.json を保存し、gooseのcustom_providersディレクトリに置きます(macOSとLinuxでは~/.config/goose/custom_providers/、Windowsでは%APPDATA%\Block\goose\config\custom_providers\)。KUNAVO_API_KEYを設定すると、モデルIDが入力済みのKunavoがプロバイダー一覧に表示されます。このファイルは最新のカタログから生成されるため、Kunavoが現在提供しているモデルのみが記載され、キーは含まれません。