Claude Code
Claude Code는 Anthropic 호환 주소, https://api.uberllm.dev를 통해 UberLLM과 통신합니다. 주소와 키가 설정되면 Claude Code의 명령 및 도구는 이전과 동일하게 작동하며, 요청은 UberLLM 잔액으로 청구됩니다.
직접 설정하기
Claude Code 자체만 실행하면 됩니다. 키 페이지]에서 키를 만드세요. 그런 다음:
export ANTHROPIC_BASE_URL=https://api.uberllm.dev
export ANTHROPIC_AUTH_TOKEN=ull_your_key
claude
Windows PowerShell:
$env:ANTHROPIC_BASE_URL = "https://api.uberllm.dev"
$env:ANTHROPIC_AUTH_TOKEN = "ull_your_key"
claude
이것은 현재 터미널에서만 지속됩니다. 쉘 프로필에 키 없이 유지하려면, 본인만 읽을 수 있는 파일에 키를 저장하세요:
mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key
그리고 이것을 ~/.claude/settings.json (모든 프로젝트) 또는 <project>/.claude/settings.local.json (하나의 프로젝트)에 넣으세요:
{
"apiKeyHelper": "cat ~/.uberllm/key",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev"
}
}
또는 설치 프로그램을 사용하세요
설치 프로그램이 여러분을 위해 동일한 작업을 수행하며 브라우저를 통해 키를 가져옵니다. 원하시면 먼저 읽어보세요: 다음 링크에서 일반 텍스트로 제공됩니다: uberllm.dev/install/claude-code.sh.
claude-code.sh의 SHA-256:f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66cclaude-code.ps1의 SHA-256:60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9
실행하기 전에 확인하려면:
curl -fsSL https://uberllm.dev/install/claude-code.sh -o claude-code.sh
shasum -a 256 claude-code.sh # compare with the hash above
sh claude-code.sh
이 컴퓨터의 모든 프로젝트:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh
하나의 프로젝트만 (프로젝트 내에서 실행하세요; 다른 프로젝트는 Anthropic 플랜을 유지합니다):
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --project
현재 프로젝트 외의 프로젝트를 설정하려면 --project 뒤에 폴더를 추가하세요.
Windows PowerShell (모든 프로젝트):
irm https://uberllm.dev/install/claude-code.ps1 | iex
먼저 API key가 필요하지 않으며, 명령어를 붙여넣을 때 로그인되어 있을 필요도 없습니다. 설치 프로그램이 브라우저에서 링크를 엽니다 (https://uberllm.dev/cli/link?code=XXXX-XXXX) 그리고 터미널에 동일한 확인 코드를 출력합니다. 로그인하고, 코드가 일치하는지 확인한 다음, 승인을 누르세요.
승인하면 계정에 API key가 생성되고 대기 중인 설치 프로그램에 전달됩니다. 터미널의 코드는 비밀이 아닙니다: 요청을 시작한 설치 프로그램만 키를 수집할 수 있으며, 키는 정확히 한 번만 전달되고, 요청은 15분 후에 만료됩니다.
이 컴퓨터에 Claude Code가 한 번도 설정된 적이 없다면, 먼저 모든 프로젝트 설치를 사용하세요. Claude Code는 해당 폴더를 신뢰한 후에만 프로젝트 자체 설정을 읽으므로, 새로운 설치라도 로그인하라고 요청할 수 있습니다.
아무것도 작성하지 않고 컴퓨터의 설정 블록을 출력하려면:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --print
설치 프로그램이 쓰는 내용
키는 사용자만 읽을 수 있는 파일에 저장됩니다 (폴더 모드 700, 파일 모드 600):
| 설치 | 키 파일 | 설정 파일 |
|---|---|---|
| 모든 프로젝트 | ~/.uberllm/key |
~/.claude/settings.json (또는 $CLAUDE_CONFIG_DIR/settings.json) |
| 단일 프로젝트 | ~/.uberllm/key-<folder>-<number> |
<project>/.claude/settings.local.json |
설정 파일은 주소와 키 파일을 읽는 apiKeyHelper을 가져옵니다.
키 자체는 설정 파일에 절대 기록되지 않으므로 백업, dotfiles 저장소 또는 화면 공유에 노출되지 않습니다.
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
Claude Code는 키를 가져오기 위해 apiKeyHelper을 실행하고 Authorization: Bearer과 x-api-key 둘 다로 보내므로 UberLLM과 같은 게이트웨이와 함께 작동합니다. 답변을 5분 동안 유지합니다 (CLAUDE_CODE_API_KEY_HELPER_TTL_MS이 이를 변경합니다).
설치 프로그램은 기존 파일을 교체하는 대신 병합하므로 훅, 권한 및 MCP 서버가 유지되며, 먼저 이전 파일을 <file>.bak-<timestamp>로 복사합니다. 이전 설치로 인해 남겨진 일반 텍스트 ANTHROPIC_AUTH_TOKEN를 제거합니다. 그런 다음 게이트웨이를 통해 실제 요청을 한 번 수행하므로 성공 메시지는 요청이 통과했음을 의미합니다.
Windows 설치 프로그램은 여전히 키를 settings.json에 ANTHROPIC_AUTH_TOKEN로 기록합니다.
어떤 설정이 우선할까요
Claude Code는 다음 순서로 설정을 읽으며, 첫 번째 설정이 우선합니다:
- 관리형 설정 (해당하는 경우 회사에서 설정)
claude --settings <file><project>/.claude/settings.local.json<project>/.claude/settings.json~/.claude/settings.json
대부분의 세션에서 설정 파일의 env 블록에 있는 변수가 셸에 있는 동일한 변수보다 우선합니다. 여기서 중요한 두 가지 예외가 있습니다:
- 키. Claude Code는 먼저
ANTHROPIC_AUTH_TOKEN를 사용하고, 그 다음ANTHROPIC_API_KEY, 그리고apiKeyHelper을 사용합니다. 셸에서 내보낸 token은 저장된 키를 대체합니다. - 모델. 세션의
/model이 우선하고, 그 다음claude --model, 그 다음ANTHROPIC_MODEL, 그리고model설정이 우선합니다. 셸ANTHROPIC_MODEL는model설정을 이깁니다.
따라서 셸과 셸 프로필(~/.zshrc, ~/.bashrc)에서 모든 ANTHROPIC_* 변수를 제거하고 설정 파일에 보관하세요. 설치 프로그램은 해당 변수를 찾으면 경고합니다.
다른 모델 사용하기
기본적으로 아무것도 고정되어 있지 않습니다: Claude Code는 자체 모델 이름을 요청하며 (opus,
sonnet, haiku, claude-opus-5-5…), UberLLM은 동일한 Claude 모델을 제공합니다.
DeepSeek, GLM, Qwen, GPT 또는 다른 모델로 Claude Code를 구동하려면, Claude Code의 각 모델 슬롯을 env 블록에서 UberLLM 모델 ID에 매핑하세요:
| 변수 | 설정하는 내용 |
|---|---|
ANTHROPIC_MODEL |
세션이 시작되는 모델. |
ANTHROPIC_DEFAULT_OPUS_MODEL |
opus가 의미하는 것. |
ANTHROPIC_DEFAULT_SONNET_MODEL |
sonnet이 의미하는 것. |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
haiku이 의미하는 것. Claude Code는 제목 및 요약과 같은 백그라운드 작업에도 이를 사용합니다. |
CLAUDE_CODE_SUBAGENT_MODEL |
서브 에이전트가 실행되는 모델. |
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek/deepseek-v4-pro"
}
}
모든 슬롯을 매핑하세요. 설정되지 않은 슬롯은 계속해서 Claude 모델을 요청하며, 해당 모델에 대해 Claude 가격을 지불하게 됩니다.
설치 프로그램이 프로필을 사용하여 이 작업을 수행합니다:
curl -fsSL 'https://uberllm.dev/install/claude-code.sh?profile=glm' | sh
프로필은 claude-native (기본값, 아무것도 고정하지 않음), glm, deepseek 및
gpt입니다. 모델 테이블에서 가져온 모든 모델 ID는 변수를 수동으로 설정하면 작동합니다; GET https://api.uberllm.dev/v1/models에 나열되어 있습니다.
컨텍스트 및 압축
Claude Code는 Claude 모델의 컨텍스트 크기만 알고 있습니다. 다른 모델의 경우 200,000 토큰으로 가정하고 그 전에 대화를 압축합니다.
- 모델이 1-million-token 컨텍스트를 가지고 있다면 (uberllm.dev 페이지에 컨텍스트가 표시됨), ID 끝에
[1m]을 추가하세요. 예를 들어"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]"또는claude --model 'deepseek/deepseek-v4-pro[1m]'와 같이요. 그러면 Claude Code는 1M을 계획합니다. - 다른 크기의 경우, 모델의 컨텍스트에
CLAUDE_CODE_MAX_CONTEXT_TOKENS을 설정하세요. 예를 들어"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000"와 같이요. - 압축 시점을 선택하려면:
autoCompactWindow설정 (또는CLAUDE_CODE_AUTO_COMPACT_WINDOW변수)은 100,000부터 1,000,000까지의 토큰 수를 받습니다.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE(1–100)는 창의 해당 비율에서 더 일찍 압축합니다.autoCompactEnabled: false은 이 기능을 끕니다.
모델이 가진 것보다 더 큰 컨텍스트를 설정하면 대화가 모델의 용량을 초과할 때 요청이 실패하게 됩니다.
달라지는 점
- claude.ai 로그인은 사용되지 않습니다. claude.ai 커넥터,
/schedule및 원격 제어와 같이 로그인이 필요한 기능은 UberLLM에서 실행되는 세션에서는 사용할 수 없습니다. - Claude Code가 표시하는 비용은 실제 청구 금액이 아닙니다. Claude Code는 Anthropic의 정가 목록을 기반으로 사용자 컴퓨터에서 비용을 계산하며, 다른 모델에는 유용한 정보를 표시하지 않습니다. 실제 지불 금액은 대시보드 → 활동]에서 확인하실 수 있습니다. 작업하는 동안 잔액을 확인하려면 (아래) 상태 표시줄에 잔액을 추가하세요.
- 사용자 코드는 타사 모델 제공업체로 전송됩니다. 세션이 읽는 모든 내용은 모델로 전송되며, 이 모델은 UberLLM 마켓의 타사 모델 제공업체에 의해 실행됩니다. 비밀, 자격 증명 또는 고객 데이터를 포함하는 저장소에서는 사용하지 마십시오.
상태 표시줄의 잔액
curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install
이것은 작은 스크립트를 ~/.uberllm/statusline.sh에 저장하고 Claude Code의 statusLine으로 ~/.claude/settings.json에 추가합니다 (대신 이 프로젝트의 .claude/settings.local.json에 넣으려면 --install 뒤에 --project를 추가하세요). 그러면 프롬프트 아래에 다음이 표시됩니다:
UberLLM $12.40 · $0.35 held · Opus
그것은 사용 가능한 잔액, 아직 실행 중인 요청을 위해 보류된 금액, 그리고 모델입니다. 이것은 Claude Code가 사용하는 동일한 키로 GET /v1/balance을 읽으며, 최대 1분에 한 번 작동합니다. 이것은 오직 sh, curl 그리고 sed만 필요합니다. 먼저 uberllm.dev/install/statusline.sh](uberllm.dev/install/statusline.sh](https://uberllm.dev/install/statusline.sh))에서 읽어보세요.
확인하기
Claude Code를 시작하고 /status을(를) 실행하세요: API 주소는
https://api.uberllm.dev입니다. 그런 다음 무엇이든 물어보세요; 요청은 1분 이내에
대시보드 → 활동]에 표시됩니다.
동일한 키는 Messages API를 통해 응답합니다:
curl https://api.uberllm.dev/v1/messages \
-H "Authorization: Bearer $(cat ~/.uberllm/key)" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'
요청이 Your apiKeyHelper script is failing으로 실패하면, 키 파일이
없거나 읽을 수 없습니다: 설치 프로그램을 다시 실행하세요.
제거 및 취소
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --uninstall
단일 프로젝트 설치의 경우, 프로젝트 내에서 sh -s -- --project --uninstall을(를) 실행하세요. 먼저 설정 파일을 백업하고, 추가했던 것만 제거하며, 저장된 키 파일을 삭제합니다. 다음 시작 시 Claude Code는 Anthropic 로그인으로 돌아갑니다.
제거한다고 해서 키가 취소되는 것은 아닙니다. 단순히 사용을 중단하는 것뿐입니다. 키가 다시는 사용되지 않도록 키 페이지에서 키를 삭제하세요. 더 이상 신뢰하지 않는 컴퓨터나, 시작하지 않은 요청을 승인한 경우에도 그렇게 하세요.