문서

문서

goose

goose는 엔드포인트를 두 부분으로 나눕니다. Host URL과 자체적으로 덧붙이는 요청 경로입니다. 기본 주소만 입력하고 경로는 그대로 두면, 기본 제공 OpenAI 제공자를 통해 하나의 키로 Claude와 GPT를 사용할 수 있습니다.

Settings → Models → Configure providers → OpenAI: Host URL에는 기본 오리진만 입력하세요. goose가 요청 경로(v1/chat/completions)를 자체적으로 추가합니다.

제공자 구성 → 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.
/v1 없이 Host URL을 입력하세요. 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 키와 Host URL을 입력하세요. Organization ID와 Project는 비워 두세요. goose는 이 항목을 OpenAI 자체 계정의 사용량 추적과 리소스 관리에 사용하도록 문서화했으며, Kunavo에는 여기에 입력할 대응 항목이 없습니다. 제출을 클릭하세요.
  4. 모델을 선택하세요. goose는 goose configure가 “사용자 지정 모델 이름 입력을 지원하지 않는다”고 명시합니다. 원하는 ID가 반환된 목록에 없다면 goose Desktop에서 직접 입력하거나 config.yaml에서 GOOSE_MODEL를 설정하세요. 이 값은 해당 프로세스의 파일 설정을 덮어씁니다.
  5. 세션을 시작하고 파일에 접근하는 작업을 지정하세요. goose는 거의 모든 작업에서 도구 호출을 사용합니다. 자체 제공자 페이지에는 도구 호출을 지원하지 않는 모델은 “채팅 완료만 수행할 수 있다”고 명시되어 있으며, 이 경우 확장 기능을 비활성화해야 합니다. 따라서 첫 실행 때는 인사말보다 파일을 읽고 수정하는 작업으로 더 많은 것을 확인할 수 있습니다.

goose의 LLM 제공자 구성 페이지에서 확인했습니다(2026년 9월 29일 기준). 서드파티 설정은 변경될 수 있으므로, 여기의 필드 이름이 실제 화면과 다르면 이 문서가 아니라 해당 페이지를 기준으로 삼으세요.

클라이언트를 디버깅하기 전에 확인할 사항

한 번의 요청으로 문제가 엔드포인트, 키 또는 구성 파일 중 어디에 있는지 판단할 수 있습니다. 이 요청에서 JSON이 반환되면 동일한 base 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-..."

필드에 입력할 model id

모든 텍스트 모델은 model 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 사용
월정액 없이 선불 잔액에서 토큰별로 청구됩니다. billing을 참고하세요. 반복되는 컨텍스트(에디터나 채팅 클라이언트가 보내는 데이터의 대부분)에서는 모델 선택보다 프롬프트 캐싱이 청구액에 더 큰 영향을 줍니다.

다른 방법: 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에서는 제공자 구성 아래에 Kunavo가 표시되며, 환경 변수 대신 키체인에 키를 저장할 수 있습니다.

  1. 엔드포인트. 파일은 base_url를 https://api.kunavo.com/v1로 설정합니다. goose 문서에는 이 필드가 /v1 기본 주소를 원하는지, 아니면 예시에 나온 전체 /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는 두 API를 모두 제공하므로 파일에 있는 Claude 및 GPT ID를 하나의 키로 사용할 수 있습니다.
  3. 도구 호출을 지원하는 모델만 나열됩니다. goose는 거의 모든 턴에서 도구를 사용하므로, 같은 키로 호출할 수 있는 이미지, 비디오, 오디오 모델도 이 파일에서는 제외됩니다.

이 페이지의 다른 내용과 마찬가지로 이 구성도 goose 문서와 소스를 확인했을 뿐 실행해 보지는 않았습니다. 제공자를 직접 작성하려면 제공자 구성 → 사용자 지정 제공자 추가로 이동해 같은 정보를 입력하세요. 유형 OpenAI Compatible, API URL https://api.kunavo.com/v1, sk-kn- 키, 쉼표로 구분한 모델 목록이 필요합니다.

자주 묻는 질문

사용자 지정 OpenAI 호환 API를 goose에 연결하려면 어떻게 하나요?

기본 제공 OpenAI 제공자를 사용하고 호스트를 지정하세요. goose Desktop에서는 설정 → 모델 → 제공자 구성 → OpenAI로 이동합니다. 입력 필드는 API Key, Host URL, Organization ID, Project입니다. CLI에서는 `goose configure` → 제공자 구성 → 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는 goose의 기본값인 v1/chat/completions를 제공합니다. 따라서 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가 현재 제공하는 모델만 나열하며 키는 포함하지 않습니다.