AI 코딩 에이전트 및 하네스

Claude Code, Codex CLI, OpenClaw, Cline, Cursor 등 25개 이상의 코딩 에이전트를 같은 세 단계로 게이트웨이에 연결하세요 — 각각의 정확한 구성 대상과 키 이름을 함께 정리했습니다.

모든 AI 코딩 에이전트는 어딘가에서 base URL과 API 키를 읽습니다 — 환경 변수, 구성 파일, 설정 패널. 이 페이지는 각 하네스가 어디서 읽는지, 어떤 프로토콜을 사용하는지, 실제로 사람을 걸려 넘어지게 하는 주의사항 하나를 정리합니다. 복사해 붙일 수 있는 전체 구성은 문서에 있습니다.

1

base_url을 게이트웨이로 지정

기본값은 https://your-gateway.gatellm.io 입니다 — /v1 포함 여부는 SDK마다 다릅니다(각 예시에 정확한 값을 표기).

2

게이트웨이 액세스 키로 교체

업스트림 sk-… 키가 아닙니다 — 같은 액세스 키가 SDK가 기대하는 헤더에 맞춰 들어갑니다.

3

게이트웨이 모델 이름 사용

콘솔에서 구성한 이름을 쓰세요 — 벤더의 공식 이름이 아닙니다.

Authorization: Bearer <key>
OpenAI · DashScope · 범용
Bearer 접두사는 대소문자를 구분하지 않습니다
x-api-key: <key>
Anthropic SDK
Authorization도 허용됩니다
x-goog-api-key: <key>
Gemini SDK
Authorization도 허용됩니다

하네스 호환성 매트릭스

하네스프로토콜지원구성 대상키 이름 / 설정문서
터미널 에이전트
Claude CodeAnthropic네이티브env varsANTHROPIC_BASE_URL, ANTHROPIC_API_KEY, ANTHROPIC_MODELGitHub 구성 예시 ↗ · 문서
Codex CLIOpenAI Responses네이티브~/.codex/config.tomlbase_url, env_key, wire_apiGitHub 구성 예시 ↗ · 문서
Gemini CLIGemini네이티브env varsGOOGLE_GEMINI_BASE_URL, GEMINI_API_KEYGitHub 구성 예시 ↗ · 문서
OpenClawOpenAI / Anthropic-compatibleOpenAI 호환openclaw.jsonmodels.providers.<id>.baseUrl, models.providers.<id>.apiKey문서
opencodeOpenAI-compatibleOpenAI 호환opencode.jsonprovider.<id>.options.baseURL문서
CrushOpenAI / Anthropic-compatibleOpenAI 호환crush.jsonproviders.<id>.base_url, providers.<id>.type문서
Factory DroidOpenAI / Anthropic-compatibleOpenAI 호환~/.factory/settings.jsoncustomModels[].baseUrl, customModels[].provider문서
GooseOpenAI-compatibleOpenAI 호환env varsOPENAI_HOST, OPENAI_BASE_PATH, OPENAI_API_KEY문서
AiderOpenAI-compatible (LiteLLM)OpenAI 호환env varsOPENAI_API_BASE문서
Qwen CodeOpenAI-compatibleOpenAI 호환env varsOPENAI_BASE_URL, OPENAI_API_KEY, OPENAI_MODEL문서
OpenHandsOpenAI-compatible (LiteLLM)OpenAI 호환~/.openhands/settings.jsonbase_url, model openai/ prefix문서
Kimi Code CLIOpenAI / AnthropicOpenAI 호환config.tomlproviders문서
PlandexOpenAI-compatibleOpenAI 호환custom models JSONbaseUrl문서
SWE-agentOpenAI-compatible (LiteLLM)OpenAI 호환env varsOPENAI_BASE_URL문서
Grok BuildOpenAI-compatibleOpenAI 호환config.tomlcustom models문서
Mistral VibeOpenAI-compatibleOpenAI 호환~/.vibe/config.tomlproviders문서
MiMo CodeOpenAI-compatibleOpenAI 호환/connect custom providerbase URL, API key문서
ForgeCodeOpenAI / AnthropicOpenAI 호환setup wizardbase URL문서
CodebuffOpenAI-compatibleOpenAI 호환settingsbase URL, API key문서
IDE 및 확장
ClineOpenAI-compatibleOpenAI 호환Settings → OpenAI CompatibleBase URL, API Key, Model ID문서
Roo CodeOpenAI-compatibleOpenAI 호환Settings → OpenAI CompatibleBase URL, API Key, Model ID문서
Kilo CodeOpenAI-compatibleOpenAI 호환Settings → OpenAI CompatibleBase URL, API Key, Model ID문서
ContinueOpenAI-compatibleOpenAI 호환config.yamlmodels[].apiBase문서
ZedOpenAI-compatibleOpenAI 호환settings.jsonlanguage_models.openai_compatible.<id>.api_url문서
CursorOpenAI부분 지원Settings → Models → Override OpenAI Base URLOverride OpenAI Base URL문서
WindsurfOpenAI-compatibleOpenAI 호환Settings → Models → BYOK / customBase URL, API Key문서
GitHub Copilot (BYOK)OpenAI-compatibleOpenAI 호환Manage Models → OpenAI-compatibleBase URL, API Key문서
관리형 플랫폼
WarpOpenAI / Anthropic / Gemini (BYOK)부분 지원Settings → BYOKBYOK API keys문서
Amazon Q Developer CLIMCP사용자 정의 엔드포인트 불가MCP server—문서
Devin—사용자 정의 엔드포인트 불가——문서

