OminiApi 文档

Claude Code

Claude Code 使用 OminiApi 时的常见问题

OminiApi Team常见问题约 11 分钟

配置教程见 Claude Code 配置。

Claude Code 无法连接到 Anthropic 服务

装好 Claude Code 后第一次运行 claude,出现下面的报错,或者一直要求登录 Anthropic 账号:

Unable to connect to Anthropic services
Failed to connect to api.anthropic.com: ERR_BAD_REQUEST
Please check your internet connection and network settings.

这是 Claude Code 的「首次安装引导」在尝试连官方服务。在用户目录的 .claude.json(注意是用户目录下的文件,不是 .claude 文件夹里)里加上 "hasCompletedOnboarding": true 跳过即可:

按 Win + R,输入 cmd 回车,运行:

powershell -Command "$f='%USERPROFILE%\.claude.json';$j=Get-Content $f|ConvertFrom-Json;$j|Add-Member -NotePropertyName 'hasCompletedOnboarding' -NotePropertyValue $true -Force;$j|ConvertTo-Json|Set-Content $f"

.claude.json 不存在的话,手动新建一个,内容写:

~/.claude.json
{
  "hasCompletedOnboarding": true
}

然后重新运行 claude。用 CC Switch 的话,也可以在它的设置里打开「跳过 Claude Code 初次安装确认」。

返回 401 invalid token

  • 检查 ANTHROPIC_AUTH_TOKEN 是否完整(sk- 开头,47 位),前后没有空格;
  • 检查系统环境变量里是否还有旧的 ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN,它们可能覆盖了配置文件;
  • 在控制台确认该密钥状态为「当前可用」,没有被撤销或轮换。

提示模型不存在或 No eligible upstream

  • model is not supported:模型名写错,或密钥的分组里没有这个模型。到 模型广场 核对;
  • No eligible upstream supports the requested interface or model:这个模型不能通过 Claude Code 使用的 Messages 接口调用。GPT 系列请改用 Codex;
  • 检查 ANTHROPIC_DEFAULT_OPUS_MODEL / SONNET / HAIKU 三项是不是都填了平台上有的模型名。没填的话,Claude Code 在起标题、压缩上下文时会请求它内置的默认模型名,可能在你的分组里不存在。

更多错误见 错误码。

明明选的是 Opus,账单里为什么出现别的模型

正常现象,不是配置错了,也不是被多扣钱。

Claude Code 会在后台做一些小事,比如给对话起标题(历史记录里显示的那一行)、把很长的聊天记录压缩一下。做这些事时它会换一个更便宜、更快的模型(Haiku 档),不会用你选的 Opus。另外,Claude Code 派生出的子任务 Agent(Subagent,例如内置的 Explore、general-purpose)可以在各自的配置里单独指定模型,账单里也会出现对应的调用记录。

  • 这类调用金额通常很小,不用管;
  • 金额明显偏大的话,到 使用日志 按时间找到那几笔,看清楚用的是哪个模型、花了多少,必要时 提交工单。

Claude Desktop 新建对话时为什么会自动调用模型

同样是正常现象。Claude Desktop 在你新建对话、发出第一条消息后,会自动调用一个小模型给对话起标题。这是软件自带的功能,金额很小。在使用日志里看到一笔莫名的小额调用,大概率就是它。

如何在 VS Code Claude Code 插件中使用

见 Claude Code 配置 · VS Code 插件:先让终端里的 claude 能正常对话,再在配置目录的 config.json 里写上 "primaryApiKey": "OminiApi",重启 VS Code。

如何切换回 200K 上下文

在 settings.json 的 env 里加上(和现有的 ANTHROPIC_* 配置合并,不要覆盖 Key):

~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1"
  }
}

为什么要关闭 Git 状态收集

Claude Code 默认会在每次对话里自动收集当前仓库的 git 状态(git status、git diff 等),塞进系统提示词。

问题是 git 状态变化很频繁(新建文件、改代码、切分支都会变),而系统提示词是缓存的一部分。git 状态一变,缓存就失效,本轮对话要按全价重新计费。按量付费的话,在 env 里加上 "CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS": "1" 可以减少这类无效的缓存失效。想进一步提高缓存命中率,可以看 Claude Code 缓存优化代理。

常用命令

命令说明
claude在当前目录启动交互式会话
claude "解释这个项目"启动并带上第一个问题
claude -p "解释这个函数"一次性问答,输出结果后直接退出,适合脚本 / CI
cat logs.txt | claude -p "帮我总结错误"把文件或命令输出通过管道交给 Claude
claude -c继续当前目录最近一次会话
claude -r 会话ID "继续完成"按会话 ID 恢复指定会话
claude --model claude-sonnet-5-5指定本次会话使用的模型
claude --add-dir ../apps ../lib额外添加可访问的代码目录
claude --append-system-prompt "始终使用 TypeScript"在默认系统提示后追加规则
claude --verbose显示详细日志,便于调试
claude mcp管理 MCP 服务器
claude update更新 Claude Code 到最新版
claude --dangerously-skip-permissions跳过权限确认自动执行(高风险,只在完全信任的环境使用)

本页目录