Developer Onboarding

LLM Gateway — 개발자 설정 가이드

사내 LLM 게이트웨이를 통해 Claude Code 와 Codex 에서 승인된 모델을 사용하는 방법입니다.

항목값
게이트웨이 URLhttps://llmgw.example.com
리전us-east-1
사용 가능 모델claude-opus-4-8 · claude-sonnet-5 · claude-haiku-4-5 · claude-fable-5 · gpt-5.5
인증 모드 / TLScognito-native / acm
가상 키(virtual key)는 로그인 후 토큰 헬퍼가 자동 발급/회전합니다. 키를 직접 붙여넣지 마세요. 설정 파일을 손으로 편집할 필요도 없습니다 — 아래 생성된 스크립트를 실행하면 모두 자동으로 구성됩니다.

1 원클릭 설정 — setup-developer 실행

관리자에게 받은 온보딩 번들(게이트웨이 리포의 scripts/ + outputs.json)에서 아래 한 줄을 실행합니다. 편집할 파일은 없습니다.

Windows 사전 준비 — Python 3 필요: 실행 전에 py -3 --version 이 Python 3.x 를 출력하는지 확인하세요. 미설치라면 winget install Python.Python.3.12 로 설치합니다. 새 PC의 python 명령은 Microsoft Store 안내용 스텁(아무 출력 없이 종료)일 수 있습니다 — 이 경우에도 스크립트가 조용히 실패하지 않고 설치 안내 메시지를 출력합니다.
./scripts/setup-developer.sh          # Windows: .\scripts\setup-developer.ps1

스크립트가 자동으로 수행하는 일:

대상수행 내용
~/.claude/settings.json게이트웨이 URL·리전·4개 모델 별칭(Fable 포함 — 빠지면 /model 선택기에서 해당 티어가 숨겨짐)·apiKeyHelper·permissions.deny: ["WebSearch"] 를 병합
~/.codex/config.toml[model_providers.llm-gateway] 블록(+.auth 토큰 헬퍼)만 교체·병합, 기본 모델 gpt-5.5
~/.llm-gateway/env게이트웨이·토큰 서비스 URL 저장 (비밀 없음 — 헬퍼가 참조)
기존 설정은 병합됩니다(다른 도구의 hooks/plugins 등 보존) — 실행 전 상태는 매번 *.llmgw-backup-<timestamp> 로 자동 백업됩니다.

2 로그인 (가상 키 발급 준비)

authMode: cognito-native

llmgw-login 실행 → 브라우저에 Cognito Hosted UI(이메일/비밀번호)가 열립니다. 토큰이 로컬 캐시됩니다. AWS CLI·자격증명 불필요.

llmgw-login          # Windows: llmgw-login.ps1
authMode: org-sso

SSO 프로필로 로그인합니다(1단계 스크립트가 llm-gateway 프로필을 만들어 둡니다). 토큰 헬퍼가 SigV4로 서명합니다.

aws sso login --profile llm-gateway

3 게이트웨이 접속 (HTTP — PoC 전용)

이 게이트웨이는 HTTP(평문) 로 서비스됩니다 — 가상 키와 프롬프트가 암호화 없이 전송되므로 PoC 용도로만 사용하세요. 접근은 허용된 사내 IP 대역(Security Group allowlist)에서만 가능합니다. 별도의 인증서 신뢰나 터널 설정은 필요 없습니다 — https://llmgw.example.com 로 바로 접속합니다.

접속이 안 되면 현재 네트워크의 공인 IP가 관리자에게 등록된 허용 CIDR에 포함되는지 확인하세요.

4 웹 검색 MCP 등록 (Claude Code)

서버 측 등록만으로는 클라이언트에서 안 보입니다. 아래 명령 한 번으로 등록하세요 — headersHelper 가 회전 키를 동적 주입합니다.

claude mcp add-json websearch '{
  "type": "http",
  "url": "https://llmgw.example.com/mcp/",
  "headersHelper": "~/.llm-gateway/get-mcp-headers.sh"
}'
# Windows에서는 headersHelper 를 다음으로 바꾸세요 (setup 이 %USERPROFILE%\.llm-gateway 에 헬퍼를 설치합니다):
#   "headersHelper": "py -3 "%USERPROFILE%\.llm-gateway\gateway_auth.py" mcp-headers"

등록 후 도구 이름: websearch-web-search-tool___WebSearch

5 동작 확인 — healthcheck 실행

./scripts/healthcheck.sh          # Windows: .\scripts\healthcheck.ps1
# 토큰 발급 → https://llmgw.example.com/v1/models 호출까지 자동 검증
# 기대: claude-opus-4-8/claude-sonnet-5/claude-haiku-4-5/claude-fable-5 + gpt-5.5 목록

이제 claude / codex 실행 시 호출이 게이트웨이로 나가고, 사용량은 관리자 대시보드에 집계됩니다.

6 참고 — 스크립트가 병합하는 설정 (수동 확인용)

1단계 스크립트가 병합하는 내용입니다. 직접 편집할 필요는 없고, 문제가 생겼을 때 아래 값이 들어갔는지 확인하는 용도입니다.

# ~/.claude/settings.json (우리 키만 병합 — 나머지는 그대로 유지)
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://llmgw.example.com",
    "AWS_REGION": "us-east-1",
    "ANTHROPIC_DEFAULT_OPUS_MODEL":   "claude-opus-4-8",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-5",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL":  "claude-haiku-4-5",
    "ANTHROPIC_DEFAULT_FABLE_MODEL":  "claude-fable-5"
  },
  "apiKeyHelper": "./scripts/get-gateway-token.sh",
  // Windows: setup 이 apiKeyHelper 를 python 절대경로 형태로 기록합니다 — 예: py -3 "%USERPROFILE%\.llm-gateway\gateway_auth.py" token
  "permissions": { "deny": ["WebSearch"] }
}

# ~/.codex/config.toml (우리 provider 블록만 교체 — 다른 섹션은 그대로 유지)
model = "gpt-5.5"
model_provider = "llm-gateway"

[model_providers.llm-gateway]
name     = "Company LLM Gateway (LiteLLM)"
base_url = "https://llmgw.example.com/v1"
wire_api = "responses"

[model_providers.llm-gateway.auth]
command = "./scripts/get-gateway-token.sh"
refresh_interval_ms = 300000
timeout_ms = 5000
수동으로 확인하고 싶으면: curl -s https://llmgw.example.com/v1/models -H "Authorization: Bearer $(./scripts/get-gateway-token.sh)"
Windows PowerShell: curl.exe -s https://llmgw.example.com/v1/models -H "Authorization: Bearer $(py -3 "%USERPROFILE%\.llm-gateway\gateway_auth.py" token)"
문제가 있으면 게이트웨이 관리자에게 문의하세요. 이 문서에는 관리자 비밀·마스터 키가 없습니다 — 가상 키는 로그인으로 자동 발급됩니다.