说起OpenClaw,这玩意儿最近是真的火。有人在知乎上花800块找人上门安装,也有人花299块让人帮忙卸载——说白了,大家都在纠结这玩意儿到底怎么配置、怎么用才安全、怎么才能不花冤枉钱。
今天这篇文章,我打算把OpenClaw的配置文件体系掰开了揉碎了讲给你听。不管你是刚入门的新手,还是想深入了解的老用户,看完这篇,保证你对OpenClaw的配置有一个全面系统的认识。
核心配置文件

OpenClaw所有用户数据默认存在~/.openclaw/目录下,这是它的"大本营"。整个配置体系的核心由三个Markdown文件构成:SOUL.md、AGENTS.md和MEMORY.md。别看它们都是md文件,功能可一点都不简单。
SOUL.md:AI的人格定义文件
SOUL.md可以理解为OpenClaw的"灵魂",它决定了AI助手的行为模式、专长领域和对话风格。这个文件采用键值对+自由文本的混合格式,OpenClaw解析时会提取结构化字段,同时保留自由描述作为上下文注入。
一个典型的SOUL.md大概长这样:
# 专业领域
- 编程开发(Python/JavaScript/Go)
- 数据分析与可视化
- 自动化脚本编写
# 禁止行为
- 不帮我做违法的事情
- 不帮我生成恶意软件
- 不透露对话中的敏感信息
# 自由描述
我是一个热心、靠谱的AI助手,喜欢用简洁明了的方式帮助用户解决问题。
对话风格:口语化、不废话、直接给答案。
关键字段说明:
•专业领域:定义AI的专长,可以是多领域,用-列表形式列出
•禁止行为:明确AI不能做什么,这是安全边界的第一道防线
•自由描述:纯文本段落,会完整注入上下文,影响AI的回答风格和语气
新手最容易踩的坑:很多人以为SOUL.md随便写写就行,实际上这里的"禁止行为"是会被严格执行的。比如你写了"不帮我写爬虫",AI就会拒绝相关的代码请求。所以写的时候一定要想清楚你的实际需求。
AGENTS.md:安全边界定义
如果说SOUL.md是AI的"性格",那AGENTS.md就是AI的"行为规范"——它定义了OpenClaw的权限边界和资源限制。这个文件是安全配置的重头戏,建议每个用户都认真看看。
# 文件访问权限
- 允许读写:~/.openclaw/workspace/
- 只读访问:~/Documents/
- 禁止访问:~/.ssh/ /etc/shadow
# 命令执行权限
- 允许执行:git, npm, python3, node
- 需要确认:rm, dd, mkfs, chmod 777
- 禁止执行:sudo rm -rf /
# 资源限制
- 单次对话最大token:50000
- 单次执行最大耗时:300秒
- 并发任务数上限:3
# 隐私保护
- email: '\b[\w\.-]+@[\w\.-]+\.\w+\b'
- phone: '\b1[34578]\d{9}\b'
- api_key: '(sk-[a-zA-Z0-9]{20,})'
各个配置项的含义:
文件访问权限:
•允许读写:AI可以自由读取和修改这些目录下的文件
•只读访问:AI只能读取,不能写入或删除
•禁止访问:完全无法访问,用于保护敏感文件
命令执行权限:
•允许执行:无需确认即可执行的命令列表
•需要确认:执行前会询问你的命令(比如删除操作)
•禁止执行:无论什么情况都不执行的命令
资源限制:
•单次对话最大token:控制单次对话的上下文长度,避免token爆炸
•单次执行最大耗时:防止AI执行耗时过长的任务
•并发任务数上限:同时进行的任务数量限制
隐私保护:这是AGENTS.md里我强烈建议配置的部分。OpenClaw会自动识别并脱敏日志中的敏感信息:
•email:邮箱正则,匹配到的邮箱会被替换为j***@example.com这样的格式
•phone:手机号正则,国内手机号11位
•api_key:API Key正则,通常是sk-开头加一串字符
实战建议:生产环境一定要配置禁止访问目录,至少要把~/.ssh/、~/.aws/、~/.config/这些放密钥的目录保护起来。
MEMORY.md:三层记忆体系
OpenClaw的MEMORY.md解决了一个AI领域的老大难问题——"对话失忆"。每次新对话都是全新的开始,AI不记得之前聊过什么。OpenClaw通过三层记忆架构改善了这个情况:
## 用户基本信息
- 姓名:张三(主人喜欢叫我小张)
- 常用语言:中文
- 时区:Asia/Shanghai
## 项目记忆
### 项目A:电商API
- 仓库:github.com/zhangsan/ecom-api
- 技术栈:Django + PostgreSQL + Redis
- 核心问题:已解决N+1查询问题
## 偏好设置
- 回复风格:简洁明了
- 代码习惯:喜欢用类型注解
- 不喜欢:长篇大论的解释
## 学习记录
- 2026-03-05:主人配置了飞书渠道,可以远程控制了
- 2026-03-10:主人说周末不要打扰,除非紧急情况
MEMORY.md的更新逻辑是自动压缩+手动补充:
当会话日志超过阈值时,OpenClaw会自动调用LLM生成摘要,把关键信息写入MEMORY.md,然后清空短期日志。同时,你也可以手动编辑这个文件,添加一些AI应该记住但自己可能注意不到的信息。
使用技巧:定期检查和更新MEMORY.md很重要。比如你换了工作、换了技术栈,都应该及时更新,不然AI可能还在用旧的信息给你建议。
网关配置文件openclaw.json

