原文引用自 meng shao (@shao__meng),发布于 2026年3月14日。
以下为原文整理 + 社区评论建议 + 个人补充。


背景

帮一个老同学安装 OpenClaw(上次联系还是他十年前结婚…),他是医生,问我如果周围同事也想装,能不能帮他们也都装一下。程序员本来就是一群最爱”偷懒”的人,重复的事情肯定不想做第二次,就把 OpenClaw 文档网站塞给了 AI,用信息卡提示词生成了一份「OpenClaw 全指令速查手册」。


快速安装与核心 CLI

1
2
3
4
5
6
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
openclaw doctor --deep --yes
openclaw logs --follow
openclaw gateway restart
openclaw dashboard

基础配置 openclaw.json

1
2
3
4
5
6
7
8
{
identity: { name: "OpenClaw", emoji: "🦞" },
agent: {
model: { primary: "anthropic/claude-sonnet-4-6" },
heartbeat: { every: "30m", target: "last" }
},
channels: { telegram: { enabled: true, botToken: "..." } }
}

支持回退链 fallbacks: [...],遇速率限制自动切换。改完先 config validategateway restart

工作区文件 ~/.openclaw/workspace/

行为由文件驱动,不靠隐藏 prompt:

文件 用途 加载时机
AGENTS.md 操作指令、优先级、工作流规则 每次会话
SOUL.md 性格、语气、价值观、行为约束 每次会话
USER.md 你的称呼、偏好、风格 每次会话
TOOLS.md 本地工具说明与使用约定 每次会话
HEARTBEAT.md 心跳检查清单 仅心跳时
MEMORY.md 长期精选记忆与事实 仅主 DM

高频交互指令

指令 说明
/status 模型、上下文、队列、API 用量
/new [model] 全新会话,清空上下文
/compact 总结上下文,释放 Token
/stop 中止当前任务,清空队列
/think off|low|high|adaptive 推理深度
/model [id] 运行时切模型
/fast 快速模式开关
/subagents spawn|list|kill 子 agent 管理

自然语言停止也有效:”stop openclaw” / “请停止”

记忆与定时

  • 达 40k tokens 自动总结写入每日日志,向量检索支持多语言
  • 心跳默认 30 分钟,返回 HEARTBEAT_OK 则静默不打扰
  • Cron 在 cron/jobs.json 定义,指向隔离会话不干扰对话

安全底线

  • 私聊开启 pairing 配对认证,群组用 allowlist
  • /config /debug 仅 Owner 可调用
  • 工作区插件默认不自动加载,须显式信任
  • 审查技能警惕 curl|bash、base64、零宽 Unicode

排障万能公式

1
openclaw doctor --deep --yes   # 解决 80% 的问题

上下文满 → /compact,通道掉 → channels status --probe,无响应 → logs --follow

更新:sudo npm i -g openclaw@latest && openclaw gateway restart


社区讨论建议

以下建议整理自推文评论区讨论及社区博客文章,主要来源于 申悦《研究完OpenClaw源码后,我的10条使用原则》

1. 把 OpenClaw 当任务系统,而非万能助理

每次会话像下一张任务单:它服务哪个场景、调用哪些工具、读哪些资料、输出什么结果、什么时候该停。任务边界清晰时,Agent 的行为会更稳定。

2. 模型选型按任务分层

任务类型 推荐策略
复杂推理、关键决策 强模型(如 Claude Opus 4.6)
资料整理、润色、常规问答 性价比模型(如 DeepSeek)
工具密集型任务 工具调用稳定的模型(如 GPT-5.4、Kimi K2.5)

建议按任务类型多养几只接不同模型的龙虾。

3. 指令写成任务说明,不要写成聊天

不要说”帮我看看这个东西怎么弄”,而是明确:目标、输入材料、执行步骤、输出格式、限制条件。相当于给 Agent 发一张工单。

4. 少写人格设定,多写工作边界

真正有效的不是”你是一位严谨的专家”这类人格描述,而是工作边界说明:允许读取哪些目录、优先使用哪些工具、什么情况下必须先提问、输出必须包含哪些字段。模型真正吃的是操作约束,不是人格夸奖。

5. 最小必要上下文原则

上下文越长,token 消耗越高,模型注意力会被稀释。建议:

  • 长期规则文件只保留真正稳定的原则
  • 一个文件只写一类事情
  • 背景材料尽量摘要化
  • 每次任务只给最小必要上下文

6. Skill 设计成 SOP,而非能力清单

不要无脑堆 Skill,而是把每个 Skill 面向一个固定任务,有固定输入、固定步骤和标准输出。一旦 Skill 变成 SOP,效果会稳定很多。

7. 复杂任务采用两段式调用

第一轮让 OpenClaw 做探索(搜集、扫描、初步归类),第二轮再做收口(输出判断、摘要、结论)。不要一上来就让它直接给最终答案。

8. 关键步骤增加检查点

对于需要稳定交付的工作,在关键步骤增加检查点:先让它列计划、展示将读哪些文件、给出中间稿,再决定是否继续。半自动协作,往往比全自动更可靠。


个人补充建议

以下为基于官方 OpenClaw Cheatsheet 和实际使用经验的个人补充。

9. Git 备份工作区文件 [个人补充]

工作区的 .md 文件是你的核心资产,建议用 Git 进行版本管理:

