OpenClaw中应用Claude Opus 4.6模型 – 解决Unknown Model错误
整理了OpenClaw中使用Claude Opus 4.6 Thinking模型时发生'Unknown model'错误的原因和解决过程。
本文由 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-onboard2. 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 local4. 核心原因: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模型定义。
- 在模型目录中添加Opus 4.6 — 在
pi-ai软件包中的模型定义文件中添加claude-opus-4-6-thinking条目 - 模型映射/路由设置 — 添加映射,使Antigravity provider可以识别该模型ID
- 更改默认模型 — 将默认值更新为
claude-opus-4-6-thinking
Step 3: 构建并应用
cd ~/src/openclaw
pnpm install
pnpm build
openclaw gateway restartStep 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 startStep 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 inputAlpine Linux的localhost → IPv6问题
这是一个单独的问题,在Docker容器(基于Alpine)中,localhost被解析为IPv6(::1),导致healthcheck失败。将其指定为127.0.0.1即可解决。
教训
- npm安装 ↔ git安装转换比想象的要简单。
~/.openclaw/目录保留所有状态,因此只会更改安装路径,而设置/会话/认证保持不变。 - 模型支持涉及多个层。 即使Provider支持该模型,也必须在客户端(OpenClaw)的模型注册表中注册才能实际使用。
- LaunchAgent经常出现问题。 在macOS中管理服务时,记住
launchctl bootout→install --force模式会很有帮助。 - 先看日志。
~/.openclaw/logs/gateway.err.log包含了大部分答案。
评论