OpenClaw 配置文件详解
深入理解 openclaw.json 配置结构,掌握 gateway、models、channels 等核心配置项。
2026年3月11日
阅读时间:20 分钟
虾小贤
1. 配置文件概览
OpenClaw 使用 JSON 格式的主配置文件 openclaw.json,配合 .env 环境变量文件管理敏感信息。
文件结构
{"version": "1.0", "gateway": {...}, "models": {...}, "channels": {...}, "skills": {...}, "memory": {...}, "logging": {...}}| 配置项 | 说明 | 必填 |
|---|---|---|
gateway | 网关服务配置(端口、主机等) | 是 |
models | AI 模型配置(Kimi、OpenAI 等) | 是 |
channels | 消息通道配置(Telegram、Discord 等) | 否 |
skills | Skill 配置和加载设置 | 否 |
memory | 记忆存储配置 | 否 |
logging | 日志级别和输出配置 | 否 |
2. Gateway 配置
Gateway 是 OpenClaw 的核心服务,负责接收请求、路由消息、管理连接。
基本配置
"gateway": {"host": "0.0.0.0", "port": 3000, "publicUrl": "https://your-domain.com", "apiPrefix": "/api/v1", "cors": {"enabled": true, "origins": ["http://localhost:3000", "https://your-domain.com"]}, "auth": {"enabled": false, "secret": "${GATEWAY_SECRET}"}}配置项说明
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
host | string | "0.0.0.0" | 监听地址,0.0.0.0 允许外部访问 |
port | number | 3000 | 服务端口 |
publicUrl | string | null | 公网地址,用于 Webhook 回调 |
apiPrefix | string | "/api/v1" | API 路由前缀 |
💡 提示:如果部署到服务器并有域名,记得设置 publicUrl,否则 Telegram、Discord 等平台的 Webhook 无法正常工作。
3. Models 配置
Models 配置定义可用的 AI 模型及其参数。
单模型配置示例(Kimi)
"models": {"default": "kimi", "providers": {"kimi": {"type": "openai-compatible", "baseUrl": "https://api.moonshot.cn/v1", "apiKey": "${KIMI_API_KEY}", "model": "kimi-k2-latest", "temperature": 0.7, "maxTokens": 4096}}}多模型配置示例
"models": {"default": "kimi", "providers": {"kimi": {"type": "openai-compatible", "baseUrl": "https://api.moonshot.cn/v1", "apiKey": "${KIMI_API_KEY}", "model": "kimi-k2-latest"}, "openai": {"type": "openai", "apiKey": "${OPENAI_API_KEY}", "model": "gpt-4"}, "anthropic": {"type": "anthropic", "apiKey": "${ANTHROPIC_API_KEY}", "model": "claude-3-5-sonnet-20241022"}}}模型参数说明
| 参数 | 说明 | 建议值 |
|---|---|---|
temperature | 创造性程度,0-2,越高越随机 | 0.3-0.7(代码用低,创作用高) |
maxTokens | 最大生成 token 数 | 2048-8192(根据需求) |
topP | 核采样概率阈值 | 0.9-1.0 |
4. Channels 配置
Channels 配置连接外部消息平台,实现多平台消息收发。
Telegram 配置
"channels": {"telegram": {"enabled": true, "botToken": "${TELEGRAM_BOT_TOKEN}", "webhook": {"enabled": true, "url": "${PUBLIC_URL}/api/v1/channels/telegram"}, "allowedChats": [], "adminUsers": []}}Discord 配置
"channels": {"discord": {"enabled": true, "botToken": "${DISCORD_BOT_TOKEN}", "clientId": "${DISCORD_CLIENT_ID}", "guildId": "${DISCORD_GUILD_ID}", "intents": ["GUILDS", "GUILD_MESSAGES", "DIRECT_MESSAGES"]}}飞书(Feishu)配置
"channels": {"feishu": {"enabled": true, "appId": "${FEISHU_APP_ID}", "appSecret": "${FEISHU_APP_SECRET}", "encryptKey": "${FEISHU_ENCRYPT_KEY}", "verificationToken": "${FEISHU_VERIFICATION_TOKEN}", "webhook": {"url": "${PUBLIC_URL}/api/v1/channels/feishu"}}}⚠️ 安全提醒:所有 token 和密钥都应该放在 .env 文件中,通过 ${VAR_NAME} 引用,不要直接写在配置文件里!
5. Skills 配置
Skills 配置管理功能扩展模块的加载和参数。
"skills": {"directory": "./skills", "autoLoad": true, "enabled": [ "weather", "web-search", "memory" ], "config": {"weather": {"defaultLocation": "Beijing"}, "web-search": {"engine": "tavily", "apiKey": "${TAVILY_API_KEY}"}}}配置说明
directory:Skill 存放目录autoLoad:自动加载目录下所有 Skillenabled:显式启用的 Skill 列表config:各 Skill 的独立配置
6. 环境变量配置
敏感信息和环境相关配置应该放在 .env 文件中。
# AI 模型 API 密钥 KIMI_API_KEY=sk-your-kimi-key-here OPENAI_API_KEY=sk-your-openai-key-here ANTHROPIC_API_KEY=sk-your-anthropic-key-here # 平台 Bot Token TELEGRAM_BOT_TOKEN=your-telegram-bot-token DISCORD_BOT_TOKEN=your-discord-bot-token FEISHU_APP_ID=your-feishu-app-id FEISHU_APP_SECRET=your-feishu-app-secret # 网关配置 GATEWAY_SECRET=your-random-secret-string PUBLIC_URL=https://your-domain.com # 其他服务 TAVILY_API_KEY=your-tavily-key💡 环境变量引用语法
在 openclaw.json 中使用 ${VAR_NAME} 引用环境变量,支持默认值:${VAR_NAME:default_value}
7. 高级配置
记忆配置
"memory": {"type": "file", "path": "./memory", "format": "json", "autoSave": true, "saveInterval": 300}日志配置
"logging": {"level": "info", "output": "console", "file": {"enabled": false, "path": "./logs/openclaw.log", "maxSize": "10m", "maxFiles": 5}}日志级别
debug:调试信息,最详细info:常规信息warn:警告信息error:错误信息
8. 最佳实践
配置管理建议
- 分离敏感信息
所有 API 密钥、Token 都放在.env,不要提交到 Git - 使用环境变量
通过${VAR}引用,方便不同环境使用不同配置 - 配置版本控制
将 openclaw.json 纳入 Git 管理,但排除 .env - 备份配置
定期备份配置文件,特别是自定义 Skill 配置
完整的 .gitignore 示例
# 环境变量 .env .env.local .env.*.local # 敏感信息 *.key *.pem secrets/ # 数据文件 memory/ logs/ *.log # 依赖 node_modules/ dist/ .next/ # 系统文件 .DS_Store Thumbs.db🎉 配置完成!现在你已经掌握了 OpenClaw 的所有核心配置。下一步可以:
• 开发你的第一个 Skill
• 配置 Pi + Kimi 编程助手
• 设置多平台消息整合