常见问题
针对真实环境设置(本地开发、VPS、多代理、OAuth/API 密钥、模型故障转移)的快速解答及更深入的故障排除。有关运行时诊断,请参阅 故障排除。有关完整的配置参考,请参阅 配置。出现故障时的前 60 秒
-
快速状态(首先检查)
快速本地摘要:操作系统 + 更新、网关/服务可达性、代理/会话、提供商配置 + 运行时问题(当网关可达时)。
-
可粘贴的报告(可安全分享)
具有日志尾随的只读诊断(令牌已编辑)。
-
守护进程 + 端口状态
显示监督程序运行时与 RPC 可达性、探测目标 URL 以及服务可能使用的配置。
-
深度探测
运行网关健康检查 + 提供商探测(需要可访问的网关)。请参阅 健康检查。
-
跟踪最新日志
如果 RPC 宕机,请回退到:文件日志与服务日志是分开的;请参阅 日志记录 和 故障排除。
-
运行医生(修复)
修复/迁移配置/状态并运行健康检查。请参阅 医生。
-
Gateway(网关) 快照
向运行的网关请求完整快照(仅限 WS)。请参阅 健康检查。
快速开始和首次运行设置
卡住了,最快解决问题
卡住了,最快解决问题
- Claude Code: https://www.anthropic.com/claude-code/
- OpenAI Codex: https://openai.com/codex/
--install-method git 的情况下
重新运行安装程序切换回稳定版本。提示:要求代理计划和监督修复(分步进行),然后仅执行
必要的命令。这可以使更改保持较小且更易于审计。如果你发现了真正的错误或修复,请提交 GitHub issue 或发送 PR:
https://github.com/openclaw/openclaw/issues
https://github.com/openclaw/openclaw/pulls从这些命令开始(在寻求帮助时分享输出):openclaw status: 网关/代理健康状况 + 基本配置的快速快照。openclaw models status: 检查提供商认证 + 模型可用性。openclaw doctor: 验证并修复常见的配置/状态问题。
openclaw status --all、openclaw logs --follow、
openclaw gateway status、openclaw health --verbose。快速调试循环:如果出现问题,前 60 秒该怎么办。
安装文档:安装、安装程序标志、更新。推荐的安装和设置 OpenClaw 的方式
推荐的安装和设置 OpenClaw 的方式
pnpm openclaw onboard 运行它。新手引导后如何打开仪表板?
新手引导后如何打开仪表板?
如何在本地主机和远程环境中验证仪表板(令牌)?
如何在本地主机和远程环境中验证仪表板(令牌)?
- 打开
http://127.0.0.1:18789/。 - 如果要求验证,请将
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN)中的令牌粘贴到 Control UI 设置中。 - 从网关主机检索它:
openclaw config get gateway.auth.token(或生成一个新的:openclaw doctor --generate-gateway-token)。
- Tailscale Serve(推荐):保持绑定回环,运行
openclaw gateway --tailscale serve,打开https://<magicdns>/。如果gateway.auth.allowTailscale为true,则身份标头满足 Control UI/WebSocket 验证(无需令牌,假设网关主机受信任);HTTP API 仍需要令牌/密码。 - Tailnet bind:运行
openclaw gateway --bind tailnet --token "<token>",打开http://<tailscale-ip>:18789/,在仪表板设置中粘贴令牌。 - SSH 隧道:
ssh -N -L 18789:127.0.0.1:18789 user@host然后打开http://127.0.0.1:18789/并在 Control UI 设置中粘贴令牌。
需要什么运行时?
需要什么运行时?
pnpm。对于 Gateway,不推荐使用 Bun。能在 Raspberry Pi 上运行吗?
能在 Raspberry Pi 上运行吗?
Raspberry Pi 安装有什么提示吗?
Raspberry Pi 安装有什么提示吗?
它卡在唤醒我的朋友 / 新手引导无法孵化。现在怎么办?
它卡在唤醒我的朋友 / 新手引导无法孵化。现在怎么办?
- 重启 Gateway:
- 检查状态 + 身份验证:
- 如果仍然挂起,请运行:
我可以将我的设置迁移到新机器(Mac mini)而无需重新进行新手引导吗?
我可以将我的设置迁移到新机器(Mac mini)而无需重新进行新手引导吗?
- 在新机器上安装 OpenClaw。
- 从旧机器复制
$OPENCLAW_STATE_DIR(默认:~/.openclaw)。 - 复制你的工作区(默认:
~/.openclaw/workspace)。 - 运行
openclaw doctor并重启 Gateway(网关) 服务。
~/.openclaw/ 下(例如 ~/.openclaw/agents/<agentId>/sessions/)。相关内容:迁移、磁盘文件位置、
Agent 工作区、Doctor、
远程模式。我在哪里可以看到最新版本的新内容?
我在哪里可以看到最新版本的新内容?
无法访问 docs.openclaw.ai (SSL 错误)
无法访问 docs.openclaw.ai (SSL 错误)
docs.openclaw.ai。请禁用该功能或将 docs.openclaw.ai 加入允许列表,然后重试。更多详情:故障排除。
请通过此处报告来帮助我们解除阻止:https://spa.xfinity.com/check_url_status。如果您仍然无法访问该站点,文档已在 GitHub 上镜像:
https://github.com/openclaw/openclaw/tree/main/docsStable 和 Beta 之间的区别
Stable 和 Beta 之间的区别
latest= stable(稳定版)beta= early build for testing(早期测试构建)
latest。这就是为什么 beta 和 stable 可能指向 同一版本 的原因。查看变更内容:
https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md如何安装 Beta 版本以及 Beta 和 Dev 之间有什么区别?
如何安装 Beta 版本以及 Beta 和 Dev 之间有什么区别?
beta(可能与 latest 匹配)。
Dev 是 main (git) 的移动头指针;发布时,它使用 npm dist-tag dev。单行命令 (macOS/Linux):我该如何试用最新版本?
我该如何试用最新版本?
安装程序卡住了?如何获取更多反馈?
安装程序卡住了?如何获取更多反馈?
Windows(Windows) install says git not found or openclaw not recognized
Windows(Windows) install says git not found or openclaw not recognized
- Install Git for Windows(Windows) and make sure
gitis on your PATH. - Close and reopen PowerShell, then re-run the installer.
- Your npm global bin folder is not on PATH.
-
Check the path:
-
Add that directory to your user PATH (no
\binsuffix needed on Windows(Windows); on most systems it is%AppData%\npm). - Close and reopen PowerShell after updating PATH.
Windows(Windows) exec output shows garbled Chinese text - what should I do?
Windows(Windows) exec output shows garbled Chinese text - what should I do?
system.run/execoutput renders Chinese as mojibake- The same command looks fine in another terminal profile
The docs did not answer my question - how do I get a better answer?
The docs did not answer my question - how do I get a better answer?
如何在 Linux 上安装 OpenClaw?
如何在 Linux 上安装 OpenClaw?
如何在 VPS 上安装 OpenClaw?
如何在 VPS 上安装 OpenClaw?
云服务器/VPS 安装指南在哪里?
云服务器/VPS 安装指南在哪里?
我可以让 OpenClaw 自我更新吗?
我可以让 OpenClaw 自我更新吗?
新手引导实际上做了什么?
新手引导实际上做了什么?
openclaw onboard 是推荐的设置路径。在本地模式下,它会引导您完成:- 模型/身份验证设置(支持提供商 OAuth/设置令牌流程和 API 密钥,以及 LM Studio 等本地模型选项)
- 工作区位置 + 引导文件
- Gateway(网关) 设置(绑定/端口/身份验证/tailscale)
- 提供商(WhatsApp、Telegram、Discord、Mattermost(插件)、Signal、iMessage)
- 守护进程安装(macOS 上的 LaunchAgent;macOS/Linux 上的 systemd 用户单元)
- 健康检查和技能选择
运行此程序需要 Claude 或 OpenAI 订阅吗?
运行此程序需要 Claude 或 OpenAI 订阅吗?
不使用 API 密钥可以使用 Claude Max 订阅吗?
不使用 API 密钥可以使用 Claude Max 订阅吗?
Anthropic setup-token 身份验证如何工作?
Anthropic setup-token 身份验证如何工作?
claude setup-token 通过 Claude Code CLI 生成一个 token string(它在 Web
控制台中不可用)。您可以在任何机器上运行它。在新手引导中选择 Anthropic token (paste
setup-token) 或使用 openclaw models auth paste-token --提供商 anthropic 粘贴它。该 token
被存储为 anthropic 提供商的身份验证配置文件,并像 API
密钥一样使用(不会自动刷新)。更多详情:OAuth。我在哪里可以找到 Anthropic setup-token?
我在哪里可以找到 Anthropic setup-token?
openclaw models auth setup-token --provider anthropic。如果您在其他地方运行了 claude setup-token,请使用 openclaw models auth paste-token --provider anthropic 将其粘贴到网关主机上。请参阅 Anthropic。Do you support Claude subscription auth (Claude Pro or Max)?
Do you support Claude subscription auth (Claude Pro or Max)?
Why am I seeing HTTP 429 rate_limit_error from Anthropic?
Why am I seeing HTTP 429 rate_limit_error from Anthropic?
Extra usage is required for long context requests,则表示该请求正在尝试使用
Anthropic 的 1M 上下文测试版 (context1m: true)。这仅在您的凭据符合长上下文计费条件(API 密钥计费或启用了额外使用量的订阅)时才有效。提示:设置一个 fallback 模型,以便在 OpenClaw 遇到提供商速率限制时能够继续回复。请参阅 模型、OAuth 和
/gateway/故障排除#anthropic-429-extra-usage-required-for-long-context。是否支持 AWS Bedrock?
是否支持 AWS Bedrock?
Codex 认证如何工作?
Codex 认证如何工作?
openai-codex/gpt-5.4。请参阅 模型
提供商 和 新手引导 (CLI)。您是否支持 OpenAI 订阅认证 (Codex OAuth)?
您是否支持 OpenAI 订阅认证 (Codex OAuth)?
如何设置 Gemini CLI OAuth?
如何设置 Gemini CLI OAuth?
openclaw.json 中的客户端 ID 或密钥。步骤:- 启用插件:
openclaw plugins enable google - 登录:
openclaw models auth login --provider google-gemini-cli --set-default
本地模型适合用于休闲聊天吗?
本地模型适合用于休闲聊天吗?
如何将托管模型流量保持在特定区域?
如何将托管模型流量保持在特定区域?
models.mode: "merge" 将
Anthropic/OpenAI 与 这些服务并列列出,以便在保持您选择的区域提供商的同时保留备用选项。我必须购买 Mac Mini 才能安装它吗?
我必须购买 Mac Mini 才能安装它吗?
我需要 Mac mini 来支持 iMessage 吗?
我需要 Mac mini 来支持 iMessage 吗?
- 在 Linux/VPS 上运行 Gateway(网关),并在任何登录了 iMessage 的 Mac 上运行 BlueBubbles 服务器。
- 如果您想要最简单的单机设置,请在 Mac 上运行所有内容。
如果我购买 Mac mini 来运行 OpenClaw,我可以将其连接到我的 MacBook Pro 吗?
如果我购买 Mac mini 来运行 OpenClaw,我可以将其连接到我的 MacBook Pro 吗?
我可以使用 Bun 吗?
我可以使用 Bun 吗?
Telegram:allowFrom 中填什么?
Telegram:allowFrom 中填什么?
channels.telegram.allowFrom 是 发送者的 Telegram 用户 ID(数字)。它不是机器人的用户名。新手引导接受 @username 输入并将其解析为数字 ID,但 Telegram 授权仅使用数字 ID。更安全(无第三方机器人):- 私信你的机器人,然后运行
openclaw logs --follow并读取from.id。
- 私信你的机器人,然后调用
https://api.telegram.org/bot<bot_token>/getUpdates并读取message.from.id。
- 私信
@userinfobot或@getidsbot。
多个人可以在不同的 WhatsApp 实例中使用同一个 OpenClaw 号码吗?
多个人可以在不同的 WhatsApp 实例中使用同一个 OpenClaw 号码吗?
kind: "direct", 发送者 E.164
如 +15551234567)绑定到不同的 agentId,这样每个人都可以获得自己的
工作区和会话存储。回复仍然来自 同一个 WhatsApp 账户,且私信访问
控制(channels.whatsapp.dmPolicy / channels.whatsapp.allowFrom)是每个 WhatsApp
账户的全局设置。见 Multi-Agent Routing 和
WhatsApp。我可以同时运行一个“快速聊天”代理和一个“用于编程的 Opus”代理吗?
我可以同时运行一个“快速聊天”代理和一个“用于编程的 Opus”代理吗?
Homebrew 在 Linux 上能运行吗?
Homebrew 在 Linux 上能运行吗?
/home/linuxbrew/.linuxbrew/bin(或您的 brew 前缀),以便 brew 安装的工具在非登录 shell 中能被解析。
最近的版本也会在 Linux systemd 服务中预置常见的用户 bin 目录(例如 ~/.local/bin、~/.npm-global/bin、~/.local/share/pnpm、~/.bun/bin),并在设置时遵从 PNPM_HOME、NPM_CONFIG_PREFIX、BUN_INSTALL、VOLTA_HOME、ASDF_DATA_DIR、NVM_DIR 和 FNM_DIR。可黑客的 git 安装与 npm 安装的区别
可黑客的 git 安装与 npm 安装的区别
我以后可以在 npm 和 git 安装之间切换吗?
我以后可以在 npm 和 git 安装之间切换吗?
~/.openclaw) 和工作区 (~/.openclaw/workspace) 保持不变。从 npm 到 git:--repair)。备份提示:参见 备份策略。我应该将 Gateway(网关) 运行在笔记本电脑还是 VPS 上?
我应该将 Gateway(网关) 运行在笔记本电脑还是 VPS 上?
- 优点: 无服务器成本,可直接访问本地文件,实时浏览器窗口。
- 缺点: 睡眠/网络断开 = 断开连接,操作系统更新/重启会中断,必须保持唤醒。
- 优点: 始终在线,网络稳定,无笔记本电脑睡眠问题,更容易保持运行。
- 缺点: 通常无头运行(使用截图),只能远程访问文件,必须通过 SSH 进行更新。
在专用机器上运行 OpenClaw 有多重要?
在专用机器上运行 OpenClaw 有多重要?
最低的 VPS 要求和推荐的操作系统是什么?
最低的 VPS 要求和推荐的操作系统是什么?
什么是 OpenClaw?
用一段话概括 OpenClaw 是什么?
用一段话概括 OpenClaw 是什么?
Value proposition
Value proposition
- 你的设备,你的数据: 在任何你想要的地方(Mac、Linux、VPS)运行 Gateway(网关),并保持工作区 + 会话历史在本地。
- 真实的渠道,而非 Web 沙盒: WhatsApp/Telegram/Slack/Discord/Signal/iMessage/等,以及支持平台上的移动语音和 Canvas。
- 模型无关: 使用 Anthropic、OpenAI、MiniMax、OpenRouter 等,并支持按代理路由和故障转移。
- 仅本地选项: 运行本地模型,这样如果你愿意,所有数据都可以保留在你的设备上。
- 多代理路由: 按渠道、账户或任务分离代理,每个代理都有自己的工作区和默认设置。
- 开源且可扩展: 检查、扩展和自托管,不受供应商锁定。
I just set it up - what should I do first?
I just set it up - what should I do first?
- 构建一个网站(WordPress、Shopify 或简单的静态站点)。
- 制作移动应用原型(大纲、界面、API 计划)。
- 整理文件和文件夹(清理、命名、标记)。
- 连接 Gmail 并自动生成摘要或后续跟进。
OpenClaw 的五大日常用例是什么?
OpenClaw 的五大日常用例是什么?
- 个人简报: 您关心的收件箱、日历和新闻摘要。
- 研究与起草: 快速研究、摘要,以及电子邮件或文档的初稿。
- 提醒与跟进: 由 cron 或心跳驱动的提醒和检查清单。
- 浏览器自动化: 填写表单、收集数据以及重复执行网页任务。
- 跨设备协调: 从手机发送任务,让 Gateway(网关) 在服务器上运行,并在聊天中取回结果。
OpenClaw 能否帮助 SaaS 进行潜客开发、外联、广告和博客管理?
OpenClaw 能否帮助 SaaS 进行潜客开发、外联、广告和博客管理?
与 Claude Code 相比,在 Web 开发方面有哪些优势?
与 Claude Code 相比,在 Web 开发方面有哪些优势?
- 跨会话的 持久记忆 + 工作区
- 多平台访问 (WhatsApp、Telegram、TUI、WebChat)
- 工具编排(浏览器、文件、调度、钩子)
- 始终在线的 Gateway(网关)(在 VPS 上运行,从任何地方进行交互)
- 用于本地浏览器/屏幕/相机/执行的 节点
Skills 和自动化
如何在不弄脏代码仓库的情况下自定义技能?
如何在不弄脏代码仓库的情况下自定义技能?
~/.openclaw/skills/<name>/SKILL.md 中(或通过 ~/.openclaw/openclaw.json 中的 skills.load.extraDirs 添加文件夹)。优先级为 <workspace>/skills > ~/.openclaw/skills > 捆绑(bundled),因此托管覆盖会在不触及 git 的情况下生效。只有适合提交至上游的编辑才应该存在于代码仓库中并作为 PR 发出。我可以从自定义文件夹加载技能吗?
我可以从自定义文件夹加载技能吗?
~/.openclaw/openclaw.json 中的 skills.load.extraDirs 添加额外的目录(优先级最低)。默认优先级保持为:<workspace>/skills → ~/.openclaw/skills → 捆绑(bundled) → skills.load.extraDirs。clawhub 默认安装到 ./skills,OpenClaw 在下次会话时将其视为 <workspace>/skills。如何针对不同的任务使用不同的模型?
如何针对不同的任务使用不同的模型?
机器人在执行繁重任务时冻结。我该如何卸载这些任务?
机器人在执行繁重任务时冻结。我该如何卸载这些任务?
/subagents。
在聊天中使用 /status 查看 Gateway(网关) 当前正在做什么(以及它是否忙碌)。令牌提示:长时间任务和子代理都会消耗令牌。如果成本是一个问题,请通过 agents.defaults.subagents.model 为子代理设置更便宜的模型。文档:Sub-agents。线程绑定的子代理会话在 Discord 上如何工作?
线程绑定的子代理会话在 Discord 上如何工作?
- 使用
thread: true通过sessions_spawn生成(并可选择使用mode: "session"进行持续跟进)。 - 或使用
/focus <target>手动绑定。 - 使用
/agents检查绑定状态。 - 使用
/session idle <duration|off>和/session max-age <duration|off>控制自动取消聚焦。 - 使用
/unfocus分离线程。
- 全局默认值:
session.threadBindings.enabled、session.threadBindings.idleHours、session.threadBindings.maxAgeHours。 - Discord 覆盖:
channels.discord.threadBindings.enabled、channels.discord.threadBindings.idleHours、channels.discord.threadBindings.maxAgeHours。 - 生成时自动绑定:设置
channels.discord.threadBindings.spawnSubagentSessions: true。
Cron 或提醒未触发。我应该检查什么?
Cron 或提醒未触发。我应该检查什么?
- 确认 cron 已启用 (
cron.enabled) 且未设置OPENCLAW_SKIP_CRON。 - 检查 Gateway(网关) 是否全天候运行(无睡眠/重启)。
- 验证任务的时区设置 (
--tz与主机时区对比)。
如何在 Linux 上安装 Skills?
如何在 Linux 上安装 Skills?
openclaw skills 命令或将 Skills 放入您的工作区。macOS 上的 Skills UI 在 Linux 上不可用。
在 https://clawhub.com 浏览 Skills。clawhub CLI。OpenClaw 可以按计划运行任务或在后台持续运行吗?
OpenClaw 可以按计划运行任务或在后台持续运行吗?
- Cron jobs 用于计划或定期任务(跨重启持久化)。
- Heartbeat 用于“主会话”定期检查。
- Isolated jobs 用于发布摘要或发送到聊天的自主代理。
我可以在 Linux 上运行仅限 Apple macOS 的技能吗?
我可以在 Linux 上运行仅限 Apple macOS 的技能吗?
metadata.openclaw.os 以及必需的二进制文件限制,并且只有当这些技能在 Gateway(网关) 主机上可用时,才会出现在系统提示中。在 Linux 上,除非你覆盖这些限制,否则仅限 darwin 的技能(如 apple-notes、apple-reminders、things-mac)将无法加载。你有三种支持的模式:选项 A - 在 Mac 上运行 Gateway(网关)(最简单)。
在存在 macOS 二进制文件的地方运行 Gateway(网关),然后从 Linux 通过远程模式或 Tailscale 进行连接。由于 Gateway(网关) 主机是 macOS,技能会正常加载。选项 B - 使用 macOS 节点(无 SSH)。
在 Linux 上运行 Gateway(网关),配对一个 macOS 节点(菜单栏应用程序),并在 Mac 上将 节点运行命令 (Node Run Commands) 设置为“始终询问”或“始终允许”。当节点上存在必需的二进制文件时,OpenClaw 可以将仅限 macOS 的技能视为可用。代理通过 nodes 工具运行这些技能。如果你选择“始终询问”,在提示中批准“始终允许”会将该命令添加到允许列表中。选项 C - 通过 SSH 代理 macOS 二进制文件(高级)。
将 Gateway(网关) 保留在 Linux 上,但将必需的 CLI 二进制文件解析为在 Mac 上运行的 SSH 包装器。然后覆盖技能以允许 Linux,从而使其保持可用状态。-
为二进制文件创建一个 SSH 包装器(例如:用于 Apple Notes 的
memo): -
将包装器放在 Linux 主机的
PATH上(例如~/bin/memo)。 -
覆盖技能元数据(工作区或
~/.openclaw/skills)以允许 Linux: - 启动一个新会话,以便刷新技能快照。
你们有 Notion 或 HeyGen 集成吗?
你们有 Notion 或 HeyGen 集成吗?
- 自定义 Skills / 插件: 最适合可靠的 API 访问(Notion/HeyGen 都有 API)。
- 浏览器自动化: 无需代码即可工作,但速度较慢且较脆弱。
- 每个客户一个 Notion 页面(上下文 + 偏好设置 + 进行中的工作)。
- 在会话开始时要求代理获取该页面。
skills/ 目录中。对于代理之间共享的 Skills,请将它们放在 ~/.openclaw/skills/<name>/SKILL.md 中。某些 Skills 期望通过 Homebrew 安装二进制文件;在 API 上这意味着 Linuxbrew(请参阅上面的 Homebrew Linux 常见问题 条目)。参阅 Skills 和 Linux。如何将现有的已登录 Chrome 与 OpenClaw 结合使用?
如何将现有的已登录 Chrome 与 OpenClaw 结合使用?
user 浏览器配置文件,它通过 Chrome DevTools MCP 附加:沙箱隔离与内存
Docker 感觉受限 - 如何启用完整功能?
Docker 感觉受限 - 如何启用完整功能?
node 用户身份运行,因此不
包含系统软件包、Homebrew 或捆绑的浏览器。如需更完整的设置:- 使用
OPENCLAW_HOME_VOLUME持久化/home/node以保留缓存。 - 使用
OPENCLAW_DOCKER_APT_PACKAGES将系统依赖项构建到镜像中。 - 通过捆绑的 Docker 安装 Playwright 浏览器:
node /app/node_modules/playwright-core/cli.js install chromium - 设置
PLAYWRIGHT_BROWSERS_PATH并确保该路径已持久化。
我可以将 私信 设为私密,同时用一个代理将群组设为公开/沙箱隔离吗?
我可以将 私信 设为私密,同时用一个代理将群组设为公开/沙箱隔离吗?
agents.defaults.sandbox.mode: "non-main",以便群组/渠道会话(非主密钥)在 Docker 中运行,而主 私信 会话保留在主机上。然后通过 tools.sandbox.tools 限制沙箱会话中可用的工具。设置演练 + 示例配置:群组:个人 私信 + 公开群组关键配置参考:Gateway(网关) 配置如何将主机文件夹绑定到沙箱中?
如何将主机文件夹绑定到沙箱中?
内存如何工作?
内存如何工作?
memory/YYYY-MM-DD.md中的每日笔记MEMORY.md中的精选长期笔记(仅限主/私有会话)
内存总是忘事。我怎样才能让它记住?
内存总是忘事。我怎样才能让它记住?
MEMORY.md 中,
短期上下文则放入 memory/YYYY-MM-DD.md。这仍然是我们正在改进的领域。提醒模型存储记忆会有所帮助;
它会知道该怎么做。如果它一直忘记,请验证 Gateway(网关) 是否在每次运行时使用
相同的工作区。文档:Memory、Agent workspace。内存会永久保留吗?有哪些限制?
内存会永久保留吗?有哪些限制?
语义记忆搜索是否需要 OpenAI API 密钥?
语义记忆搜索是否需要 OpenAI API 密钥?
OPENAI_API_KEY 或 models.providers.openai.apiKey)。如果您没有显式设置提供商,当 OpenClaw 可以解析 API 密钥(身份验证配置文件、models.providers.*.apiKey 或环境变量)时,它会自动选择提供商。如果解析到 OpenAI 密钥,它首选 OpenAI;否则如果解析到 Gemini 密钥,则选 Gemini,接着是 Voyage,然后是 Mistral。如果没有可用的远程密钥,内存搜索将保持禁用状态,直到您对其进行配置。如果您配置并存在本地模型路径,OpenClaw
首选 local。当您显式设置 memorySearch.provider = "ollama" 时,支持 Ollama。如果您更愿意保持本地运行,请设置 memorySearch.provider = "local"(并可选设置 memorySearch.fallback = "none")。如果您想要 Gemini 嵌入,请设置 memorySearch.provider = "gemini" 并提供 GEMINI_API_KEY(或 memorySearch.remote.apiKey)。我们支持 OpenAI、Gemini、Voyage、Mistral、Ollama 或本地嵌入模型 - 有关设置详细信息,请参阅 内存。磁盘上的文件位置
与 OpenClaw 一起使用的所有数据是否都保存在本地?
与 OpenClaw 一起使用的所有数据是否都保存在本地?
OpenClaw 将其数据存储在哪里?
OpenClaw 将其数据存储在哪里?
$OPENCLAW_STATE_DIR 之下(默认值:~/.openclaw):| 路径 | 用途 |
|---|---|
$OPENCLAW_STATE_DIR/openclaw.json | 主配置 (JSON5) |
$OPENCLAW_STATE_DIR/credentials/oauth.json | 旧版 OAuth 导入(首次使用时复制到身份配置文件) |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json | 身份配置文件(OAuth、API 密钥和可选的 keyRef/tokenRef) |
$OPENCLAW_STATE_DIR/secrets.json | 用于 file SecretRef 提供商的可选文件支持的秘密负载 |
$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json | 旧版兼容性文件(已清除静态 api_key 条目) |
$OPENCLAW_STATE_DIR/credentials/ | 提供商状态(例如 whatsapp/<accountId>/creds.json) |
$OPENCLAW_STATE_DIR/agents/ | 每个代理的状态(agentDir + 会话) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/ | 对话历史和状态(每个代理) |
$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json | 会话元数据(每个代理) |
~/.openclaw/agent/*(由 openclaw doctor 迁移)。您的 工作区(AGENTS.md、内存文件、技能等)是独立的,并通过 agents.defaults.workspace 进行配置(默认值:~/.openclaw/workspace)。AGENTS.md / SOUL.md / USER.md / MEMORY.md 应该放在哪里?
AGENTS.md / SOUL.md / USER.md / MEMORY.md 应该放在哪里?
~/.openclaw 中。- 工作区(每个代理):
AGENTS.md、SOUL.md、IDENTITY.md、USER.md、MEMORY.md(当缺少MEMORY.md时的旧版后备memory.md)、memory/YYYY-MM-DD.md、可选的HEARTBEAT.md。 - 状态目录(
~/.openclaw):配置、凭据、身份验证配置文件、会话、日志 以及共享技能(~/.openclaw/skills)。
~/.openclaw/workspace,可通过以下方式配置:推荐的备份策略
推荐的备份策略
~/.openclaw 下的任何内容(凭据、会话、令牌或加密机密负载)。
如果您需要完全恢复,请分别备份工作区和状态目录
(请参阅上面的迁移问题)。文档:Agent workspace。如何完全卸载 OpenClaw?
如何完全卸载 OpenClaw?
Can agents work outside the workspace?
Can agents work outside the workspace?
agents.defaults.sandbox 或每个代理的沙箱设置。如果您
希望某个仓库成为默认工作目录,请将该代理的
workspace 指向仓库根目录。OpenClaw 仓库只是源代码;请保持
工作区独立,除非您有意让代理在其中工作。示例(仓库作为默认 cwd):I'm in remote mode - where is the 会话 store?
I'm in remote mode - where is the 会话 store?
配置基础
What format is the config? Where is it?
What format is the config? Where is it?
$OPENCLAW_CONFIG_PATH 读取可选的 JSON5 配置(默认值:~/.openclaw/openclaw.json):~/.openclaw/workspace)。我设置了 gateway.bind: "lan"(或 "tailnet"),现在没有任何监听 / UI 显示未授权
我设置了 gateway.bind: "lan"(或 "tailnet"),现在没有任何监听 / UI 显示未授权
gateway.auth.mode + gateway.auth.token(或使用 OPENCLAW_GATEWAY_TOKEN)。gateway.remote.token/.password不会自行启用本地网关认证。- 仅当
gateway.auth.*未设置时,本地调用路径才可以将gateway.remote.*作为回退。 - 如果
gateway.auth.token/gateway.auth.password是通过 SecretRef 显式配置且未解析,解析将失败关闭(无远程回退掩码)。 - Control UI 通过
connect.params.auth.token进行身份验证(存储在 app/UI 设置中)。避免将令牌放入 URL 中。
为什么我现在在 localhost 上需要一个令牌?
为什么我现在在 localhost 上需要一个令牌?
gateway.auth.token,因此本地 WS 客户端必须进行身份验证。这会阻止其他本地进程调用 Gateway(网关)。如果你真的想要开放环回,请在配置中显式设置 gateway.auth.mode: "none"。Doctor 可以随时为你生成令牌:openclaw doctor --generate-gateway-token。更改配置后我必须重启吗?
更改配置后我必须重启吗?
gateway.reload.mode: "hybrid"(默认):热应用安全更改,关键更改则重启hot、restart、off也受支持
如何禁用有趣的 CLI 标语?
如何禁用有趣的 CLI 标语?
cli.banner.taglineMode:off:隐藏标语文本,但保留横幅标题/版本行。default:每次都使用All your chats, one OpenClaw.。random:轮换显示有趣/季节性标语(默认行为)。- 如果您根本不需要横幅,请设置环境变量
OPENCLAW_HIDE_BANNER=1。
如何启用网络搜索(和网络获取)?
如何启用网络搜索(和网络获取)?
web_fetch 无需 API 密钥即可工作。web_search 需要为您所选提供商(Brave、Gemini、Grok、Kimi 或 Perplexity)提供密钥。
建议: 运行 openclaw configure --section web 并选择一个提供商。
环境变量替代方案:- Brave:
BRAVE_API_KEY - Gemini:
GEMINI_API_KEY - Grok:
XAI_API_KEY - Kimi:
KIMI_API_KEY或MOONSHOT_API_KEY - Perplexity:
PERPLEXITY_API_KEY或OPENROUTER_API_KEY
plugins.entries.<plugin>.config.webSearch.* 下。
旧版 tools.web.search.* 提供商路径为了兼容性暂时仍然会加载,但不应在新的配置中使用。注意事项:- 如果您使用允许列表,请添加
web_search/web_fetch或group:web。 web_fetch默认启用(除非明确禁用)。- 守护进程从
~/.openclaw/.env(或服务环境)读取环境变量。
config.apply 清除了我的配置。如何恢复并避免这种情况?
config.apply 清除了我的配置。如何恢复并避免这种情况?
如何运行一个中央 Gateway,并在不同设备上配备专门的 Worker?
如何运行一个中央 Gateway,并在不同设备上配备专门的 Worker?
- Gateway(网关)(中央): 拥有通道(Signal/WhatsApp)、路由和会话。
- Nodes(设备): Macs/iOS/Android 作为外设连接并暴露本地工具(
system.run,canvas,camera)。 - Agents(Worker): 用于特殊角色的独立大脑/工作区(例如“Hetzner 运维”、“个人数据”)。
- Sub-agents: 当您需要并行处理时,从主代理生成后台工作。
- TUI: 连接到 Gateway(网关) 并切换代理/会话。
OpenClaw 浏览器能否以无头模式运行?
OpenClaw 浏览器能否以无头模式运行?
false (有头模式)。无头模式在某些网站上更容易触发反机器人检测。参见 Browser。无头模式使用相同的 Chromium 引擎,适用于大多数自动化操作(表单、点击、抓取、登录)。主要区别如下:- 没有可见的浏览器窗口(如果需要可视化内容,请使用截图)。
- 某些网站对无头模式下的自动化更为严格(验证码、反机器人)。 例如,X/Twitter 经常阻止无头会话。
如何使用 Brave 进行浏览器控制?
如何使用 Brave 进行浏览器控制?
browser.executablePath 设置为您的 Brave 二进制文件(或任何基于 Chromium 的浏览器)并重启 Gateway。
参见 Browser 中的完整配置示例。远程 Gateway(网关)和节点
命令如何在 Telegram、网关和节点之间传播?
命令如何在 Telegram、网关和节点之间传播?
node.* → Node → Gateway(网关) → Telegram节点看不到入站的提供商流量;它们只接收节点 RPC 调用。如果 Gateway(网关) 托管在远程,我的代理如何访问我的计算机?
如果 Gateway(网关) 托管在远程,我的代理如何访问我的计算机?
node.* 工具(屏幕、摄像头、系统)。典型设置:- 在常开主机(VPS/家庭服务器)上运行 Gateway(网关)。
- 将 Gateway(网关) 主机和您的计算机置于同一个 tailnet 中。
- 确保 Gateway(网关) WS 可访问(tailnet 绑定或 SSH 隧道)。
- 在本地打开 macOS 应用并以 Remote over SSH 模式(或直接通过 tailnet)连接, 以便它可以注册为节点。
-
在 Gateway(网关) 上批准该节点:
system.run。仅
配对您信任的设备,并查看 安全。文档:节点,Gateway(网关) 协议,macOS 远程模式,安全。Tailscale 已连接但我没有收到回复。现在该怎么办?
Tailscale 已连接但我没有收到回复。现在该怎么办?
两个 OpenClaw 实例可以相互通信吗(本地 + VPS)?
两个 OpenClaw 实例可以相互通信吗(本地 + VPS)?
openclaw agent --message ... --deliver,目标定位为另一个机器人监听的聊天。如果一个机器人在远程 VPS 上,可以通过 SSH/Tailscale 将你的 CLI 指向该远程 Gateway(网关)(参见 远程访问)。示例模式(从可以访问目标 Gateway(网关) 的机器运行):多个 Agent 是否需要单独的 VPS?
多个 Agent 是否需要单独的 VPS?
在个人笔记本电脑上使用节点而不是从 VPS 进行 SSH 有好处吗?
在个人笔记本电脑上使用节点而不是从 VPS 进行 SSH 有好处吗?
- 无需入站 SSH。 节点向外连接到 Gateway(网关) WebSocket 并使用设备配对。
- 更安全的执行控制。
system.run受该笔记本电脑上的节点允许列表/批准限制。 - 更多设备工具。 除了
system.run之外,节点还公开canvas、camera和screen。 - 本地浏览器自动化。 将 Gateway(网关) 保留在 VPS 上,但通过笔记本电脑上的节点主机在本地运行 Chrome,或者通过 Chrome MCP 附加到主机上的本地 Chrome。
节点是否运行网关服务?
节点是否运行网关服务?
是否有应用配置的 API / RPC 方式?
是否有应用配置的 API / RPC 方式?
config.apply 验证并写入完整配置,并作为操作的一部分重启 Gateway(网关)。初次安装的合理最小配置
初次安装的合理最小配置
如何在 VPS 上设置 Tailscale 并从 Mac 连接?
如何在 VPS 上设置 Tailscale 并从 Mac 连接?
-
在 VPS 上安装 + 登录
-
在 Mac 上安装 + 登录
- 使用 Tailscale 应用并登录到同一个 tailnet。
-
启用 MagicDNS(推荐)
- 在 Tailscale 管理控制台中,启用 MagicDNS,以便 VPS 拥有一个稳定的名称。
-
使用 tailnet 主机名
- SSH:
ssh user@your-vps.tailnet-xxxx.ts.net - Gateway(网关) WS:
ws://your-vps.tailnet-xxxx.ts.net:18789
- SSH:
如何将 Mac 节点连接到远程 Gateway(网关) (Tailscale Serve)?
如何将 Mac 节点连接到远程 Gateway(网关) (Tailscale Serve)?
- 确保 VPS 和 Mac 处于同一个 tailnet。
- 在远程模式下使用 macOS 应用(SSH 目标可以是 tailnet 主机名)。 该应用将隧道传输 Gateway(网关) 端口并作为节点连接。
-
在网关上批准节点:
环境变量和 .env 加载
OpenClaw 如何加载环境变量?
OpenClaw 如何加载环境变量?
- 当前工作目录中的
.env ~/.openclaw/.env(即$OPENCLAW_STATE_DIR/.env)中的全局回退.env
.env 文件都不会覆盖现有的环境变量。您也可以在配置中定义内联环境变量(仅当进程环境中缺少这些变量时才应用):我通过服务启动了 Gateway(网关),环境变量却消失了。该怎么办?
我通过服务启动了 Gateway(网关),环境变量却消失了。该怎么办?
- 将缺失的键放入
~/.openclaw/.env中,这样即使服务未继承您的 shell 环境,也能获取到它们。 - 启用 shell 导入(可选便捷功能):
OPENCLAW_LOAD_SHELL_ENV=1、OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000。我设置了 COPILOT_GITHUB_TOKEN,但模型状态显示“Shell env: off.”。这是为什么?
我设置了 COPILOT_GITHUB_TOKEN,但模型状态显示“Shell env: off.”。这是为什么?
openclaw models status 报告是否启用了 shell env import。“Shell env: off”
并不意味着缺少您的环境变量——它只是意味着 OpenClaw 不会
自动加载您的登录 shell。如果 Gateway(网关) 作为服务(launchd/systemd)运行,它将不会继承您的 shell
环境。通过执行以下操作之一来修复:-
将 token 放入
~/.openclaw/.env中: -
或启用 shell import(
env.shellEnv.enabled: true)。 -
或将其添加到您的配置
env块中(仅在缺失时适用)。
COPILOT_GITHUB_TOKEN 读取(也有 GH_TOKEN / GITHUB_TOKEN)。
请参阅 /concepts/模型-providers 和 /environment。会话与多个聊天
如何开始一个新的对话?
如何开始一个新的对话?
/new 或 /reset 作为独立消息。请参阅 会话管理。如果我不发送 /new,会话会自动重置吗?
如果我不发送 /new,会话会自动重置吗?
session.idleMinutes 后过期(默认为 60)。下一条
消息将为该聊天键启动一个新的会话 ID。这不会删除
转录记录——它只是开始一个新的会话。有没有办法组建一个 OpenClaw 实例团队(一个 CEO 和多个 agent)?
有没有办法组建一个 OpenClaw 实例团队(一个 CEO 和多个 agent)?
为什么上下文会在任务中途被截断?我该如何防止这种情况?
为什么上下文会在任务中途被截断?我该如何防止这种情况?
- 要求机器人总结当前状态并将其写入文件。
- 在长任务之前使用
/compact,并在切换主题时使用/new。 - 将重要的上下文保存在工作空间中,并要求机器人读回它。
- 对长时间或并行工作使用子代理,以便主聊天保持较小的规模。
- 如果这种情况经常发生,请选择一个具有更大上下文窗口的模型。
如何完全重置 OpenClaw 但保持其已安装状态?
如何完全重置 OpenClaw 但保持其已安装状态?
- 如果新手引导发现现有配置,也会提供 重置 选项。请参阅 新手引导 (CLI)。
- 如果你使用了配置文件(
--profile/OPENCLAW_PROFILE),请重置每个状态目录(默认为~/.openclaw-<profile>)。 - 开发重置:
openclaw gateway --dev --reset(仅限开发;清除开发配置 + 凭证 + 会话 + 工作空间)。
我收到“上下文太大”错误 - 如何重置或压缩?
我收到“上下文太大”错误 - 如何重置或压缩?
为什么我会看到“LLM 请求被拒绝:需要 messages.content.tool_use.input 字段”?
为什么我会看到“LLM 请求被拒绝:需要 messages.content.tool_use.input 字段”?
tool_use 块,但没有必需的
input。这通常意味着会话历史已过时或损坏(通常发生在长线程
或工具/架构更改后)。修复方法:使用 /new (独立消息) 开始一个新的会话。为什么我每 30 分钟会收到心跳消息?
为什么我每 30 分钟会收到心跳消息?
HEARTBEAT.md 存在但实际上是空的(只有空行和 # Heading 等 markdown
标题),OpenClaw 会跳过心跳运行以节省 API 调用。
如果文件丢失,心跳仍会运行,由模型决定该做什么。每个代理的覆盖使用 agents.list[].heartbeat。文档:心跳。我需要将“机器人帐户”添加到 WhatsApp 群组吗?
我需要将“机器人帐户”添加到 WhatsApp 群组吗?
groupPolicy: "allowlist")。如果您希望只有您能够触发群组回复:如何获取 WhatsApp 群组的 JID?
如何获取 WhatsApp 群组的 JID?
为什么 OpenClaw 不在群组中回复?
为什么 OpenClaw 不在群组中回复?
我可以创建多少个工作区和代理?
我可以创建多少个工作区和代理?
- 磁盘增长: 会话和转录记录位于
~/.openclaw/agents/<agentId>/sessions/下。 - Token 成本: 代理越多意味着并发模型使用越多。
- 运维开销: 每个代理的身份验证配置文件、工作区和渠道路由。
- 为每个代理保留一个 active 工作区 (
agents.defaults.workspace)。 - 如果磁盘增长,请清理旧会话(删除 JSONL 或存储条目)。
- 使用
openclaw doctor来查找孤立的工作区和配置文件不匹配。
我可以同时运行多个机器人或聊天吗 (Slack),应该如何设置?
我可以同时运行多个机器人或聊天吗 (Slack),应该如何设置?
- 始终在线的 Gateway(网关) 主机 (VPS/Mac mini)。
- 每个角色一个代理(绑定)。
- 绑定到这些代理的 Slack 渠道。
- 根据需要通过 Chrome MCP 或节点使用本地浏览器。
模型:默认值、选择、别名、切换
什么是“默认模型”?
什么是“默认模型”?
provider/model (例如:anthropic/claude-opus-4-6)。如果省略提供商,OpenClaw 目前假定 anthropic 作为临时的弃用回退方案——但您仍然应该 显式地 设置 provider/model。推荐使用哪个模型?
推荐使用哪个模型?
如何在不清除配置的情况下切换模型?
如何在不清除配置的情况下切换模型?
我可以使用自托管模型(llama.cpp、vLLM、Ollama)吗?
我可以使用自托管模型(llama.cpp、vLLM、Ollama)吗?
- 从
https://ollama.com/download安装 Ollama - 拉取一个本地模型,例如
ollama pull glm-4.7-flash - 如果你也想要 Ollama Cloud,请运行
ollama signin - 运行
openclaw onboard并选择Ollama - 选择
Local或Cloud + Local
Cloud + Local为你提供 Ollama Cloud 模型以及你的本地 Ollama 模型- 诸如
kimi-k2.5:cloud之类的云模型不需要本地拉取 - 若要手动切换,请使用
openclaw models list和openclaw models set ollama/<model>
OpenClaw、Flawd 和 Krill 使用什么模型?
OpenClaw、Flawd 和 Krill 使用什么模型?
- 这些部署可能会有所不同,并且可能会随时间变化;没有固定的提供商推荐。 - 使用
openclaw models status检查每个网关上的当前运行时设置。 - 对于对安全敏感/启用工具的代理,请使用可用的最强最新一代模型。
如何即时切换模型(无需重启)?
如何即时切换模型(无需重启)?
/model 命令作为独立消息使用:/model、/model list 或 /model status 列出可用模型。/model(以及 /model list)会显示一个紧凑的带编号选择器。按数字选择:/model status 显示当前激活的是哪个代理,正在使用哪个 auth-profiles.json 文件,以及下次将尝试哪个身份验证配置文件。
它还会在可用时显示配置的提供商端点(baseUrl)和 API 模式(api)。如何取消我通过 @profile 设置的配置文件固定?重新运行 /model,但不要带 @profile 后缀:/model 中选择它(或者发送 /model <default provider/model>)。
使用 /model status 确认哪个身份验证配置文件处于激活状态。我可以将 GPT 5.2 用于日常任务,将 Codex 5.3 用于编程吗?
我可以将 GPT 5.2 用于日常任务,将 Codex 5.3 用于编程吗?
为什么我会看到“模型 ... 不被允许”,然后没有回复?
为什么我会看到“模型 ... 不被允许”,然后没有回复?
agents.defaults.models,它将成为 /model 和任何
会话覆盖的 允许列表。选择一个不在该列表中的模型将返回:agents.defaults.models,移除允许列表,或从 /model list 中选择一个模型。为什么我会看到“未知模型:minimax/MiniMax-M2.7”?
为什么我会看到“未知模型:minimax/MiniMax-M2.7”?
-
升级到最新的 OpenClaw 版本(或从源代码
main运行),然后重启网关。 - 确保已配置 MiniMax(通过向导或 JSON),或者在 env/auth 配置文件中存在 MiniMax API 密钥, 以便注入提供商。
-
使用确切的模型 ID(区分大小写):
minimax/MiniMax-M2.7,minimax/MiniMax-M2.7-highspeed,minimax/MiniMax-M2.5,或minimax/MiniMax-M2.5-highspeed。 -
运行:
并从列表中选择(或在聊天中选择
/model list)。
我可以将 MiniMax 设为默认,并为复杂任务使用 OpenAI 吗?
我可以将 MiniMax 设为默认,并为复杂任务使用 OpenAI 吗?
opus / sonnet / gpt 是内置快捷方式吗?
opus / sonnet / gpt 是内置快捷方式吗?
agents.defaults.models 中时才适用):opus→anthropic/claude-opus-4-6sonnet→anthropic/claude-sonnet-4-6gpt→openai/gpt-5.4gpt-mini→openai/gpt-5-minigemini→google/gemini-3.1-pro-previewgemini-flash→google/gemini-3-flash-previewgemini-flash-lite→google/gemini-3.1-flash-lite-preview
如何定义/覆盖模型快捷方式(别名)?
如何定义/覆盖模型快捷方式(别名)?
agents.defaults.models.<modelId>.alias。示例:/model sonnet(或在支持的情况下使用 /<alias>)将解析为该模型 ID。如何添加来自其他提供商(如 OpenRouter 或 Z.AI)的模型?
如何添加来自其他提供商(如 OpenRouter 或 Z.AI)的模型?
No API key found for provider "zai")。添加新代理后未找到提供商的 API 密钥这通常意味着新代理的认证存储为空。认证是按代理进行的,
并存储在:- 运行
openclaw agents add <id>并在向导期间配置认证。 - 或者将
auth-profiles.json从主代理的agentDir复制到新代理的agentDir中。
agentDir;这会导致认证/会话冲突。模型故障转移和“所有模型均失败”
故障转移是如何工作的?
故障转移是如何工作的?
- 同一提供商内的 Auth profile rotation(认证配置轮换)。
- Model fallback(模型回退)到
agents.defaults.model.fallbacks中的下一个模型。
“找不到配置文件 anthropic:default 的凭据”是什么意思?
“找不到配置文件 anthropic:default 的凭据”是什么意思?
anthropic:default,但在预期的身份验证存储中找不到该凭据。修复清单:- 确认身份验证配置文件的位置(新路径与旧路径)
- 当前:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - 旧版:
~/.openclaw/agent/*(由openclaw doctor迁移)
- 当前:
- 确认您的环境变量已由 Gateway(网关) 加载
- 如果您在 shell 中设置了
ANTHROPIC_API_KEY,但通过 systemd/launchd 运行 Gateway(网关),则可能无法继承该变量。请将其放入~/.openclaw/.env或启用env.shellEnv。
- 如果您在 shell 中设置了
- 确保您正在编辑正确的代理
- 多代理设置意味着可能存在多个
auth-profiles.json文件。
- 多代理设置意味着可能存在多个
- 健全性检查模型/身份验证状态
- 使用
openclaw models status查看已配置的模型以及提供商是否已通过身份验证。
- 使用
-
使用设置令牌
- 运行
claude setup-token,然后使用openclaw models auth setup-token --provider anthropic粘贴它。 - 如果令牌是在另一台机器上创建的,请使用
openclaw models auth paste-token --provider anthropic。
- 运行
-
如果您想改用 API 密钥
-
将
ANTHROPIC_API_KEY放入 Gateway(网关) 主机 上的~/.openclaw/.env中。 -
清除任何强制使用缺失配置文件的固定顺序:
-
将
-
确认您在 Gateway(网关) 主机上运行命令
- 在远程模式下,身份验证配置文件位于 Gateway(网关) 机器上,而不是您的笔记本电脑上。
为什么它还尝试了 Google Gemini 并失败了?
为什么它还尝试了 Google Gemini 并失败了?
No API key found for provider "google"。修复方法:提供 Google 身份验证,或者在 agents.defaults.model.fallbacks / 别名中删除/避免使用 Google 模型,以免回退路由到那里。LLM 请求被拒绝:需要 thinking 签名(Google Antigravity)原因:会话历史包含 没有签名的 thinking 块(通常来自已中止/部分流)。Google Antigravity 要求 thinking 块必须具有签名。修复方法:OpenClaw 现在会为 Google Antigravity Claude 剥离无签名的 thinking 块。如果问题仍然出现,请开始 新会话 或为该代理设置 /thinking off。身份验证配置文件:它们是什么以及如何管理它们
相关:/concepts/oauth(OAuth 流程、令牌存储、多账户模式)什么是 auth profile?
什么是 auth profile?
典型的 profile ID 是什么?
典型的 profile ID 是什么?
anthropic:default(在没有电子邮件身份时很常见)anthropic:<email>用于 OAuth 身份- 您选择的自定义 ID(例如
anthropic:work)
我可以控制首先尝试哪个身份验证配置文件吗?
我可以控制首先尝试哪个身份验证配置文件吗?
auth.order.<provider>)。这不存储机密;它将 ID 映射到提供商/模式并设置轮换顺序。OpenClaw 可能会暂时跳过某个配置文件,如果它处于短暂的冷却期(速率限制/超时/身份验证失败)或更长的禁用状态(计费/余额不足)。要检查此情况,请运行 openclaw models status --json 并检查 auth.unusableProfiles。调整:auth.cooldowns.billingBackoffHours*。您还可以通过 CLI 设置每个代理的顺序覆盖(存储在该代理的 auth-profiles.json 中):OAuth 与 API 密钥——有什么区别?
OAuth 与 API 密钥——有什么区别?
- OAuth 通常利用订阅访问(如适用)。
- API 密钥使用按令牌付费的计费方式。
Gateway(网关): ports, “already running”, and remote mode
Gateway(网关) 使用哪个端口?
Gateway(网关) 使用哪个端口?
gateway.port 控制 WebSocket + HTTP 的单个多路复用端口(控制 UI、挂钩等)。优先级:为什么 openclaw gateway status 显示“Runtime: running”但“RPC probe: failed”?
为什么 openclaw gateway status 显示“Runtime: running”但“RPC probe: failed”?
status。使用 openclaw gateway status 并信任这些行:Probe target:(探测实际使用的 URL)Listening:(端口上实际绑定的内容)Last gateway error:(当进程存活但端口未监听时的常见根本原因)
为什么 OpenClaw Gateway 状态显示的 "Config (cli)" 和 "Config (service)" 不同?
为什么 OpenClaw Gateway 状态显示的 "Config (cli)" 和 "Config (service)" 不同?
--profile / OPENCLAW_STATE_DIR 不匹配)。修复方法:--profile / 环境中运行该命令。"another gateway instance is already listening" 是什么意思?
"another gateway instance is already listening" 是什么意思?
ws://127.0.0.1:18789)来强制执行运行时锁。如果绑定失败并出现 EADDRINUSE,它会抛出 GatewayLockError,表明另一个实例已在监听。修复方法:停止另一个实例,释放端口,或使用 openclaw gateway --port <port> 运行。如何在远程模式下运行 OpenClaw(客户端连接到其他地方的 Gateway(网关))?
如何在远程模式下运行 OpenClaw(客户端连接到其他地方的 Gateway(网关))?
gateway.mode: "remote" 并指向一个远程 WebSocket URL,可以选择带有令牌/密码:openclaw gateway仅在gateway.mode为local时启动(或者您传递覆盖标志)。- macOS 应用程序会监视配置文件,并在这些值更改时实时切换模式。
控制 UI 显示“未授权”(或一直重新连接)。现在该怎么办?
控制 UI 显示“未授权”(或一直重新连接)。现在该怎么办?
gateway.auth.*),但 UI 没有发送匹配的令牌/密码。事实(来自代码):- 控制 UI 将令牌保存在
sessionStorage中,用于当前浏览器标签页会话和选定的网关 URL,因此同一标签页内的刷新可以继续工作,而无需恢复长期的 localStorage 令牌持久性。 - 在
AUTH_TOKEN_MISMATCH上,当网关返回重试提示 (canRetryWithDeviceToken=true,recommendedNextStep=retry_with_device_token) 时,受信任的客户端可以尝试使用缓存的设备令牌进行一次有界的重试。
- 最快的方法:
openclaw dashboard(打印并复制仪表板 URL,尝试打开;如果是无头模式,则显示 SSH 提示)。 - 如果您还没有令牌:
openclaw doctor --generate-gateway-token。 - 如果是远程的,先进行隧道连接:
ssh -N -L 18789:127.0.0.1:18789 user@host然后打开http://127.0.0.1:18789/。 - 在网关主机上设置
gateway.auth.token(或OPENCLAW_GATEWAY_TOKEN)。 - 在控制 UI 设置中,粘贴相同的令牌。
- 如果在一次重试后不匹配仍然存在,请轮换/重新批准配对的设备令牌:
openclaw devices listopenclaw devices rotate --device <id> --role operator
- 仍然卡住?运行
openclaw status --all并按照 故障排除 操作。有关身份验证的详细信息,请参阅 仪表板。
我设置了 gateway.bind tailnet 但它无法绑定且没有任何监听
我设置了 gateway.bind tailnet 但它无法绑定且没有任何监听
tailnet 绑定从您的网络接口 (100.64.0.0/10) 中选择一个 Tailscale IP。如果机器不在 Tailscale 上(或者接口关闭),则没有任何东西可以绑定。修复:- 在该主机上启动 Tailscale(以便它拥有 100.x 地址),或者
- 切换到
gateway.bind: "loopback"/"lan"。
tailnet 是显式的。auto 优先使用环回;当您只需要 tailnet 绑定时,请使用 gateway.bind: "tailnet"。我可以在同一主机上运行多个 Gateway(网关) 吗?
我可以在同一主机上运行多个 Gateway(网关) 吗?
OPENCLAW_CONFIG_PATH(每个实例的配置)OPENCLAW_STATE_DIR(每个实例的状态)agents.defaults.workspace(工作区隔离)gateway.port(唯一端口)
- 为每个实例使用
openclaw --profile <name> ...(会自动创建~/.openclaw-<name>)。 - 在每个配置文件中设置唯一的
gateway.port(或者在手动运行时传递--port)。 - 安装针对每个配置文件的服务:
openclaw --profile <name> gateway install。
ai.openclaw.<profile>;旧版 com.openclaw.*,openclaw-gateway-<profile>.service,OpenClaw Gateway (<profile>))。
完整指南:Multiple gateways。“invalid handshake” / 代码 1008 是什么意思?
“invalid handshake” / 代码 1008 是什么意思?
connect 帧。如果收到其他任何内容,它将以
代码 1008(策略违规)关闭连接。常见原因:- 您在浏览器中打开了 HTTP URL(
http://...)而不是 WS 客户端。 - 您使用了错误的端口或路径。
- 代理或隧道剥离了认证头或发送了非 Gateway(网关) 请求。
- 使用 WS URL:
ws://<host>:18789(如果使用 HTTPS 则为wss://...)。 - 不要在普通浏览器标签页中打开 WS 端口。
- 如果开启了认证,请在
connect帧中包含令牌/密码。
日志记录和调试
日志在哪里?
日志在哪里?
logging.file 设置一个稳定的路径。文件日志级别由 logging.level 控制。控制台详细程度由 --verbose 和 logging.consoleLevel 控制。最快的日志跟踪:- macOS:
$OPENCLAW_STATE_DIR/logs/gateway.log和gateway.err.log(默认:~/.openclaw/logs/...;配置文件使用~/.openclaw-<profile>/logs/...) - Linux:
journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager - Windows:
schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST
如何启动/停止/重启 Gateway(网关) 服务?
如何启动/停止/重启 Gateway(网关) 服务?
我在 Windows 上关闭了终端 - 如何重启 OpenClaw?
我在 Windows 上关闭了终端 - 如何重启 OpenClaw?
Gateway(网关)已启动,但从未收到回复。我应该检查什么?
Gateway(网关)已启动,但从未收到回复。我应该检查什么?
- gateway host上未加载模型认证(检查
models status)。 - 渠道配对/允许列表阻止了回复(检查渠道配置 + 日志)。
- WebChat/Dashboard 打开时没有使用正确的令牌。
"Disconnected from gateway: no reason" - 现在该怎么办?
"Disconnected from gateway: no reason" - 现在该怎么办?
- Gateway(网关)是否正在运行?
openclaw gateway status - Gateway(网关)是否健康?
openclaw status - UI 是否有正确的令牌?
openclaw dashboard - 如果是远程访问,隧道/Tailscale 链路是否已启动?
Telegram setMyCommands 失败。我应该检查什么?
Telegram setMyCommands 失败。我应该检查什么?
BOT_COMMANDS_TOO_MUCH:Telegram 菜单条目过多。OpenClaw 已经修剪到 Telegram 的限制并尝试减少命令重试,但仍需要删除一些菜单条目。请减少插件/技能/自定义命令,或者如果不需要菜单,请禁用channels.telegram.commands.native。TypeError: fetch failed、Network request for 'setMyCommands' failed!或类似的网络错误:如果您在 VPS 上或代理后面,请确认允许出站 HTTPS 且 DNS 对api.telegram.org有效。
TUI 显示无输出。我应该检查什么?
TUI 显示无输出。我应该检查什么?
/status 查看当前状态。如果您期望在聊天
渠道中收到回复,请确保已启用投递(/deliver on)。文档:TUI,Slash commands。我如何完全停止然后启动 Gateway(网关)?
我如何完全停止然后启动 Gateway(网关)?
ELI5: openclaw gateway restart vs openclaw gateway
ELI5: openclaw gateway restart vs openclaw gateway
openclaw gateway restart: 重启 后台服务 (launchd/systemd)。openclaw gateway: 在此终端会话中 前台运行 Gateway(网关)。
openclaw gateway。Fastest way to get more details when something fails
Fastest way to get more details when something fails
--verbose 启动 Gateway(网关) 以获取更多控制台详细信息。然后检查日志文件中的渠道认证、模型路由和 RPC 错误。媒体和附件
My skill generated an image/PDF, but nothing was sent
My skill generated an image/PDF, but nothing was sent
MEDIA:<path-or-url> 行(单独一行)。请参阅 OpenClaw 助手设置 和 Agent send。CLI 发送方式:- 目标渠道支持出站媒体且未被允许列表阻止。
- 文件在提供商的大小限制内(图片会被调整为最大 2048px)。
安全与访问控制
Is it safe to expose OpenClaw to inbound 私信?
Is it safe to expose OpenClaw to inbound 私信?
- 支持私信的渠道上的默认行为是 配对:
- 未知发送者会收到配对代码;机器人不会处理其消息。
- 使用以下方式批准:
openclaw pairing approve --channel <channel> [--account <id>] <code> - 待处理请求限制为 每个渠道 3 个;如果代码未收到,请检查
openclaw pairing list --channel <channel> [--account <id>]。
- 公开私信需要明确选择加入(
dmPolicy: "open"和允许列表"*")。
openclaw doctor 以显示有风险的私信策略。提示词注入仅仅是公共机器人需要关注的问题吗?
提示词注入仅仅是公共机器人需要关注的问题吗?
- 使用只读或禁用工具的“读取者”代理来总结不受信任的内容
- 保持
web_search/web_fetch/browser对启用工具的代理关闭 - 沙箱隔离和严格的工具允许列表
我的机器人应该拥有自己的电子邮件、GitHub 账户或电话号码吗?
我的机器人应该拥有自己的电子邮件、GitHub 账户或电话号码吗?
我可以让它自主控制我的短信吗,这安全吗?
我可以让它自主控制我的短信吗,这安全吗?
- 将私信保持在配对模式或严格的允许列表中。
- 如果您希望它代表您发送消息,请使用单独的电话号码或账户。
- 让它起草草稿,然后在发送前进行批准。
我可以在个人助理任务中使用更便宜的模型吗?
我可以在个人助理任务中使用更便宜的模型吗?
我在 Telegram 中运行了 /start 但没有收到配对代码
我在 Telegram 中运行了 /start 但没有收到配对代码
dmPolicy: "pairing" 已启用时发送。/start 本身不会生成代码。检查待处理的请求:dmPolicy: "open"。WhatsApp:它会给我的联系人发消息吗?配对如何工作?
WhatsApp:它会给我的联系人发消息吗?配对如何工作?
channels.whatsapp.selfChatMode。聊天命令、中止任务和“它无法停止”
如何阻止内部系统消息在聊天中显示?
如何阻止内部系统消息在聊天中显示?
verboseDefault 为 on 的机器人配置文件。文档:Thinking and verbose, Security。如何停止/取消正在运行的任务?
如何停止/取消正在运行的任务?
/ 开头的 standalone 消息发送,但少数快捷方式(如 /status)也可以为白名单发送者内联工作。如何从 Discord 发送 Telegram 消息?(“Cross-context messaging denied”)
如何从 Discord 发送 Telegram 消息?(“Cross-context messaging denied”)
agents.list[].tools.message 下进行设置。为什么感觉机器人会“忽略”快速连续发送的消息?
为什么感觉机器人会“忽略”快速连续发送的消息?
/queue 来更改模式:steer- 新消息重定向当前任务followup- 一次运行一条消息collect- 批量处理消息并回复一次(默认)steer-backlog- 立即引导,然后处理积压interrupt- 中止当前运行并重新开始
debounce:2s cap:25 drop:summarize 之类的选项。其他
使用 Anthropic 密钥时,API 的默认模型是什么?
使用 Anthropic 密钥时,API 的默认模型是什么?
ANTHROPIC_API_KEY(或 在身份验证配置文件中存储
Anthropic API 密钥)可以启用身份验证,但实际的默认 模型是您在 agents.defaults.model.primary
中配置的任何模型(例如, anthropic/claude-sonnet-4-6 或
anthropic/claude-opus-4-6)。如果您看到 No credentials found for profile "anthropic:default",这意味着 Gateway(网关) 无法在 正在运行的代理的预期 auth-profiles.json
中找到 Anthropic 凭据。还是无法解决?请在 Discord 中提问或发起 GitHub 讨论。
本页面源自 openclaw/openclaw,由 BeaversLab 翻译,遵循 MIT 协议 发布。