配置教程
OpenClaw 配置完整教程
从零掌握 OpenClaw 配置文件 — 模型配置、API 密钥管理、渠道设置、智能体定制,一篇搞定所有配置问题。
什么是 OpenClaw 配置文件?
OpenClaw 的所有设置都存储在一个 JSON 配置文件(openclaw.json)中,位于 ~/.openclaw/openclaw.json。这个文件定义了你的AI助手的方方面面:使用哪个AI模型、连接哪些聊天平台、如何认证访问、AI助手的人设和行为等。
理解配置文件结构是掌握 OpenClaw 的关键。本教程将逐一拆解每个配置模块,手把手教你完成所有配置。
不想手动编辑 JSON?使用 OpenClaw Launch 的可视化配置器,所有设置都通过图形界面完成,无需写一行 JSON。
配置文件完整结构概览
openclaw.json 是一个标准的 JSON 文件,包含以下顶层字段:
{
"models": { ... }, // AI模型提供商和API密钥
"agents": { ... }, // 智能体设置(模型选择、人设、提示词)
"channels": { ... }, // 消息渠道(Telegram、Discord、Web Chat)
"plugins": { ... }, // 插件启用控制
"gateway": { ... } // 网关认证和端口设置
}下面我们逐一详解每个模块的配置方法。
models — 模型提供商配置
定义AI模型提供商及对应的API密钥。每个提供商是一个对象,包含 apiKey 字段。
"models": {
"providers": {
"openrouter": { "apiKey": "sk-or-..." },
"openai": { "apiKey": "sk-..." },
"anthropic": { "apiKey": "sk-ant-..." },
"google": { "apiKey": "AIza..." },
"deepseek": { "apiKey": "sk-..." },
"moonshot": { "apiKey": "sk-..." }
}
}agents — 智能体配置
定义AI助手的默认行为,包括使用的模型、人设和系统提示词。
"agents": {
"defaults": {
"model": {
"primary": "openrouter/anthropic/claude-sonnet-4.6"
},
"persona": "你是一个友好、专业的AI助手。",
"systemPrompt": "你擅长帮助用户解决各类问题..."
}
}channels — 渠道配置
配置消息渠道(Telegram、Discord、Web Chat),每个渠道有独立的认证和策略设置。
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456:ABC-DEF...",
"dmPolicy": "pairing"
},
"discord": {
"enabled": true,
"botToken": "MTIz...",
"dmPolicy": "open",
"allowFrom": ["*"]
}
}plugins — 插件配置
管理渠道插件的启用状态。注意:渠道配置和插件条目必须同时启用,渠道才能工作。
"plugins": {
"entries": {
"telegram": { "enabled": true },
"discord": { "enabled": true },
"web-chat": { "enabled": true }
}
}gateway — 网关配置
配置网关认证、端口和控制台UI。auth 必须是对象格式,不能是字符串。
"gateway": {
"auth": {
"token": "你的随机UUID令牌"
},
"port": 18789,
"controlUi": {
"allowInsecureAuth": true
}
}模型配置详解(最重要!)
模型配置是 OpenClaw 最核心的部分 — 它决定了你的AI助手使用哪个大语言模型来回答问题。OpenClaw 支持多种模型提供商,你可以配置一个或多个提供商,随时在它们之间切换。
模型ID格式说明
OpenClaw 使用「提供商前缀 + 模型名称」的格式来标识模型。这个格式非常重要,写错会导致模型无法调用。
| 提供商 | 模型ID格式 | 示例 |
|---|---|---|
| OpenRouter | openrouter/厂商/模型名 | openrouter/anthropic/claude-sonnet-4.6 |
| OpenAI | openai/模型名 | openai/gpt-5.2 |
| Anthropic | anthropic/模型名 | anthropic/claude-opus-4.6 |
google/模型名 | google/gemini-3-pro | |
| DeepSeek | deepseek/模型名 | deepseek/deepseek-chat |
| Moonshot | moonshot/模型名 | moonshot/moonshot-v1-128k |
关键规则:agents.defaults.model.primary 中的模型ID前缀必须与 models.providers 中的 key 一致。例如使用 openrouter/anthropic/claude-sonnet-4.6,那么 models.providers 中必须有 openrouter 这个 key 及其 API Key。
如何切换模型?
切换模型只需修改 agents.defaults.model.primary 的值:
// 切换到 GPT-5.2
"agents": {
"defaults": {
"model": { "primary": "openrouter/openai/gpt-5.2" }
}
}
// 切换到 DeepSeek V4 Flash
"agents": {
"defaults": {
"model": { "primary": "openrouter/deepseek/deepseek-v4-flash" }
}
}
// 切换到 Claude Opus 4.6
"agents": {
"defaults": {
"model": { "primary": "openrouter/anthropic/claude-opus-4.6" }
}
}修改后保存文件,OpenClaw 会自动热加载新的模型配置,无需重启。
配置多个模型提供商
你可以同时配置多个提供商的 API Key,这样就能在不同模型之间自由切换:
"models": {
"providers": {
"openrouter": { "apiKey": "sk-or-..." },
"openai": { "apiKey": "sk-..." },
"deepseek": { "apiKey": "sk-..." }
}
}配置了多个提供商后,你只需要修改 agents.defaults.model.primary 就能在它们之间切换,不需要改动其他任何配置。
各提供商 API Key 获取步骤
以下是每个AI模型提供商的 API Key 获取方法:
OpenRouter(推荐统一网关)
- 访问 openrouter.ai 注册账号
- 进入 Dashboard → Keys → Create Key
- 复制生成的 API Key(以 sk-or- 开头)
- 在配置文件 models.providers.openrouter.apiKey 中填入密钥
- 模型ID格式:openrouter/提供商/模型名,例如 openrouter/anthropic/claude-sonnet-4.6
备注:OpenRouter 是统一的AI模型网关,一个API Key 即可访问所有主流模型(GPT、Claude、Gemini、DeepSeek等)。推荐新手使用 OpenRouter,省去管理多个API Key 的麻烦。
OpenAI(GPT 系列)
- 访问 platform.openai.com 注册账号
- 进入 API Keys 页面 → Create new secret key
- 复制 API Key(以 sk- 开头)
- 在配置文件 models.providers.openai.apiKey 中填入密钥
- 模型ID格式:openai/gpt-5.2、openai/gpt-4.1 等
备注:OpenAI 需要绑定信用卡并充值。GPT-5.2 是最强综合模型,适合复杂推理和编程。
Anthropic(Claude 系列)
- 访问 console.anthropic.com 注册账号
- 进入 API Keys → Create Key
- 复制 API Key(以 sk-ant- 开头)
- 在配置文件 models.providers.anthropic.apiKey 中填入密钥
- 模型ID格式:anthropic/claude-opus-4.6、anthropic/claude-sonnet-4.6 等
备注:Claude 擅长长文分析和深度理解,Opus 适合复杂任务,Sonnet 速度更快。
Google(Gemini 系列)
- 访问 aistudio.google.com 获取 API Key
- 或在 Google Cloud Console 创建 API Key
- 复制 API Key(以 AIza 开头)
- 在配置文件 models.providers.google.apiKey 中填入密钥
- 模型ID格式:google/gemini-3-pro、google/gemini-3-flash 等
备注:Gemini 3 Pro 多模态能力强(图片理解),Flash 速度极快且便宜。Google AI Studio 可免费试用。
DeepSeek(深度求索)
- 访问 platform.deepseek.com 注册账号
- 进入控制台 → API Keys → 创建密钥
- 复制 API Key
- 在配置文件 models.providers.deepseek.apiKey 中填入密钥
- 模型ID格式:deepseek/deepseek-chat、deepseek/deepseek-coder 等
备注:国产模型,中文理解极佳,编程能力强,价格低。国内直连无需代理。
Kimi / Moonshot(月之暗面)
- 访问 platform.moonshot.cn 注册账号
- 进入 API 管理 → 创建 API Key
- 复制 API Key
- 在配置文件 models.providers.moonshot.apiKey 中填入密钥
- 模型ID格式:moonshot/moonshot-v1-128k 等
备注:专为中文设计,超长上下文(200万字+),适合长文档处理和中文问答。国内直连。
API 配置与密钥管理
API Key 是连接AI模型的「钥匙」。每个模型提供商都有独立的 API Key,管理好这些密钥对安全和成本控制至关重要。
API Key 安全最佳实践
- 不要将 API Key 提交到 Git — 配置文件应加入 .gitignore
- 定期轮换密钥 — 每 3-6 个月更换一次 API Key
- 设置用量限制 — 在提供商控制台设置每月消费上限,防止意外超支
- 使用环境变量 — 生产环境中,考虑从环境变量读取密钥
- 监控用量 — 定期检查各提供商的用量仪表盘
OpenRouter 作为统一网关
推荐方案:使用 OpenRouter 作为统一的模型网关。OpenRouter 聚合了所有主流AI模型,你只需要一个 API Key 就能访问 GPT、Claude、Gemini、DeepSeek、Kimi 等所有模型。
OpenRouter 的优势:
- 一个 API Key 访问所有模型,免去管理多个密钥的麻烦
- 统一的计费和用量监控
- 支持模型回退 — 当一个模型不可用时自动切换到备用模型
- 自带免费额度,适合入门试用
BYOK(Bring Your Own Key)自带密钥
BYOK 模式允许你使用自己的 API Key,费用直接从你自己的提供商账户扣除。适合有大量使用需求或需要特定模型访问权限的用户。
在 OpenClaw Launch 上配置 BYOK 非常简单 — 进入「设置」页面,在对应提供商下填入你的 API Key 即可。填入后,所有请求将通过你自己的密钥发送。
Telegram 渠道配置详解
Telegram 是最受欢迎的 OpenClaw 渠道之一。以下是完整的 Telegram 配置方法:
获取 Telegram Bot Token
- 在 Telegram 中搜索 @BotFather,进入对话
- 发送
/newbot命令创建新机器人 - 按提示设置机器人名称和用户名(用户名必须以 bot 结尾)
- BotFather 会返回一个 Bot Token,格式如
123456:ABC-DEF... - 将 Token 填入配置文件的
channels.telegram.botToken
Telegram 配置示例
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
"dmPolicy": "pairing"
}
},
"plugins": {
"entries": {
"telegram": { "enabled": true }
}
}dmPolicy 设置(重要!)
dmPolicy 控制谁可以与你的 Telegram 机器人对话。Telegram 必须使用 "pairing" 模式,原因如下:
"pairing"(推荐) — 用户必须通过网关配对后才能使用机器人。防止陌生人搜索到你的 bot 并白嫖你的 API 额度"open"(危险!禁止使用!) — 任何人在 Telegram 上搜索到你的机器人都可以直接使用。这意味着全世界任何人都能免费消耗你的 API 费用
会话隔离
推荐设置 session.dmScope: "per-channel-peer",确保每个 Telegram 用户拥有独立的对话上下文,互不干扰。
Discord 渠道配置详解
Discord 是另一个常用的 OpenClaw 渠道。与 Telegram 不同,Discord 机器人是邀请制的,只有被邀请到服务器的用户才能使用。
获取 Discord Bot Token
- 访问 discord.com/developers/applications,创建新应用
- 进入 Bot 页面,点击 Reset Token 获取 Bot Token
- 在 OAuth2 → URL Generator 中选择 bot 权限
- 使用生成的邀请链接将 bot 添加到你的 Discord 服务器
- 将 Token 填入配置文件的
channels.discord.botToken
Discord 配置示例
"channels": {
"discord": {
"enabled": true,
"botToken": "MTIzNDU2Nzg5...",
"dmPolicy": "open",
"allowFrom": ["*"]
}
},
"plugins": {
"entries": {
"discord": { "enabled": true }
}
}Discord 为什么用 "open"?
Discord 机器人与 Telegram 不同 — Discord bot 必须被邀请到服务器才能被使用,不存在被陌生人搜索到的风险。因此 dmPolicy: "open" 配合 allowFrom: ["*"] 是安全且推荐的配置。
注意:设置 dmPolicy: "open" 时,必须同时设置 allowFrom: ["*"]。缺少 allowFrom 会导致配置验证失败。
飞书 / 钉钉配置
OpenClaw 也支持飞书(Lark)和钉钉(DingTalk)渠道。由于这两个平台的配置涉及企业应用注册和 Webhook 设置,流程较为复杂。
飞书和钉钉的配置结构与 Telegram/Discord 类似,都在 channels 下添加对应条目,并在 plugins.entries 中启用。具体步骤请参考:
- OpenClaw 安装部署教程 — 包含完整的渠道配置指南
- 微信接入指南 — 微信和国内平台的接入方法
网关配置详解
网关(Gateway)是 OpenClaw 的核心入口,负责处理所有外部连接。配置好网关是确保 OpenClaw 正常运行的前提。
网关认证(必须配置!)
gateway.auth 是必填项,用于保护你的 OpenClaw 实例不被未授权访问。最常见的配置错误就是 auth 格式不对。
// 正确格式 — auth 是一个包含 token 的对象
"gateway": {
"auth": {
"token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
}
// 错误格式 — 以下都会导致启动失败
"gateway": { "auth": "my-token" } // 字符串,错!
"gateway": { "auth": "none" } // 字符串,错!
"gateway": { "auth": { "type": "none" } } // 无效格式,错!Token 建议使用随机生成的 UUID,可以用 uuidgen 命令或在线 UUID 生成器创建。
控制台 UI 设置
OpenClaw 内置了一个 Web 控制台 UI,可以通过浏览器访问网关地址来管理你的AI助手。如果需要从远程浏览器访问(而不只是 localhost),需要设置:
"gateway": {
"controlUi": {
"allowInsecureAuth": true
}
}allowInsecureAuth: true 禁用了设备配对验证,允许仅凭 token 即可从任意浏览器访问。在 HTTPS 环境下配合随机 UUID token,这个设置是安全的。
完整配置文件示例
以下是一个完整的 openclaw.json 配置示例,包含了所有常用模块:
{
"models": {
"providers": {
"openrouter": {
"apiKey": "sk-or-v1-your-openrouter-key"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "openrouter/anthropic/claude-sonnet-4.6"
},
"persona": "你是一个友好、专业的AI助手,擅长用中文回答各类问题。",
"systemPrompt": "请用简洁、准确的中文回答用户的问题。"
}
},
"channels": {
"telegram": {
"enabled": true,
"botToken": "123456789:ABCdefGHIjklMNOpqrsTUVwxyz",
"dmPolicy": "pairing"
},
"discord": {
"enabled": true,
"botToken": "MTIzNDU2Nzg5...",
"dmPolicy": "open",
"allowFrom": ["*"]
}
},
"plugins": {
"entries": {
"telegram": { "enabled": true },
"discord": { "enabled": true },
"web-chat": { "enabled": true }
}
},
"gateway": {
"auth": {
"token": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"port": 18789,
"controlUi": {
"allowInsecureAuth": true
}
},
"session": {
"dmScope": "per-channel-peer"
}
}常见配置错误及排查
以下是 OpenClaw 配置中最常遇到的错误和解决方法。如果你的 OpenClaw 启动失败或渠道不工作,请逐一对照检查。
JSON 语法错误
问题:多余的逗号、缺少的括号、未闭合的引号等。这是最常见的配置错误。
解决方法:使用在线 JSON 验证工具(如 jsonlint.com)检查语法。注意最后一个元素后面不能有逗号。
// 错误 — 最后一个元素后面有逗号
{
"models": { ... },
"channels": { ... }, ← 这个逗号是多余的
}
// 正确
{
"models": { ... },
"channels": { ... }
}gateway.auth 格式错误
问题:gateway.auth 必须是对象格式 { token: "..." },不能是字符串。
解决方法:确保 auth 是一个包含 token 字段的对象。
// 错误 — auth 是字符串
"gateway": { "auth": "my-token" }
// 错误 — auth 设置为 none
"gateway": { "auth": "none" }
"gateway": { "auth": { "type": "none" } }
// 正确 — auth 是对象
"gateway": { "auth": { "token": "my-uuid-token" } }渠道已配置但不工作
问题:channels 和 plugins.entries 必须同时启用,渠道才能正常运行。
解决方法:检查对应渠道在 channels 和 plugins.entries 中都已设置 enabled: true。
// 错误 — 只配了 channels,没配 plugins
"channels": { "telegram": { "enabled": true, ... } }
"plugins": { "entries": {} } ← 缺少 telegram 插件
// 正确 — 两处都启用
"channels": { "telegram": { "enabled": true, ... } }
"plugins": { "entries": { "telegram": { "enabled": true } } }模型ID缺少提供商前缀
问题:agents.defaults.model.primary 的值必须以提供商名称开头。
解决方法:格式为:提供商名/模型路径。提供商名必须与 models.providers 中的 key 一致。
// 错误 — 缺少提供商前缀
"primary": "anthropic/claude-sonnet-4.6"
// OpenClaw 无法识别该路由到哪个提供商
// 正确 — 使用 openrouter 作为提供商前缀
"primary": "openrouter/anthropic/claude-sonnet-4.6"
// 正确 — 直接使用 anthropic 提供商
"primary": "anthropic/claude-sonnet-4.6"
// 但 models.providers 中必须有 anthropic 这个 keycredentials 目录不存在
问题:当 Telegram 使用 dmPolicy: "pairing" 时,~/.openclaw/credentials/ 目录必须存在。
解决方法:在挂载的配置目录下手动创建 credentials 文件夹并设置正确权限。
mkdir -p ~/.openclaw/credentials
chmod 777 ~/.openclaw/credentialsTelegram dmPolicy 设为 "open"
问题:将 Telegram 的 dmPolicy 设为 "open" 非常危险 — 任何人都可以在 Telegram 上搜索到你的机器人并免费使用。
解决方法:Telegram 必须使用 dmPolicy: "pairing",确保用户需要通过网关配对才能使用。
// 危险 — 任何人都可以使用你的 bot
"telegram": { "dmPolicy": "open", "allowFrom": ["*"] }
// 安全 — 需要通过网关配对
"telegram": { "dmPolicy": "pairing" }Discord dmPolicy 设为 "pairing"
问题:Discord 使用 "pairing" 会导致糟糕的用户体验 — 用户必须先私信 bot 获取代码,再到网关 UI 验证,流程混乱。
解决方法:Discord 应该使用 dmPolicy: "open" 配合 allowFrom: ["*"]。Discord 机器人本身就是邀请制的,所以 "open" 是安全的。
// Discord 推荐配置
"discord": {
"dmPolicy": "open",
"allowFrom": ["*"]
}OpenClaw Launch 可视化配置(推荐)
如果你不想手动编辑 JSON 配置文件,OpenClaw Launch 提供了完整的可视化配置方案:
- 注册登录 — 使用 Google、GitHub 或邮箱注册 OpenClaw Launch 账号
- 选择模型 — 在可视化界面中从下拉菜单选择AI模型,无需记忆模型ID格式
- 配置渠道 — 粘贴 Telegram Bot Token 或 Discord Bot Token,平台自动处理 dmPolicy、plugins 等配置
- 设置人设 — 在文本框中输入AI助手的人设和系统提示词
- 一键部署 — 点击「部署」按钮,10秒内你的AI助手上线运行
- 随时修改 — 在仪表盘中随时修改模型、渠道、人设等任何配置,保存即时生效
OpenClaw Launch 的优势:
- 零 JSON 编辑 — 所有配置通过图形界面完成
- 内置验证 — 自动检查配置格式,防止语法错误
- 自动处理网关 — 无需手动配置 HTTPS、认证、端口等
- 免运维 — 无需自己管理服务器、Docker、SSL证书
- 一键切换模型 — 在下拉菜单中选择即可,即时生效
- $3/月起 — 比自建服务器还便宜,支持支付宝和微信支付
配置热加载说明
OpenClaw 支持配置热加载(Hot Reload),修改配置后无需重启容器即可生效。但并非所有配置都能热加载:
| 配置项 | 热加载 | 需要重启 |
|---|---|---|
channels.* | 支持 | |
agents.* | 支持 | |
models.* | 支持 | |
plugins.* | 需要重启 | |
gateway.auth.* | 需要重启 |
这意味着切换模型、修改人设、更改渠道设置等操作都会立即生效。只有新增/删除插件或修改网关认证时才需要重启容器。
常见问题
如何切换AI模型?
修改 agents.defaults.model.primary 的值为新的模型ID即可。例如从 Claude 切换到 GPT:将值从 openrouter/anthropic/claude-sonnet-4.6 改为 openrouter/openai/gpt-5.2。保存后自动生效,无需重启。使用 OpenClaw Launch 则在下拉菜单中直接选择。
如何同时配置多个模型?
在 models.providers 中添加多个提供商的 API Key 即可。每个提供商是一个独立的 key-value 对。当前使用的模型由 agents.defaults.model.primary 决定,切换时只需修改这一个值。
配置修改后不生效怎么办?
首先检查 JSON 语法是否正确(用 jsonlint.com 验证)。然后检查 OpenClaw 日志看是否有错误信息。如果是 plugins 或 gateway.auth 的修改,需要重启容器才能生效。如果问题持续,尝试完全重启:docker restart openclaw。
如何重置配置?
删除或重命名当前的 openclaw.json 文件,然后用上面的完整配置示例创建新文件。重启容器后即可使用新配置。使用 OpenClaw Launch 则可以在仪表盘中直接修改任何配置,有误操作也可以重新编辑。
OpenRouter 和直接使用提供商 API 有什么区别?
OpenRouter 是一个统一的AI模型网关 — 你用一个 API Key 就能访问所有模型。直接使用提供商(如直接用 OpenAI API Key)则需要为每个提供商分别注册和管理密钥。价格上基本一致,OpenRouter 有少量加价但提供了模型回退和统一计费的便利。新手推荐用 OpenRouter。
国内用户如何解决网络问题?
国产模型(DeepSeek、Kimi)国内直连,无需代理。海外模型(OpenAI、Claude、Gemini)的 API 需要海外网络环境。使用 OpenClaw Launch 可以完全绕过网络限制 — 平台服务器在海外,所有 API 调用在服务器端完成,你只需通过 Telegram、Discord 或浏览器与AI助手对话。
配置文件放在哪里?
默认路径是 ~/.openclaw/openclaw.json。使用 Docker 部署时,通过 -v 参数将本地目录挂载到容器的 /home/node/.openclaw。确保目录权限为 777(容器以 node 用户运行,uid 1000)。使用 OpenClaw Launch 则无需关心配置文件位置,平台自动管理。