1
2
3
4
cd ~/.openclaw/workspace
git init && git add AGENTS.md SOUL.md TOOLS.md \
IDENTITY.md USER.md HEARTBEAT.md memory/
git commit -m "Add workspace"

注意:不要提交 API keys、OAuth tokens 等敏感配置。

10. 善用 Workspace Wizard 生成初始配置 [个人补充]

不知道工作区文件怎么写?官方提供了 Workspace Wizard,只需回答 8 个问题就能自动生成 SOUL.md、AGENTS.md、USER.md 等全部文件。适合新手快速上手。

11. 配置活跃时间避免夜间打扰 [个人补充]

心跳和 Cron 任务可以设置活跃时间段,避免半夜被消息打扰:

1
2
3
4
5
6
heartbeat: {
every: "30m", target: "last",
model: "cheap-model",
activeHours: { start: "08:00", end: "22:00",
timezone: "Asia/Shanghai" }
}

12. 使用成本计算器做预算管理 [个人补充]

token 消耗是实际痛点。官方提供了 Cost Calculator 用于估算各 Provider 的真实花费。省钱技巧:

  • 心跳任务用便宜模型
  • Claude Max $200/月 = 无按量计费
  • Gemini 免费额度适合基础任务
  • Ollama = $0,本地运行,完全私有

13. 安全审计不可忽视 [个人补充]

除了基础的 pairing 和 allowlist 外,建议定期执行深度安全审计:

1
2
3
4
5
openclaw doctor --fix
openclaw security audit --deep
chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/openclaw.json
chmod 700 ~/.openclaw/credentials

v2026.3.13 起,工作区插件不再自动加载,需要显式信任,这是一个重要的安全改进。

14. 限制可修改的文件夹范围 [个人补充]

OpenClaw 的工作区(~/.openclaw/workspace)是默认工作目录,但不是硬性沙箱。工具解析相对路径时基于工作区,但绝对路径仍可访问主机上的其他位置。要真正限制文件夹范围,有三个层级的控制方式:

方式一:路径级 RWX 权限策略(access-policy.json)

~/.openclaw/access-policy.json 中定义路径级读/写/执行权限,最长匹配的 glob 优先,未匹配路径默认拒绝:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"agents": {
"*": {
"policy": {
"~/workspace/**": "rwx", // 工作区完全可访问
"~/projects/**": "r--", // 项目目录只读
"~/.ssh/**": "---", // SSH 目录完全禁止
"~/.openclaw/**": "---" // 配置目录完全禁止
}
},
"myagent": {
"policy": {
"~/workspace/**": "rwx" // 特定 agent 独立策略
}
}
}
}

权限说明:r 读取、w 写入/修改、x 执行、- 拒绝。工具层会在执行前解析符号链接并检查真实路径。

方式二:Docker 沙箱隔离

通过 agents.defaults.sandbox 配置在 Docker 容器内运行工具,从物理层面限制文件访问范围:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
agents: {
defaults: {
sandbox: {
mode: "non-main", // "off" | "non-main" | "all"
scope: "session", // "session" | "agent" | "shared"
workspaceAccess: "ro", // "none" | "ro" | "rw"
docker: {
binds: [
"/home/user/source:/source:ro", // 只读挂载指定目录
"/var/data/myapp:/data:ro"
]
}
}
}
}
}

workspaceAccess 控制沙箱内可见内容:

  • "none" — 只能看到沙箱工作区(~/.openclaw/sandboxes
  • "ro" — 以只读方式挂载 agent 工作区
  • "rw" — 以读写方式挂载 agent 工作区

方式三:AGENTS.md 行为约束(软限制)

AGENTS.md 中写明操作边界。这是提示词层面的约束,依赖模型的遵从性:

1
2
3
4
5
## 文件操作规则
- 只允许读写 ~/workspace/ 和 ~/projects/current/ 目录
- 禁止访问 ~/.ssh、~/.openclaw、~/secrets 等敏感目录
- 修改文件前必须先列出计划并确认
- 禁止执行 rm -rf 等破坏性命令

建议:access-policy.json(硬限制) + AGENTS.md(软限制)组合使用,前者从工具层强制执行,后者引导模型行为。

15. 权限控制的完整配置体系 [个人补充]

OpenClaw 的权限控制分布在三个维度,理解它们的关系是做好安全配置的关键:

控制维度 配置位置 作用
工具策略 (Tool Policy) tools.allow / tools.deny 决定哪些工具可用
沙箱 (Sandbox) agents.defaults.sandbox 决定工具在哪里运行
提权 (Elevated) tools.elevated exec 工具跳出沙箱的逃生通道

工具策略支持按组批量控制:

1
2
3
4
5
6
7
8
9
10
{
tools: {
sandbox: {
tools: {
allow: ["group:fs", "group:memory"], // 只允许文件和记忆工具
deny: ["exec", "bash"] // 禁止命令执行
}
}
}
}

可用的工具组:

  • group:runtime — exec, bash, process
  • group:fs — read, write, edit, apply_patch
  • group:sessions — 会话管理相关
  • group:memory — 记忆检索相关
  • group:ui — 浏览器、Canvas

使用 openclaw sandbox explain 可以查看当前生效的完整权限配置。deny 始终优先于 allow,被 deny 的工具无论如何都不会生效。


参考链接