如果说那三个md文件是"软件层面"的配置,那openclaw.json就是"系统层面"的配置——它控制着OpenClaw如何连接外部世界、如何选择模型、如何管理会话。
这个文件通常在~/.openclaw/openclaw.json,可以通过openclaw config get命令查看当前配置,通过openclaw config set命令修改。
Gateway配置
Gateway是OpenClaw的核心组件,负责处理外部请求(默认暴露18789端口)和各渠道的消息。
{
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback"
}
}
mode配置项(可选值):
•local:仅本地访问,外部无法连接
•remote:允许远程访问,需要配合bind配置
bind配置项(可选值):
•loopback:只绑定127.0.0.1,适合本地使用
•lan:绑定局域网IP,可以被同网络的设备访问
•tailnet:绑定Tailscale网络地址
•auto:自动选择合适的绑定方式
实战场景:如果你在Mac mini上运行OpenClaw,想用iPhone远程控制,就要把mode改成remote,bind改成lan或tailnet,然后确保出口IP在微信公众号后台白名单里。
常见问题:端口18789被占用了怎么办?用lsof -i :18789查看哪个进程占用了端口,然后kill掉或者改个端口。
Channels配置
Channels配置决定了OpenClaw能接收哪些平台的消息。支持的平台包括飞书、企业微信、QQ、钉钉、Discord、Telegram、WhatsApp等。
飞书配置
{
"channels": {
"feishu": {
"enabled": true,
"app_id": "cli_xxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxx"
}
}
}
飞书是目前国内用户用得比较多的渠道,配置相对简单。app_id和app_secret需要在飞书开放平台创建应用后获取。
企业微信配置
{
"channels": {
"wecom": {
"enabled": true,
"corp_id": "wwxxxxxxxxxxxx",
"agent_id": "1000001",
"client_secret": "xxxxxxxxxxxx"
}
}
}
企业微信的配置稍微复杂一点,需要在企业微信管理后台创建自建应用,然后获取相关的凭证信息。
QQ配置
{
"channels": {
"qq": {
"enabled": true,
"uin": "123456789",
"password": "your_password",
"channel": "onebot"
}
}
}
QQ渠道配置需要填写QQ号和密码,或者使用Go-CQHttp等第三方框架以OneBot协议接入。
dmPolicy与groupPolicy
这是两个经常让人搞混的配置项:
dmPolicy(私聊策略):
•pairing:需要配对才能私聊,新设备首次使用需要确认
•allowlist:只在白名单中的用户可以私聊
•open:任何人都可以私聊
•disabled:禁用私聊功能
groupPolicy(群聊策略):
•allowlist:只在白名单中的群可以触发AI
•open:任何群都可以使用
•disabled:禁用群聊功能
实战建议:为了安全起见,生产环境建议把dmPolicy设为pairing或allowlist,groupPolicy设为allowlist,避免被陌生人滥用。
Models配置
Models配置决定了OpenClaw使用哪个AI模型来生成回答。
{
"models": {
"primary": "anthropic/claude-sonnet-4-7",
"fallbacks": [
"openai/gpt-4.1-mini",
"moonshot/kimi-k2.5"
],
"byChannel": {
"feishu": "anthropic/claude-sonnet-4-7",
"qq": "openai/gpt-4.1-mini"
}
}
}
primary:主模型,必填项,OpenClaw默认使用的模型
fallbacks:回退模型列表,当主模型不可用时按顺序尝试
byChannel:按渠道指定模型,比如飞书用Claude,QQ用GPT Mini
多模型配置示例(使用DeepSeek + Kimi):
{
"models": {
"primary": "deepseek/deepseek-chat-v3",
"fallbacks": [
"moonshot/kimi-k2.5"
],
"config": {
"deepseek/deepseek-chat-v3": {
"baseUrl": "https://api.deepseek.com/v1",
"apiKeyEnv": "DEEPSEEK_API_KEY"
},
"moonshot/kimi-k2.5": {
"baseUrl": "https://api.moonshot.cn/v1",
"apiKeyEnv": "MOONSHOT_API_KEY"
}
}
}
}
常见坑点:配置自定义模型时,一定要确认API地址是否正确。国内模型(DeepSeek、Kimi等)通常有专属的API地址,不能用OpenAI的地址。
模型路由高级配置
{
"models": {
"byChannel": {
"123456789012345678": "anthropic/claude-opus-4-6",
"-1001234567890": "openai/gpt-4.1-mini"
}
}
}
byChannel的值可以是具体的渠道ID,用于更细粒度的控制。比如在企业微信里,不同的群可以绑定不同的模型。
安全与权限配置

