这是「OpenClaw 教程课程」第 14 课。前两课我们讲了 exec 和 browser:一个让 AI 执行命令,一个让 AI 操作网页。这一课回到最基础、但也最容易影响实际工作的能力:文件读写。
图:read / write / edit 是 Agent 处理文件的基础能力。读清楚、改准确、能验证,是文件操作最重要的三件事。
很多人第一次让 AI 改文件,会直接说:
1帮我把这个文件改一下。
这当然可以。
但如果你想让 Agent 改得稳、改得少、改完可检查,就不能只把“改文件”看成一个动作。
在 OpenClaw 里,文件操作通常会拆成几类工具:
read:读取文件内容
write:创建或覆盖文件
edit:对已有文件做精确替换
这三个工具看起来都和文件有关,但适用场景完全不同。
这一课我们就讲清楚:
什么时候用 read,什么时候用 write,什么时候用 edit,以及怎样避免让 AI 一不小心覆盖重要文件。
一、先说结论:文件修改前,通常应该先 read如果今天只记一个习惯,我建议你记这个:
让 Agent 改文件前,先让它读文件。
...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 13 课。上一课我们讲了 exec:让 AI 真正执行命令。这一课继续讲另一个很实用的工具:browser,也就是让 AI 能打开网页、看页面、点击、输入、截图和做网页验证。
图:browser 工具让 Agent 不只是“搜索网页内容”,而是可以像用户一样打开网页、观察页面、点击按钮、输入内容并验证结果。
很多人刚开始接触 OpenClaw 的 browser 工具,会有一个误解:
“这是不是就是让 AI 上网搜索?”
不是。
OpenClaw 里的 browser 工具,不等于普通搜索。
它更像是给 Agent 配了一个真正可控的浏览器窗口。
Agent 可以:
打开网页
查看页面结构
点击按钮
输入文字
选择下拉框
截图
导出 PDF
查看控制台错误
在需要时使用已登录的浏览器会话
所以这一课我们要讲清楚一个核心问题:
browser 工具到底解决什么问题?它和 web_search / web_fetch 有什么区别?新手应该怎么安全使用?
一、browser 工具是什么?browser 是 OpenClaw 里 ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 12 课。上一课我们讲了 Skills:它解决的是“这类任务应该怎么做”。这一课开始讲真正能落地执行的工具:exec。
图:exec 让 Agent 不只是回答命令应该怎么写,而是可以在合适权限下真正执行命令、读取结果、继续判断下一步。
很多人第一次用 AI 助手时,最自然的用法是:
“帮我看看这个命令怎么写。”
这当然有用。
但 OpenClaw 更进一步。
它不只是让 AI 告诉你命令,而是可以在你允许的范围内,直接通过 exec 工具执行命令,然后根据真实输出继续判断。
这就是 exec 最核心的价值:
让 Agent 从“会建议”变成“会动手”。
不过,exec 也正因为强,所以一定要理解它的边界和安全机制。
这一课我们就把它讲清楚。
一、exec 是什么?exec 是 OpenClaw 里用于执行 shell 命令的工具。
你可以把它理解成:
Agent 手里的一扇终端窗口。
通过它,Agent 可以做很多真实操作,比如:
查看当前目录
检查文件是否存在
运行构建命令
执行测试
查看服务状态
用 grep / ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 11 课。从这一课开始,我们进入第三模块:工具与技能。第一篇先讲最容易让人混淆、但又特别关键的一个概念:Skills。
图:Skill 可以理解成 Agent 的可复用能力包,它不是单次回答技巧,而是一种可持续调用的方法模块。
很多人第一次接触 OpenClaw 的 Skills,都会有点迷糊。
最常见的困惑通常是这些:
Skill 到底是什么?
它和 Tool 有什么区别?
它是不是插件?
它是不是 prompt 模板?
我什么时候该装一个 Skill,而不是直接让 AI 自己做?
这些问题如果不拆开讲清楚,后面你看到:
某个能力是 skill 提供的
某个行为需要先安装 skill
某个 Agent 因为工作区 skill 而表现完全不同
你就很容易只会用,不明白底层逻辑。
所以今天这节课只讲一个主题:
Skills 到底是什么,它为什么重要,以及你应该怎么理解“安装和使用 Skill”这件事。
一、先说结论:Skill 是可复用的能力模块这是今天最重要的一句话。
你可以先把 Skill 理解成:
一套围绕某类任务封装好的做 ...
这是「OpenClaw 教程课程」第 10 课。前一课我们讲了 Memory,知道了长期记忆怎么沉淀。今天我们进入另一个非常实用、也非常容易被误解的话题:模型配置与切换。
图:在 OpenClaw 里,你配置的不只是“一个模型名字”,而是一整套模型提供商、主模型、备用模型和回退逻辑。
很多人在用 OpenClaw 的过程中,迟早都会遇到这些问题:
为什么我明明设的是某个模型,结果状态里显示另一个?
provider 和 model 到底是什么关系?
fallback / failover 到底是什么意思?
切换模型,切的究竟是哪一层?
为什么有时候“当前模型不可用”,系统却还能继续跑?
这些问题如果不讲清楚,后面你一看到模型切换、状态回退、provider 异常,就很容易一头雾水。
所以今天这课只讲一个主题:
OpenClaw 里的模型配置到底是怎么组织的。
一、先说结论:OpenClaw 配的不是“一个模型名字”,而是一条模型使用链路这是今天最关键的一句话。
很多人天然会把模型配置理解成:
选一个模型
然后系统一直用它
但在 OpenClaw 里,真实情况 ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 9 课。前一课我们讲了 Context Engine,知道了模型到底“看到了什么”。这节课继续回答另一个很多人最关心的问题:OpenClaw 到底是怎么记住事情的?
图:Memory 不是临时上下文延续,而是把真正值得长期保留的信息沉淀下来。
很多人第一次用 OpenClaw,都会很自然地问:
它会记住我之前说的话吗?
为什么有些事它下次还记得,有些又像忘了?
Session 和记忆到底是不是一回事?
我能不能让它长期记住我的偏好、项目背景、固定写作要求?
这些问题背后,其实都指向一个核心概念:
Memory。
但这里最容易搞混的一点是:
OpenClaw 的“记住”并不只有一种。
它至少涉及两层:
当前 Session 里的连续上下文
更长期、可被反复检索的 Memory
所以今天这节课,我们要讲清楚的不是一句“它能记住”,而是:
它到底记住了什么、怎么记、记在哪里、什么时候该记。
一、先说结论:Memory 不是聊天上下文的延长线,而是“长期可检索记忆”这是今天最重要的一句话。
很多人会把 Memory 理解成:
聊 ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 8 课。前一课我们讲了 Agent Loop,知道了一条消息会经历一轮完整处理流程。今天继续往里走一步:模型到底看到了什么?
图:Context Engine 决定模型看到哪些信息、以什么顺序看到、哪些内容更重要。
很多人对 AI 的理解还停留在一个很简单的层面:
我发一句话
模型读到这句话
然后回答
但在 OpenClaw 里,事情远没有这么简单。
因为模型看到的,通常根本不只是你刚输入的那一句。
它还可能同时看到:
系统提示词
角色设定
当前 Session 历史
工作区里的 bootstrap 内容
Skills 提供的上下文
工具结果摘要
当前运行的模式与限制
也就是说:
模型并不是在读“你的这一句话”,而是在读一整份由系统拼装出来的上下文包。
而负责这件事的,就是你今天要理解的核心概念:
Context Engine。
一、先说结论:Context Engine 决定模型到底“看见了什么”你可以先把 Context Engine 理解成一个很直白的角色:
它是 OpenClaw 在把消息送进模型之前的“上下文装配系 ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 7 课。前一课我们讲清楚了 Session,这一课继续往前走一步:一条消息在 OpenClaw 里到底是怎么被处理的?
图:Agent Loop 是 OpenClaw 里“消息变成动作和回复”的完整运行路径。
很多人第一次接触 OpenClaw 时,天然会用一种聊天产品的直觉去理解它:
我发一句话
模型想一下
它回一句话
这套理解在普通聊天产品里勉强够用,但放到 OpenClaw 里就太浅了。
因为在 OpenClaw 里,一条消息真正经历的过程通常是:
进入 Gateway
找到对应 Session
组装上下文
解析系统提示词
调模型
模型决定是否调用工具
工具执行
结果回流
流式输出
持久化状态
这一整条链,OpenClaw 里有一个专门的名字:
Agent Loop
今天这课,我们就把它拆开讲清楚。
一、什么是 Agent Loop?先给一个最简定义:
Agent Loop 是一次完整的 Agent 运行过程。
文档里的核心意思非常明确:
它不是“模型回了一句话”这么简单,而是一次真实的、完整的运行周期:
intake ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 6 课。从这一课开始,我们正式进入第二模块:核心概念。
图:Session 不是普通聊天记录,而是 OpenClaw 组织上下文、隔离对话和维持连续性的关键结构。
前面几课里,你其实已经不断碰到一个词了:
/new
上下文延续
会话切换
群聊隔离
私聊连续性
这些东西背后,都指向同一个核心概念:
Session。
很多新手刚开始用 OpenClaw 时,会把它理解成:
我说一句
它回一句
然后下一句继续接着聊
这个理解只停留在表面。
因为在 OpenClaw 里,真正被系统管理的不是“聊天气氛”,而是:
一条消息到底进入哪个 Session。
而这件事,会直接决定:
它记不记得你前面说过什么
这次对话和别人的对话会不会串
群里和私聊是不是互相影响
cron、webhook、不同入口的上下文是不是隔离
所以今天这课要解决的问题非常核心:
Session 是什么?它和普通聊天到底有什么本质区别?
一、先说结论:Session 不是“聊天记录”,而是“上下文容器”这是这一课最重要的一句话。
很多人第一反应会把 Session ...
OpenClaw 教程
未读
这是「OpenClaw 教程课程」第 5 课。前面几课我们已经完成了安装、理解了 Gateway,也开始接入聊天渠道。接下来这一步很关键:你要开始真正和 OpenClaw 对话。
图:从“能装好”到“会稳定使用”,中间最关键的一步,就是理解 OpenClaw 的基本交互方式。
很多人第一次真正上手时,最容易卡住的不是安装,而是交互方式。
常见问题通常是这些:
我直接发自然语言就行,还是得发命令?
/status 这种命令和普通聊天有什么区别?
为什么有时一条命令有反应,有时没反应?
群里是不是一定要 @ 它?
/model、/help、/new 这些到底什么时候该用?
所以今天这课,我们不讲复杂配置,只讲一个主题:
第一次对话时,OpenClaw 的命令格式与基本交互逻辑到底是什么。
一、先建立一个最核心的区分:普通消息 vs 命令在 OpenClaw 里,最基础的一组区分就是:
1)普通消息比如你直接发:
帮我总结一下今天这段聊天
看看我这个思路有没有问题
给我写一段更自然的开头
这种就是普通消息。
它会进入正常的 Agent 处理流程。
也就是说,模型会结合上下文 ...










