Arang.dev
搜索

OpenClaw中应用Claude Opus 4.6模型 – 解决Unknown Model错误

整理了OpenClaw中使用Claude Opus 4.6 Thinking模型时发生'Unknown model'错误的原因和解决过程。

#OpenClaw#Claude#Opus 4.6#Troubleshooting#AI
🌐 已翻译

本文由 AI 从韩语机器翻译,部分表达可能与原文有所不同。

阅读原文(韩语)

情况

Google Antigravity中Claude Opus 4.5已经停止服务,并切换为Opus 4.6。在Antigravity应用中可以正常使用Opus 4.6,但是如果在OpenClaw中将模型更改为google-antigravity/claude-opus-4-6-thinking,就会发生错误。

⚠️ Agent failed before reply: Unknown model: google-antigravity/claude-opus-4-6-thinking

原因分析

1. 需要从npm安装转换为git安装

之前通过npm安装的OpenClaw位于/opt/homebrew/lib/node_modules/openclaw,这种形式难以修改源代码或更新依赖项。为了修改模型注册表,需要转换为基于git的安装。

curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- \
  --install-method git \
  --git-dir ~/src/openclaw \
  --no-onboard

2. Control UI Origin错误

git安装后启动网关时,Control UI的WebSocket连接断开。

disconnected (1008): origin not allowed

这是因为Control UI的Origin不在网关允许列表中。可以在openclaw.json中添加controlUi.allowedOrigins,或者访问网关提供的UI(http://127.0.0.1:18789/)来解决。

3. gateway.mode 问题

网关服务已启动,但端口未打开。

Gateway start blocked: set gateway.mode=local (current: remote) or pass --allow-unconfigured.

如果gateway.mode设置为remote,则服务将拒绝在本地启动。

openclaw config set gateway.mode local

4. 核心原因:pi-ai 模型注册表未反映

使用openclaw models list确认时,Opus 4.6根本不在列表中。

$ openclaw models list --provider google-antigravity --all --plain
google-antigravity/claude-opus-4-5-thinking
google-antigravity/claude-sonnet-4-5
google-antigravity/claude-sonnet-4-5-thinking
google-antigravity/gemini-3-flash
google-antigravity/gemini-3-pro-high
# ... Opus 4.6이 없다

OpenClaw依赖于内部软件包@mariozechner/pi-ai的模型目录进行模型验证。虽然在PR #10720中已将默认模型更改为Opus 4.6,但实际的模型定义需要更新pi-ai软件包。

解决过程

Step 1: 确认问题

在GitHub Issue #10716中报告了相同的问题,并在评论中找到了修改方法。

Step 2: 修改源代码

参考问题评论,修改了3个文件。核心是在模型注册表中添加Opus 4.6模型定义。

  1. 在模型目录中添加Opus 4.6 — 在pi-ai软件包中的模型定义文件中添加claude-opus-4-6-thinking条目
  2. 模型映射/路由设置 — 添加映射,使Antigravity provider可以识别该模型ID
  3. 更改默认模型 — 将默认值更新为claude-opus-4-6-thinking

Step 3: 构建并应用

cd ~/src/openclaw
pnpm install
pnpm build
openclaw gateway restart

Step 4: 服务恢复

LaunchAgent经常出现问题。完全初始化后重新安装:

# 기존 서비스 정리
openclaw gateway stop || true
launchctl bootout gui/$UID/ai.openclaw.gateway 2>/dev/null || true
 
# lock 파일 정리 (OAuth 락 꼬임 방지)
find ~/.openclaw /tmp/openclaw -type f -name "*.lock" -delete 2>/dev/null
 
# 재설치
openclaw doctor --repair
openclaw gateway install --force
openclaw gateway start

Step 5: 确认

$ openclaw models list --provider google-antigravity --all --plain | grep 4-6
google-antigravity/claude-opus-4-6-thinking
google-antigravity/claude-sonnet-4-6-thinking
 
$ openclaw gateway status
# RPC probe: ok ✅

发生的其他问题

OAuth Token Refresh Lock

多个网关进程同时尝试刷新OAuth令牌时,可能会发生锁定问题。

OAuth token refresh failed: Lock file is already being held

停止所有网关进程,删除lock文件,然后只重启一个即可解决。

gateway.bind 值混淆

如果gateway.bind设置为local,则会发生validation错误。有效值为loopback,lan等。如果是本地专用,则使用loopback。

openclaw config set gateway.bind loopback  # ✅
openclaw config set gateway.bind local     # ❌ Invalid input

Alpine Linux的localhost → IPv6问题

这是一个单独的问题,在Docker容器(基于Alpine)中,localhost被解析为IPv6(::1),导致healthcheck失败。将其指定为127.0.0.1即可解决。

教训

  1. npm安装 ↔ git安装转换比想象的要简单。 ~/.openclaw/目录保留所有状态,因此只会更改安装路径,而设置/会话/认证保持不变。
  2. 模型支持涉及多个层。 即使Provider支持该模型,也必须在客户端(OpenClaw)的模型注册表中注册才能实际使用。
  3. LaunchAgent经常出现问题。 在macOS中管理服务时,记住launchctl bootout → install --force模式会很有帮助。
  4. 先看日志。 ~/.openclaw/logs/gateway.err.log包含了大部分答案。

评论

正在加载评论...
OpenClaw中应用Claude Opus 4.6模型 – 解决Unknown Model错误 | Arang