ドキュメント

ドキュメント

goose

gooseではエンドポイントをHost URLと、後から追加するリクエストパスに分けて指定します。オリジンのみを指定してパスはそのままにすると、組み込みのOpenAIプロバイダーで1つのキーを使ってClaudeとGPTに接続できます。

Settings → Models → Configure providers → OpenAI: Host URLにはベアオリジンを入力します。goose自身がリクエストパス(v1/chat/completions)を付加するためです。

Configure providers → OpenAI、または環境変数
# 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.
Host URLに/v1は含めません。 gooseのドキュメントでは、OPENAI_BASE_PATHは「ホストに追加するリクエストパス(デフォルトはv1/chat/completions)」と説明され、プロキシを使う場合はOPENAI_HOSTに「プロキシのルート(末尾にパスを付けない)」を設定するよう案内されています。この組み合わせから、フィールドにはオリジンを指定し、/v1はデフォルトのパスから追加されることが分かります。https://api.kunavo.com/v1を入力すると/v1/v1/chat/completionsへのリクエストになり、同ページでは404はキーではなくパスが誤っていることを示すと説明されています。
この設定は、以下の日付にgoose自身のドキュメントから読み取ったものです。Kunavoは、自社のエンドポイントに対してgooseを実行していません。セッションも、ストリーミングでのターンも、ツール呼び出しの往復も、一度も実施していません。公開されているセットアップページはテストではなく、ここに記載されている内容をテスト結果として受け取るべきではありません。以下のcurlは10秒で確認できる部分であり、クライアントの動作については、お客様とgooseとの間の問題です。
Kunavoは埋め込み、テキスト読み上げ、音声テキスト変換のモデルを提供していないため、このエンドポイントはチャット補完だけに応答します。音声の文字起こしやベクトルインデックスの作成を行うgooseの設定では、既存のプロバイダーキーが引き続き使われます。OpenAIプロバイダーの接続先をここに変更しても、そうした呼び出し先は変わりません。
まだキーをお持ちですか?Kunavoアカウントを作成し、キーを作成します(sk-kn-で始まります)。$10からクレジットを追加すると、呼び出しはその残高から支払われ、失敗した呼び出しは課金されません。ダッシュボードを開くと、goose設定が表示されます。

手順

  1. /app/keys でキーを作成してコピーします。キーは一度だけ表示されます。
  2. goose Desktopの場合:サイドバー → 設定 → モデル → プロバイダーを設定 → OpenAI。CLIの場合:goose configure → プロバイダーを設定 → OpenAI。
  3. API KeyとHost URLを入力します。Organization IDとProjectは空欄のままにします。gooseのドキュメントでは、これらはOpenAIのアカウントで利用状況の追跡やリソース管理に使うものとされており、Kunavoには入力する同等の値がありません。[Submit]をクリックします。
  4. モデルを選択します。gooseの注記では、goose configureは「カスタムモデル名の入力に対応していない」と明記されています。表示されたリストに使いたいIDがない場合は、goose Desktopで入力するか、config.yaml内でGOOSE_MODELを設定してください。後者はそのプロセスに対してファイルの設定を上書きします。
  5. セッションを開始し、ファイルを操作するタスクを与えてください。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で、入力 / 出力の順です。

モデル IDKunavo 入力 / 出力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が現在提供しているモデルが記載され、キーではなくキー用の環境変数名が含まれています。

terminal
# 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 kunavo

Windowsではディレクトリは%APPDATA%\Block\goose\config\custom_providers\です。goose Desktopでは、プロバイダーがConfigure providersの下にKunavoとして表示されます。キーは環境変数の代わりにキーチェーンへ保存できます。

  1. エンドポイント。 このファイルではbase_urlにhttps://api.kunavo.com/v1を設定しています。gooseのドキュメントでは、このフィールドに/v1のベースURLを指定するのか、例にある完全な/v1/chat/completionsを指定するのかが説明されていません。ソースコードで確認すると、derive_base_pathはいずれも同じv1/chat/completionsパスに変換されます。
  2. GPTのIDはResponses APIを使います。 gooseはgpt-5またはgpt-6で始まるモデルIDを/v1/responsesに、それ以外を/v1/chat/completionsに送ります。Kunavoは両方に対応しているため、このファイル内のClaudeとGPTのIDを1つのキーで利用できます。
  3. ツール呼び出しに対応したモデルのみを掲載しています。 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が現在提供しているモデルのみが記載され、キーは含まれません。