启用只读模式需通过五种方式:一、启动时加--readonly参数;二、配置config.yaml设security.readonly: true;三、在AGENTS.md中声明read_only路径并禁用危险命令;四、在openclaw.json中设置exec denylist并清空allowlist;五、绑定本地地址并禁用网关写入端点。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 OpenClaw 仅读取文件、查看内容或执行查询类操作,而完全禁止任何写入、删除、执行或系统修改行为,则需启用只读模式。以下是实现该保护目标的多种操作方式:
一、启动时直接启用只读模式
此方法通过命令行参数强制限制所有写入与执行能力,是最快捷、最不可绕过的只读控制手段。OpenClaw 启动时即加载只读策略,所有后续操作均受其约束。
1、打开终端(macOS/Linux)或 PowerShell(Windows)。
2、输入以下命令启动 OpenClaw:
openclaw --readonly
3、若需指定工作目录,追加 --dir 参数:
openclaw --readonly --dir ~/my-project
4、启动后,系统将自动禁用所有文件写入、shell 执行、配置修改及网络发送类操作,并在尝试越权时提示“只读模式下禁止此操作”。
二、配置文件中全局启用只读策略
此方法通过修改全局配置,使所有后续启动默认处于只读状态,适用于长期使用只读场景且不希望每次手动加参数的用户。配置生效后,即使遗漏 --readonly 参数,OpenClaw 仍保持只读。
1、编辑全局配置文件:~/.openclaw/config.yaml。
2、在文件末尾新增以下字段(如已存在则修改值):
security.readonly: true
3、保存文件并关闭编辑器。
4、重启 OpenClaw(无需参数):
openclaw
5、验证是否生效:尝试执行 echo "test" > test.txt 或 git commit,应返回拒绝提示。
三、通过 AGENTS.md 设置细粒度只读边界
此方法基于安全策略文件进行行为级控制,允许保留部分非破坏性写入(如会话日志),但严格禁止对用户文件系统的任何修改。它与前两种方式可叠加使用,提供更精准的权限裁剪。
1、打开智能体安全边界文件:~/.openclaw/workspace/AGENTS.md。
2、在 file_access 区块下,确认所有路径均未被赋予写权限,并显式添加只读声明:
read_only:- /Users/yourname/Documents- /Users/yourname/Desktop- /tmp/openclaw
3、在 command_permissions 区块中,将全部危险命令设为 deny,并确保 git push、npm publish 等高风险命令标记为 need_confirm: false(即彻底禁用确认通道)。
4、保存文件,OpenClaw 将在下次会话启动时热加载该策略。
四、启用 exec 工具 denylist 并清空 allowlist
此方法从底层命令执行层切断写入能力,即使其他配置被绕过,也能阻止绝大多数误改行为。它聚焦于 shell 工具调用环节,是最硬性的执行拦截机制。
1、打开工具配置文件:~/.openclaw/openclaw.json。
2、定位到 "tools": { "exec": { ... } } 区块。
3、设置策略为 denylist,并填入全部常见写入/破坏命令:
"policy": "denylist","denylist": ["rm", "rm -rf", "mv", "cp", "touch", "echo >", "printf >>", "git add", "git commit", "git push", "npm install", "pip install"]
4、同时将 "allowlist" 字段设为空数组或直接删除,确保无默认放行命令。
5、保存后重启 OpenClaw,所有列入 denylist 的命令将立即返回“权限拒绝”错误。
五、绑定本地监听地址并禁用网关写入能力
此方法防止 OpenClaw 通过 Web 网关接口被远程触发写入操作,尤其适用于启用了 HTTP API 的部署场景。它从网络入口切断外部驱动的误改路径。
1、运行以下命令,强制网关仅监听本地回环地址:
openclaw config set gateway.bind "127.0.0.1"
2、禁用网关的 POST 写入端点(如 /v1/exec、/v1/files/write):
openclaw config set gateway.disable_write_endpoints true
3、重启网关服务(如正在运行):
openclaw gateway restart
4、验证:从本机以外设备访问 http://localhost:8080/v1/exec 应返回连接拒绝;从本地浏览器发起 POST 请求将收到 405 Method Not Allowed 响应。