게이트웨이 모델 이름을 무엇으로 할까

일부 하네스는 자체 모델 ID를 고정해 그대로 보냅니다. 게이트웨이 모델 이름이 다르면 첫 호출이 404가 납니다. 맞추는 방법은 두 가지입니다:

Claude Code
①

게이트웨이 모델 이름을 하네스가 요청하는 이름과 정확히 같게 지정 — 추가 구성 없음.

②

또는 하네스의 모델 환경 변수(예: ANTHROPIC_MODEL)로 게이트웨이 이름을 쓰도록 재정의.

주의사항

하네스는 자체 모델 ID를 고정해 사용합니다

Claude Code는 구성된 기본값(예: claude-opus-5 또는 claude-sonnet-5)을 보냅니다 — 게이트웨이 이름이 아닙니다. 게이트웨이 모델 이름을 하네스가 요청하는 이름과 정확히 같게 지정하거나, 하네스의 모델 환경 변수(예: ANTHROPIC_MODEL)를 게이트웨이 이름으로 설정하세요. 불일치 시 첫 메시지에서 404 model_not_found가 발생합니다.

Anthropic 프로토콜 하네스는 /v1이 아닌 루트를 사용합니다

Anthropic 스타일 클라이언트의 base URL은 게이트웨이 루트(/v1 없음)로 지정합니다 — 클라이언트가 스스로 /v1/messages를 붙이기 때문입니다. 여기에 /v1을 붙이면 경로 세그먼트가 두 번 쌓입니다.

Codex 사용자 정의 제공자에는 wire_api="responses"가 필요합니다

Codex CLI는 사용자 정의 [model_providers.*] 블록에 wire_api = "responses"를 요구합니다. 게이트웨이는 /v1/responses를 네이티브로 구현합니다 — base_url을 여기로 지정하고 env_key를 게이트웨이 액세스 키로 설정하세요.

LiteLLM 기반 하네스는 openai/ 모델 접두사를 원합니다

Aider, OpenHands, SWE-agent는 LiteLLM 위에 있습니다: OPENAI_API_BASE를 게이트웨이로 설정하고 모델 이름에 openai/ 접두사를 붙이세요(예: openai/gateway-model-name). 그러면 LiteLLM이 게이트웨이를 OpenAI 호환 엔드포인트로 라우팅합니다.

기본값은 자체 키가 아니라 구독 OAuth입니다

Codex, Gemini CLI, Qwen Code는 기본적으로 벤더의 OAuth / 구독 로그인을 사용합니다. 게이트웨이를 경유하려면 API 키 인증으로 전환해야 합니다(키와 base URL을 명시적으로 설정) — 그렇지 않으면 에이전트가 게이트웨이를 완전히 우회합니다.

IDE는 모델 ID로 도구/비전 지원을 추론합니다

Cline / Roo / Kilo 등은 모델 이름으로 도구 호출과 비전 기능을 판단합니다. 사용자 정의 게이트웨이 이름은 함수 호출을 비활성화할 수 있습니다 — 도구 호출이 실패하면 클라이언트의 기능 탐지 규칙을 확인하거나, 알려진 계열과 일치하도록 모델 이름을 지정하세요.

긴 추론에는 :keep-alive와 _gateway_warning이 추가됩니다

업스트림 추론이 길어지면 게이트웨이가 SSE :keep-alive 주석 줄을 내보내며(무해합니다 — :로 시작하는 줄은 건너뛰세요), 스트림이 중간에 끊기면 오류를 내는 대신 _gateway_warning 필드를 삽입합니다. 덕분에 Claude Code 같은 하네스가 대화 전체를 중단하지 않습니다.

Claude Code 자동 모드: 안전 판정의 응답 주체를 정하세요

자동 모드에서 Claude Code는 잠재적으로 위험한 작업 전에 서버 측 판정(요청의 safeguards 필드)을 기다립니다. 업스트림이 공식 Anthropic이면 판정이 같은 요청 안에서 생성되고 게이트웨이는 이를 그대로 전달합니다. 필드를 무시하는 제3자 업스트림이면 게이트웨이가 대신 응답하며 — 출하 기본값(allow_all)은 모든 작업을 허용하므로 호출을 그냥 두는 것보다 더 관대합니다. 해당 업스트림의 extra_config에 "anthropic_server_safeguards": "upstream"을 작성하면 경로를 업스트림으로 되돌릴 수 있습니다. 콘솔 설정은 관리자 전용입니다.

# Every agent is one base_url + one access key away
export ANTHROPIC_BASE_URL="https://your-gateway.gatellm.io"   # Anthropic agents: root (no /v1)
export ANTHROPIC_API_KEY="<gateway access key>"

export OPENAI_API_BASE="https://your-gateway.gatellm.io/v1"   # OpenAI-compatible agents: /v1
export OPENAI_API_KEY="<gateway access key>"

# Codex CLI (~/.codex/config.toml) speaks the Responses protocol
# [model_providers.gatellm]
# base_url = "https://your-gateway.gatellm.io/v1"
# wire_api = "responses"

FAQ