OpenClaw API Error 完整排查指南:五类错误根因与修复方案

OpenClaw API Error 是指 OpenClaw 在调用 LLM Provider API 时返回错误,导致消息无法发送或工具调用失败的一类统称。根据 GitHub issue 记录(截至 2026 年 3 月),OpenClaw 的 API 错误主要分为五类:认证配置缺失(No API key found)、推理参数冲突(reasoning_effort + thinking 不兼容)、Provider 鉴权失败(401 Invalid Authentication)、端点路由错误(404 Not Found)、DNS 解析失败(NXDOMAIN)。不同类型的错误根因和修复路径完全不同,需要先定位类型再对症修复。

openclaw-API-Error-img1


五类 API Error 速查表

错误信息 HTTP 状态码 根因 受影响版本 快速修复
No API key found for provider 'xxx' auth-profiles.json 配置缺失或格式错误 所有版本 检查并修正配置文件
Invalid combination of reasoning_effort and thinking type 400 createMoonshotThinkingWrapper 逻辑 bug,工具调用时 thinking 被错误设为 disabled 2026.3.x 降级或等待修复补丁
Invalid Authentication / 401 401 API key 无效、过期、或 Provider 参数不兼容(如 Kimi web_search) 2026.3.11 验证 key 有效性;换用兼容搜索 Provider
404 page not found 404 LLM 路由 endpoint URL 配置错误 所有版本 检查 baseURL 配置
NXDOMAIN / registry.clawhub.com 连接失败 ClawHub 官方 DNS 子域名故障(非用户问题) 2026.3.13 起 等待官方修复,暂时手动安装技能

类型 1:No API key found for provider

No API key found for provider 'xxx' 是最常见的 API Error,根因是 auth-profiles.json 配置文件缺失、路径不对,或格式不符合当前版本要求。

配置文件位置

系统 路径
Windows C:\Users\<用户名>\.openclaw\agents\main\agent\auth-profiles.json
macOS / Linux ~/.openclaw/agents/main/agent/auth-profiles.json

正确的 auth-profiles.json 格式

{
  "profiles": [
    {
      "id": "default",
      "type": "api-key",
      "provider": "openai",
      "apiKey": "sk-xxxxxxxxxxxxxxxx"
    }
  ],
  "default": "default"
}

常见错误格式(会触发 No API key found):

// ❌ 缺少 "type" 字段(0.1.8-fix.3 版本已知问题)
{
  "profiles": [
    {
      "id": "default",
      "provider": "openai",
      "apiKey": "sk-xxx"
    }
  ]
}

Ollama 本地模型的特殊处理

Ollama 不需要真实 API key,但 OpenClaw 的认证校验仍会要求字段存在。配置方式:

{
  "profiles": [
    {
      "id": "ollama-local",
      "type": "api-key",
      "provider": "ollama",
      "apiKey": "ollama",
      "baseURL": "http://127.0.0.1:11434/v1"
    }
  ],
  "default": "ollama-local"
}

