Claude Code
Claude Code 通过其与 Anthropic 兼容的地址 https://api.uberllm.dev 与 UberLLM 通信。设置好地址和您的 key 后,Claude Code 的命令和工具将照常工作,并且请求将从您的 UberLLM 余额中扣除。
手动设置
除了 Claude Code 之外,无需运行任何其他程序。在您的 keys page 上创建一个密钥,然后:
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
这仅对当前终端会话有效。要将其永久保存在您的 shell 配置文件中,请将密钥保存到一个只有您可以读取的文件中:
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),并在终端中打印相同的确认码。登录,检查代码是否匹配,然后按 Approve。
批准后,您的账户上会创建一个 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 等网关配合使用。它会将答案保留五分钟(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 块中的变量优先于您 shell 中的同名变量。这里有两个重要的例外:
- 密钥。 Claude Code 首先使用
ANTHROPIC_AUTH_TOKEN,然后是ANTHROPIC_API_KEY,接着是apiKeyHelper。在您的 shell 中导出的 token 会替换已保存的密钥。 - 模型。 会话中的
/model优先,然后是claude --model,接着是ANTHROPIC_MODEL,最后是model设置。shell 中的ANTHROPIC_MODEL优于model设置。
因此,请从您的 shell 和 shell 配置文件(~/.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 个 token 并在达到此限制前压缩对话。
- 如果模型具有 1 百万 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 之间的 token 数量。CLAUDE_AUTOCOMPACT_PCT_OVERRIDE(1–100) 会更早压缩,在该窗口的相应份额处进行。autoCompactEnabled: false会将其关闭。
将上下文设置得比模型实际拥有的大,会导致对话超出模型限制时请求失败。
有哪些变化
- 您的 claude.ai 登录信息不会被使用。 需要 claude.ai 登录信息的功能,例如 claude.ai connectors、
/schedule和 Remote Control,在 UberLLM 上运行的会话中不可用。 - Claude Code 显示的费用并非您的账单。 Claude Code 是根据 Anthropic 的标价在您的电脑上计算的,对其他模型没有参考价值。您的实际支付金额请查看 Dashboard → Activity。将您的余额添加到状态栏(下方)即可在工作时查看。
- 您的代码将发送给第三方模型提供商。 会话读取的所有内容都会发送给模型,这些模型由 UberLLM 市场上的第三方模型提供商运行。请勿在包含机密信息、凭据或客户数据的存储库中使用它。
状态栏中的余额
curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install
这会将一个小脚本保存到 ~/.uberllm/statusline.sh 并将其作为 Claude Code 的 statusLine 添加到 ~/.claude/settings.json 中(在 --install 之后添加 --project,可以将其放入此项目的 .claude/settings.local.json 中)。然后,您会在提示符下方看到:
UberLLM $12.40 · $0.35 held · Opus
这是您的可用余额、正在运行的请求所持有的金额以及模型。它使用 Claude Code 所用的相同 key 读取 GET /v1/balance,最多每分钟一次。它只需要 sh、 curl 和 sed。请先在此处阅读:uberllm.dev/install/statusline.sh。
验证
启动 Claude Code 并运行 /status:API 地址是
https://api.uberllm.dev。然后随意提问;请求会在
仪表盘 → 活动] 中显示,通常在一分钟内。
同一个密钥也适用于 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 登录状态。
卸载不会撤销密钥;它只是停止使用密钥。请在您的 密钥页面 上删除密钥,以确保它永远无法 再次使用。对任何您不再信任的计算机执行此操作,或者如果您批准了一个 并非由您发起的请求。