这部分的配置直接关系到你的数据安全和系统安全,请认真对待。
文件系统权限
在AGENTS.md中,我们可以通过正则表达式来控制文件访问:
# 文件访问权限
- 允许:~/.openclaw/workspace/**
- 只读:~/Documents/**
- 禁止:~/.ssh/** ~/.aws/** ~/.config/**
这个配置会被严格执行。AI在执行文件操作前会检查目标路径是否符合规则。
高危操作自动拦截:
•删除系统关键目录
•修改/etc/下的配置文件
•访问.ssh/下的密钥文件
如果你发现AI突然"失声"了不说话了,很可能是某些操作被AGENTS.md的规则拦截了。
命令执行权限
# 命令执行权限
- 允许:git, npm, pip, python3, node, cargo
- 需要确认:rm, mv, cp, chmod, chown
- 禁止:sudo rm -rf /, dd if=/dev/zero of=/dev/sda
这里有一个容易踩的坑:chmod 777这种操作虽然不在禁止列表里,但通常会被标记为"需要确认"。如果你想让AI自动化某些操作,记得提前在需要确认列表里把相关命令挪到允许列表。
Token消耗控制
OpenClaw支持细粒度的token控制:
# 资源限制
- 单次对话最大token:50000
- 单次执行最大耗时:300秒
- 日均token预算:1000000
实战技巧:如果你是按量付费的API用户,设置日均token预算可以有效控制月度账单。上限设置多少取决于你的使用频率和API价格。
隐私脱敏规则
privacy:
patterns:
email: '\b[\w\.-]+@[\w\.-]+\.\w+\b'
phone: '\b1[34578]\d{9}\b'
api_key: '(sk-[a-zA-Z0-9]{20,})'
credit_card: '\b\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4}\b'
OpenClaw会自动识别日志中的敏感信息并脱敏。脱敏后的日志里,你看不到完整的邮箱、手机号或API Key。
实战配置示例

场景一:最小配置快速上手
如果你是第一次用OpenClaw,想先跑起来再说:
{
"gateway": {
"port": 18789,
"mode": "local",
"bind": "loopback"
},
"models": {
"primary": "anthropic/claude-sonnet-4-7"
}
}
然后在SOUL.md里简单写几句自我介绍,就可以开始用了。
场景二:多模型组合配置
想同时用Claude和DeepSeek,根据不同场景切换:
{
"models": {
"primary": "anthropic/claude-sonnet-4-7",
"fallbacks": ["deepseek/deepseek-chat-v3"],
"byChannel": {
"feishu": "anthropic/claude-sonnet-4-7",
"qq": "deepseek/deepseek-chat-v3"
},
"config": {
"deepseek/deepseek-chat-v3": {
"baseUrl": "https://api.deepseek.com/v1"
}
}
}
}
场景三:企业微信多Bot配置
团队里不同部门用不同的AI助手:
{
"channels": {
"wecom": {
"enabled": true,
"agents": [
{
"agentId": "tech",
"match": { "groupId": "技术部群ID" },
"model": "anthropic/claude-sonnet-4-7"
},
{
"agentId": "support",
"match": { "groupId": "客服部群ID" },
"model": "deepseek/deepseek-chat-v3"
}
]
}
}
}
场景四:远程访问配置
在服务器上部署,想从外网访问:
1.修改~/.openclaw/openclaw.json:
{
"gateway": {
"mode": "remote",
"bind": "lan"
}
}
2.确保服务器出口IP在白名单中
3.用openclaw doctor检查配置是否正确
安全提醒:开启远程访问后,务必确保dmPolicy不是open,否则任何人都可以控制你的AI助手。
场景五:飞书Bot配置
想通过飞书远程控制OpenClaw:
{
"channels": {
"feishu": {
"enabled": true,
"app_id": "cli_xxxxxxxxxxxx",
"app_secret": "xxxxxxxxxxxxxxxx",
"bot_name": "贾维斯"
}
},
"gateway": {
"mode": "remote",
"bind": "lan"
}
}
配置完成后,启动Gateway,在飞书里给Bot发消息测试一下。
总结
看完这篇,你应该对OpenClaw的配置体系有了一个全面系统的了解。让我帮你梳理一下重点:
核心三文件:SOUL.md定义人格,AGENTS.md控制安全,MEMORY.md管理记忆。这三个文件是OpenClaw的"软实力"。
网关配置:openclaw.json控制OpenClaw如何连接外部世界——用哪个端口、允不允许远程访问、接入了哪些渠道、用哪个模型。
安全第一:AGENTS.md里的权限控制一定要认真配置,特别是禁止访问的目录列表和隐私脱敏规则。
从小到大:建议从最小配置开始,先跑起来,再逐步添加功能。贪多嚼不烂。
好了,关于OpenClaw配置文件的介绍就到这里。如果你还有任何问题,欢迎在评论区留言,我会尽量解答。觉得有用的话,转发、点赞、在看,三连支持一下!
我们下期见!
夜雨聆风