若上述配置仍报错(Issue #44882 记录的 0.1.8-fix.3 版本 bug),可通过 Ollama 官方集成方式启动:

ollama launch openclaw --model qwen3:14b

类型 2:reasoning_effort + thinking type 冲突(HTTP 400)

错误信息Invalid combination of reasoning_effort and thinking type: low + disabled

根因(Issue #44896,2026 年 3 月):OpenClaw 编译产物中的 createMoonshotThinkingWrapper 函数存在逻辑 bug——当存在 pinned tool choice 时,代码错误地将 thinking.type 设为 "disabled",而 reasoning.effort 仍为 "low",两个参数冲突导致 Provider 返回 HTTP 400。

受影响模型:kimi-k2.5、百炼(bailian)/glm-5 等带推理能力的模型。

受影响的编译文件(均在 dist/ 目录):

  • model-selection-_2UcLVem.js(line 101550)
  • model-selection-7OCRoBDT.js(line 101940)
  • reply-BEN3KNDZ.js(line 101814)
  • auth-profiles-iXW75sRj.js(line 99132)

临时绕过方案

  1. 关闭 Tool Choice 固定:在 Agent 配置中不设置 pinnedToolChoice,让 OpenClaw 自动选择工具,避免触发冲突逻辑。

  2. 在配置中显式禁用 reasoning

    {
      "models": {
        "chat": {
          "thinking": {
            "type": "disabled"
          },
          "reasoning_effort": "none"
        }
      }
    }
    
  3. 降级到上一稳定版本

    npm install -g [email protected]
    

该 bug 已被标记为 regression,等待官方补丁。


类型 3:401 Invalid Authentication

子情况 A:API key 无效或过期

最简单的排查方式是用 curl 直接测试 API key:

# 测试 OpenAI 兼容接口(适用于大多数 Provider)
curl -s -o /dev/null -w "%{http_code}" \
  https://api.openai.com/v1/models \
  -H "Authorization: Bearer sk-你的api-key"
# 返回 200 = key 有效;401 = key 无效或过期

# 测试 Kimi API
curl -s -o /dev/null -w "%{http_code}" \
  https://api.moonshot.cn/v1/models \
  -H "Authorization: Bearer 你的kimi-key"

子情况 B:Kimi web_search 参数不兼容(Issue #44851)

错误现象:Chat API 调用正常,但触发 $web_search 工具时返回 401。

根因:OpenClaw 调用 Kimi 的内置 $web_search 函数时,传入了 Kimi 不支持的参数(languagefreshness),且日志明确显示:"language filtering is not supported by the kimi provider"

修复方案:将搜索 Provider 切换为兼容方案:

# 在 OpenClaw 配置中切换搜索 Provider
tools:
  search:
    provider: searxng      # 或 brave / tavily
    baseURL: "http://localhost:8080"  # SearXNG 本地实例

推荐替代搜索 Provider:

  • SearXNG:开源自托管,无 API key 要求
  • Brave Search API:月免费额度 2000 次
  • Tavily:专为 AI Agent 设计,每月 1000 次免费

类型 4:404 Not Found(LLM 端点路由错误)

错误信息LLM API error: 404 - 404 page not found

根因是 baseURL 配置指向了不存在的端点,常见于:

  • 使用第三方 API 中转服务时 URL 格式错误
  • 模型名称拼写错误(如 claude-3-7 而非 claude-3-7-sonnet-20250219
  • Provider 接口版本变更,旧 endpoint 已下线

排查方式

# 直接测试端点是否可达
curl -v https://你的-base-url/v1/models \
  -H "Authorization: Bearer 你的key"

# 查看 OpenClaw 实际发出的请求 URL
openclaw logs --level debug | grep "POST\|GET\|baseURL"

配置修复openclaw.jsonauth-profiles.json):

{
  "profiles": [
    {
      "id": "custom-provider",
      "type": "api-key",
      "provider": "openai",
      "apiKey": "your-key",
      "baseURL": "https://api.example.com/v1"
    }
  ]
}

类型 5:NXDOMAIN(ClawHub Registry DNS 故障)

错误信息npx clawhub searchnpx skills add 超时/连接失败

根因(Issue #44839,2026 年 3 月 13 日确认):api.clawhub.comregistry.clawhub.com 两个子域名 DNS 记录返回 NXDOMAIN,这是 ClawHub 官方 DNS 基础设施问题,不是用户配置问题。主域名 clawhub.com 和 GitHub API 均正常。

诊断确认

nslookup registry.clawhub.com
# 正常输出应有 IP 地址
# NXDOMAIN = 官方问题,无需排查本地配置

临时绕过方案(不依赖 ClawHub Registry):

# 直接从 GitHub 安装技能
npx skills add https://github.com/用户名/技能仓库

# 手动下载技能文件放入 skills 目录
cp 技能目录/ ~/.openclaw/agents/main/skills/

openclaw-API-Error-img2


完整诊断流程

# Step 1:查看实时错误日志
openclaw logs --follow --level debug

# Step 2:检查配置文件格式
cat ~/.openclaw/agents/main/agent/auth-profiles.json

# Step 3:验证 API key 可用性(以 OpenAI 为例)
curl -s https://api.openai.com/v1/models \
  -H "Authorization: Bearer $(cat ~/.openclaw/agents/main/agent/auth-profiles.json | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['profiles'][0]['apiKey'])")"

# Step 4:确认模型名称正确
openclaw models list

# Step 5:运行诊断工具
openclaw doctor

国内模型 API Error 场景专项指南

国内模型(DeepSeek、Kimi、GLM、MiniMax、百炼)接入 OpenClaw 时,额外需要注意以下配置要点:

DeepSeek 兼容 OpenAI API 格式,配置最简单:

{
  "provider": "openai",
  "apiKey": "sk-你的deepseek-key",
  "baseURL": "https://api.deepseek.com/v1",
  "model": "deepseek-chat"
}

Kimi(Moonshot) 兼容 OpenAI 格式,但 web_search 工具需切换为外部搜索 Provider(见类型 3):

{
  "provider": "openai",
  "apiKey": "sk-你的kimi-key",
  "baseURL": "https://api.moonshot.cn/v1",
  "model": "kimi-k2.5"
}

GLM / 百炼 若出现 HTTP 400 推理参数冲突,参考类型 2 的绕过方案。

七牛云 MaaS 提供统一的多模型接入层,兼容 OpenAI/Anthropic 双 API 格式,可在一个 API Key 下切换 DeepSeek、Kimi、GLM、MiniMax 等国内模型,减少单独配置每个 Provider 的繁琐性:

{
  "provider": "openai",
  "apiKey": "你的七牛云-api-key",
  "baseURL": "https://api.qnaigc.com/v1",
  "model": "deepseek-chat"
}

常见问题

Q:API key 填写正确,但 OpenClaw 还是报 No API key found,怎么排查?
先确认配置文件路径是否正确(Windows 注意大写盘符和用户名),再检查 JSON 格式是否合法(用 python3 -m json.tool auth-profiles.json 验证),最后确认 type 字段存在——0.1.8-fix.3 版本已知缺少 type 字段会触发此错误。

Q:错误日志里出现 HTTP 400,但不确定是哪个类型的 400?
HTTP 400 在 OpenClaw 中主要对应两种情况:(1)reasoning_effort + thinking disabled 冲突(Issue #44896,仅影响推理模型),可通过错误信息中是否包含 reasoning_effort 关键词判断;(2)请求体格式错误(通常由版本不兼容引起),查看 debug 日志中的完整请求体。

Q:clawhub search 一直报连接错误,是不是需要FQ?
不是FQ问题。2026 年 3 月 13 日确认,ClawHub 的 registry.clawhub.comapi.clawhub.com 子域名 DNS 记录失效,是官方基础设施故障。等待官方修复期间,可直接从 GitHub 仓库地址安装技能。

Q:升级 OpenClaw 后突然出现 API Error,如何快速回滚?

# 查看已安装的历史版本
npm view openclaw versions --json | tail -20

# 回滚到指定版本
npm install -g [email protected]

# 验证版本
openclaw --version

Q:如何一次性验证所有已配置的 Provider API key 是否有效?
目前 OpenClaw 没有内置的批量 key 验证命令。可以发送一条简单消息(如 "hello")并查看 openclaw logs --level debug,debug 日志会显示每个 Provider 的请求响应状态码,401 表示 key 无效,200 表示正常。


总结

OpenClaw API Error 涵盖五种不同根因,排查时应先通过错误信息(No API key found / HTTP 400 / HTTP 401 / HTTP 404 / NXDOMAIN)定位类型,再对应修复。其中,No API key found 通过修正 auth-profiles.json 格式解决;reasoning_effort + thinking 冲突是已知 regression bug(Issue #44896),降级或等待补丁;Kimi web_search 401 通过切换搜索 Provider 绕过;ClawHub NXDOMAIN(Issue #44839,2026 年 3 月 13 日确认)是官方 DNS 故障,非用户问题。

本文内容基于 2026 年 3 月 OpenClaw GitHub 公开 issue 整理,OpenClaw 版本迭代频繁,建议结合 openclaw --version 和最新 Release Notes 确认对应修复状态。

延伸资源

posted @ 2026-03-16 09:16  七牛云行业应用  阅读(232)  评论(0)    收藏  举报