时间:26-04-27
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
一句话理解: 这篇文档是 OpenClaw 配置的“总览 + 快速入门”,解读配置文件放在哪、怎么改、有哪些常见任务可以做,以及出错了怎么办。
本文档基于 OpenClaw 官方配置概览文档整理,仅供学习交流,不构成官方权威解释。实际配置请以 OpenClaw 官方文档为准。
~/.openclaw/openclaw.json
- ~ 代表你的用户主目录
- 格式是 JSON5:比标准 JSON 更宽松——支持注释(//)和尾随逗号
初学者提示: 如果这个文件不存在,OpenClaw 会用安全的默认值运行。所以你不需要一开始就写完整配置,可以先用默认值跑起来,再根据需要逐步添加。
| 原因 | 说明 | |------|------| | 连接通道 | 接入 WhatsApp、Telegram 等平台,并控制谁能给机器人发消息 | | 设置模型、工具、沙箱、自动化 | 选择用什么 AI 模型、开启哪些工具能力、是否隔离运行、设置定时任务 | | 调整会话、媒体、网络、界面 | 控制对话记忆方式、图片处理、网络配置、控制台界面 |
// ~/.openclaw/openclaw.json
{
agents: { defaults: { workspace: "~/.openclaw/workspace" } },
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
这个示例展示了两件最基本的事:
| 方式 | 命令/路径 | 适用场景 |
|------|-----------|----------|
| 交互式向导 | openclaw onboard / openclaw configure | 新手首次配置,跟着提示走 |
| CLI 单行命令 | openclaw config get/set/unset | 快速修改单个配置项 |
| 控制台 UI | http://127.0.0.1:18789 → Config 标签页 | 可视化编辑,最友好 |
| 直接编辑 | ~/.openclaw/openclaw.json | 批量修改 |
初学者推荐: 控制台 UI 最友好,不用记字段名;交互式向导适合首次配置。
核心规则: OpenClaw 只接受完全符合规范的配置。
什么情况会导致启动失败?
验证失败怎么办? 网关不启动 → 运行 openclaw doctor 查看问题 → 运行 openclaw doctor --fix 修复
可用的诊断命令:
openclaw doctor:查看具体问题openclaw logs:查看日志openclaw health:查看健康状态openclaw status:查看运行状态初学者提示: 记住这条就够了——配置写错了网关起不来,用 doctor 命令排查。
每个 channel 在 channels. 下有独立配置段。
常用 channel: WhatsApp、Telegram、Discord
统一的私聊策略模式:
{
channels: {
telegram: {
enabled: true,
botToken: "123:abc",
dmPolicy: "pairing", // 关键:谁可以给机器人发私聊
allowFrom: ["tg:123"],
},
},
}
dmPolicy 的四种取值:
| 值 | 含义 | 适用场景 |
|------|------|----------|
| "pairing"(默认) | 未知发送者收到配对码,需你批准 | 推荐:私人使用 |
| "allowlist" | 只允许列表中的发送者 | 固定几个好友使用 |
| "open" | 允许所有人 | 公开机器人(需 allowFrom: ["*"]) |
| "disabled" | 忽略所有私聊 | 只用群聊功能 |
⚠️ 重要安全提示: 这是最重要的安全配置。如果不加限制,任何人知道你的机器人账号都能调用它,产生的 API 费用都算你的。
{
agents: {
defaults: {
model: {
primary: "anthropic/claude-sonnet-4-6", // 主模型
fallbacks: ["openai/gpt-5.4"], // 主模型挂了自动切换
},
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"openai/gpt-5.4": { alias: "GPT" },
},
},
},
}
关键点:
provider/model(如 anthropic/claude-opus-4-6)imageMaxDimensionPx:控制图片压缩尺寸(默认 1200),降低可减少图片识别费用初学者提示: 模型 ID 必须一字不差。常用模型 ID 可以在各模型服务商的文档中查到。
这部分在 5.1 已经涉及。群聊也有类似配置,使用 groupPolicy + groupAllowFrom。
默认行为: 群聊消息需要提及机器人才会响应。
{
agents: {
list: [
{
id: "main",
groupChat: {
mentionPatterns: ["@openclaw", "openclaw"], // 匹配这些文字就响应
},
},
],
},
channels: {
whatsapp: {
groups: { "*": { requireMention: true } }, // 必须 @ 才响应
},
},
}
初学者提示: 群聊建议开启 requireMention: true,否则群里有人 @ 所有人,机器人也会响应,可能造成困扰和费用浪费。
继承规则:
| 配置情况 | 结果 |
|----------|------|
| 不写 agents.defaults.skills | 所有技能可用 |
| 不写 agents.list[].skills | 继承 defaults 中的技能 |
| 写 agents.list[].skills: [] | 没有任何技能 |
{
agents: {
defaults: {
skills: ["github", "weather"], // 默认都有这两个技能
},
list: [
{ id: "writer" }, // 继承:github, weather
{ id: "docs", skills: ["docs-search"] }, // 替换:只有 docs-search
{ id: "locked-down", skills: [] }, // 没有任何技能
],
},
}
会话控制对话的记忆方式。
{
session: {
dmScope: "per-channel-peer", // 推荐用于多用户
reset: {
mode: "daily", // 每天重置
atHour: 4, // 凌晨 4 点
idleMinutes: 120, // 闲置 2 小时也重置
},
},
}
dmScope 取值:
main:所有人共享一个会话(不推荐)per-peer:每人独立,但跨 channel 共享per-channel-peer:每人在每个 channel 独立(多用户推荐)在隔离的 Docker 容器中运行 agent,防止危险操作影响电脑。
{
agents: {
defaults: {
sandbox: {
mode: "non-main", // off | non-main | all
scope: "agent",
},
},
},
}
前置要求: 先运行 scripts/sandbox-setup.sh 构建镜像
初学者提示: 如果只是自己用、不执行危险命令,可以暂时不开沙箱。但公开机器人建议开启。
让机器人定期发消息确认在线状态。
{
agents: {
defaults: {
heartbeat: {
every: "30m", // 每 30 分钟一次,设 "0m" 禁用
target: "last", // 发给最后活跃的 channel
},
},
},
}
让机器人定时执行任务。
{
cron: {
enabled: true,
maxConcurrentRuns: 2, // 同时最多跑 2 个任务
},
}
运行多个独立 agent,根据通道自动切换。
{
agents: {
list: [
{ id: "home", default: true, workspace: "~/.openclaw/workspace-home" },
{ id: "work", workspace: "~/.openclaw/workspace-work" },
],
},
bindings: [
{ agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
],
}
网关会自动监控配置文件,大多数设置改完立即生效,无需重启。
| 类别 | 需要重启? | |------|-----------| | Channels(WhatsApp、Telegram 等) | 否 | | Agent 和模型 | 否 | | 自动化(cron、heartbeat) | 否 | | 会话和消息 | 否 | | 工具和媒体 | 否 | | 网关端口、认证、网络设置 | 是 |
初学者提示: 改配置前先看看——如果改的是“否”的部分,保存后立即生效;如果是“是”的部分,需要手动重启网关。
{
gateway: {
reload: { mode: "hybrid", debounceMs: 300 }, // 默认就是 hybrid,不用改
},
}
| 模式 | 行为 |
|------|------|
| hybrid(默认) | 安全更改即时生效,关键更改自动重启 |
| hot | 只即时生效安全更改,需要重启时只提醒你 |
| restart | 任何更改都重启 |
| off | 不监控文件,手动重启才生效 |
.env 文件~/.openclaw/.env 文件注意: 文件中的变量不会覆盖已存在的环境变量。
{
gateway: { auth: { token: "${OPENCLAW_GATEWAY_TOKEN}" } },
}
规则:
${VAR_NAME} 格式${VAR} 用 $${VAR}{
env: {
OPENROUTER_API_KEY: "sk-or-...", // 明文写在这里不安全
},
}
最佳实践: 敏感信息(API Key、Token)用环境变量或 SecretRef,不要明文写在配置文件里。
~/.openclaw/openclaw.json,JSON5 格式(支持注释)openclaw doctor 排查dmPolicy 和 allowFrom 必须配置,否则任何人都能调用你的机器人doctor、logs、health、status${VAR} 的方式引用