安装openclaw小白教程,OpenClaw高级篇教学

安装openclaw小白教程,OpenClaw高级篇教学

中级篇解决了三个问题:记不住、找不到、断不了

但你可能发现——agent 变聪明了,你还是得一步步告诉它做什么

就像你培训了一个实习生,记忆力好、搜索快、不掉线。但每件事还是要你下指令,你说一步他走一步

高级篇要解决的就是这个问题:让实习生变成正式员工

正式员工需要什么?

岗前培训(Skill)——让它懂你的业务工作

SOP(Hook)——让它自动按规矩办事

系统权限(MCP)——让它能用公司的工具

独立负责项目(自主任务)——让它自己干活

由于确实比较复杂,所以我们每个方向讲透核心概念 + 一个杀手案例

一、Skill——给员工做岗前培训

你每天告诉 agent 日报格式:先写完成的工作、再写重要决策、最后写明天计划

说了五十遍,换个 session 又忘了

不是 agent 不聪明,是你教的东西全存在对话里——session 断了就没了

本质问题:对话里教的东西是临时的

Skill 是什么?

一句话:Skill = 给 agent 的培训手册,装进去就永久生效

它的本质是一个SKILL.md文件,放在 skills/ 目录下。agent 启动时扫描这个目录,识别触发词,匹配到就把SKILL.md的内容注入到 context 里

和 AGENTS.md有什么区别?

AGENTS.md是通用工作规范——怎么写文件、怎么搜索、犯了错怎么记录。每次 session 都加载,不管你干什么

Skill 是特定业务流程和知识——你的日报格式长什么样、你的代码规范是什么、你的搜索工具怎么用。只在需要的时候加载,按触发词匹配

AGENTS.md 管的是工作态度,Skill 管的是业务知识

或者说——Skill 管「知道什么」

杀手案例:一个日报 Skill

没有 Skill 的时候,每次写日报你要说一大段:

帮我写今天的日报,格式是这样的:先列今天完成的主要任务,然后是重要决策,再是遇到的问题和解决方案,最后是明天的计划

去读今天的 memory 文件提取内容

五十个字的指令,每天说一遍

有了 Skill 之后,创建一个文件 ~/.openclaw/skills/daily-report/SKILL.md

name: daily-report

description: >

Generate daily work reports by reading memory files and summarizing

activities.

Triggers: “daily report”, “日报”, “今天做了什么”, “工作总结”.

# Daily Report Skill

When triggered:

1. Read today’s memory file (memory/YYYY-MM-DD.md)

2. Extract key activities, decisions, and issues

3. Format as:

– 完成的工作

– 重要决策

– 遇到的问题

– 明天计划

名称:每日报道

描述:>

通过阅读记忆文件和总结活动来生成每日工作报告。

触发词:“每日报告”、“日报”、“今天做了什么”、“工作总结”。

—# 每日报告技能

触发时:

1. 读取当天的内存文件(memory/YYYY-MM-DD.md)

2. 提取关键活动、决策和问题

3. 格式为:

– 完成的工作

– 重要决策

– 遇到的问题

– 明天计划

从此你只需要说三个字:写日报

agent 匹配到触发词,自动加载SKILL.md,知道该读什么文件、用什么格式、怎么输出

五十个字变三个字。而且不管换多少次 session,格式永远一致

Skill 不是单独存在的,它和 Hook、MCP 组成了一套完整的 agent 增强体系

先做个预览,后面每个方向会详细展开:

安装openclaw小白教程,OpenClaw高级篇教学

Skill 管知道什么,Hook 管自动做什么,MCP 管能做什么

记住这句话,后面反复会用

完整的 Skill 开发教程——从目录结构到触发机制到踩坑记录——在高级的完整篇中

二、Hook——给员工定 SOP

每次开新 session 你都要说一遍:先看一下今天的计划和日记

说了一百遍,终于想明白一件事——

这件事不应该由我来记

我是老板,不是提词器。我不应该每次开会前提醒秘书翻开笔记本——这件事应该是自动的

Hook 是什么?Hook = agent 的反射弧

什么是反射弧?膝跳反射。锤子敲膝盖,腿自动弹,信号走脊髓,不经过大脑

Hook 就是这个东西——特定事件发生时,代码直接跑,不经过 agent 思考,不需要 LLM 决策

这和 Skill 是两个层面:

Skill 是给 agent 一本操作手册——它可能看可能不看,看了也可能理解偏了Hook 是装了一个传感器加执行器——事件一来,代码直接跑,100% 确定执行

关键区别:Hook 跑的是 TypeScript 代码,不是 LLM 决策

一个是建议,一个是铁律。你给员工说「每天早上先看邮件」,他可能忘。你给他定个 SOP 配上闹钟提醒,他想忘都忘不了

Hook 的结构也很简单:

my-hook/

├── HOOK.md          # 声明监听什么事件

├── handler.ts       # 事件触发时跑什么代码

HOOK.md告诉系统「我叫什么名字、监听哪些事件」

handler.ts 告诉系统「事件来了具体干什么」

依旧案例:一个 Hook 让 agent 自动读今天的计划

每次开新 session,你想让 agent 自动读取今天的日记文件——不用你说

创建 hooks/session-loader/HOOK.md:

name: session-loader

description: “新 session 自动加载今天的工作日志”

metadata:

openclaw:

events: [“command:new”]

requires:

bins: [“node”]


名称:会话加载器

描述:“新 session 自动加载今天的工作日志”

元数据:

OpenClaw

事件:[“命令:新”]

要求:bins: [“节点”]

创建 hooks/session-loader/handler.ts:

import { readFileSync, existsSync } from “fs”;

import { join } from “path”;

const handler = async (event) => {

if (event.type !== “command” || event.action !== “new”) {

return;

}

const memoryDir = join(process.cwd(), “memory”);

const today = new Date().toISOString().split(“T”)[0];

const diaryPath = join(memoryDir, `${today}.md`);

if (existsSync(diaryPath)) {

const content = readFileSync(diaryPath, “utf-8”);

event.messages.push(`今天的工作日志已加载:

${content}`);

} else {

event.messages.push(“今天还没有工作日志,开始新的一天”);

}

};

export default handler;
从 “fs” 导入 { readFileSync, existsSync };

从 “path” 导入 { join };

const handler = 异步(事件) => {

if (event.type !== “命令” || event.action !== “new”) {

返回;

}

const memoryDir = join(process.cwd(), “memory”);

const today = new Date().toISOString().split(“T”)[0];

const diaryPath = join(memoryDir, ‘${today}.md’);

如果 (existsSync(diaryPath)) {

cont content = readFileSync(diaryPath, “utf-8”);

event.messages.push(’今天的工作日志已加载:

${content}’);

} 否则 {

event.messages.push(“今天还没有工作日志,开始新的一天”);

}

};

导出默认处理程序;

效果:你打开一个新 session,agent 已经知道今天要做什么了

不用你说「先看一下今天的计划」——这句话从此从你的工作流里消失了

你不需要会 TypeScript。把需求描述清楚——「在什么时机做什么事」——让你的 agent 帮你写 handler.ts 就行

核心能力不是写代码,是定义清楚 trigger + action。这是 PM 天天在做的事

进阶场景

Hook 能做的远不止加载日记:

  • 监听 compact 事件:context 被压缩前自动保存任务状态,压缩后自动恢复——中级篇的计划文件模式,用 Hook 变成全自动
  • 监听 write 操作:拦截危险的文件覆盖——345KB 事故不会再发生
  • 配合 Heartbeat:每次心跳自动检查有没有未完成的任务

从「你提醒 agent」变成「agent 自己知道」——这就是 反射弧 的力量

几种实用 Hook 配置模板 + 完整踩坑记录在在高级完整篇中

三、MCP——给员工开系统权限

你想让 agent 帮你查数据库里的数据,它说:我没有这个能力

你想让它帮你操作文件系统里的特定目录。它说:我做不到

agent 默认只会两件事:思考和对话。其他什么都不能做

你得给它接外设

MCP 是什么?MCP = Model Context Protocol

一句话:AI 世界的 USB 接口

不管什么外部服务——数据库、搜索引擎、文件系统、浏览器——只要支持 MCP 协议,就能接到你的 agent 上

你不需要为每个服务写专用的对接代码。就像 USB 统一了外设接口——不管你是打印机还是摄像头,同一种插头

学会了 USB,以后不管插什么设备都不用重新学。MCP 也一样

架构很简单:

Agent → mcporter(桥梁)→ MCP Server → 外部服务

mcporter 是中间件,负责 agent 和 MCP Server 之间的通信。OpenClaw 内置了 mcporter 的 skill,agent 知道怎么调用它

配置文件在 config/mcporter.json——每个项目可以接不同的外部服务

杀手案例:一条配置让 agent 读写文件系统

最简单的 MCP Server 是文件系统——不需要任何 API key,纯本地跑

在 config/mcporter.json 里写一段配置:

{

“mcpServers”: {

“filesystem”: {

“command”: “npx”,

“args”: [“-y”, “@modelcontextprotocol/server-filesystem”, “/tmp/mcp-test”]

}

}

}

{

“mcpServers”: {

“filesystem”: {

“命令”:“NPX”,

“args”: [“-y”, “@modelcontextprotocol/server-filesystem”, “/tmp/mcp-test”]    }

}

}

三行就够了。意思是:启动一个文件系统 MCP Server,只允许它访问 /tmp/mcp-test 目录

最后那个路径是安全边界——限制 Server 只能读写这个目录下的文件。和给 app 设权限一个道理

配好之后验证一下:

mcporter list

# 看到 filesystem Server 和它暴露的工具就说明成功了

mcporter call filesystem read_file path=/tmp/mcp-test/test.txt

# 读取测试文件

在 agent 对话中你可以直接说「帮我用 MCP 读取 /tmp/mcp-test 下的文件」——agent 会自动走 mcporter 调用

没接 MCP 的 agent 只会聊天

接了 MCP 的 agent 能用工具干活

这就是「开系统权限」的意思

生态

MCP 不只是能接文件系统。官方和社区已经有大量现成的 Server:

  • 文件系统(本地文件读写)
  • PostgreSQL / SQLite(数据库查询)
  • Brave Search(搜索引擎)
  • Puppeteer(浏览器自动化)
  • Memory(持久化记忆)

一个 USB 接口,无限外设。配一个新 Server 只需要在 mcporter.json 里加几行配置——流程和上面的文件系统一模一样

不要为了用 MCP 而用 MCP。简单的文件读写 agent 自带工具就行,MCP 适合的是需要接外部 API、需要标准化多个外部服务调用方式的场景

四、自主任务——给员工独立负责项目

你说:帮我做一个社区趋势调研,Agent 说:好的,第一步是什么?

它在等你指挥

你说第一步搜索 GitHub,它搜了。然后等你说第二步

你说第二步搜索 Reddit,它搜了。然后又等你

你想要的不是这样。你想给它一个目标,它自己拆解步骤、自己执行、自己判断完没完成

你说一步它走一步——这是实习生

你给目标它自己干——这才是正式员工

核心概念:从指令驱动到目标驱动

这是中级篇到高级篇最大的认知升级

指令驱动:你给步骤,agent 执行。中级篇教的计划文件模式就是这个——你手动创建计划、列出步骤、agent 按步骤走

目标驱动:你给目标,agent 自己拆解为子任务、自己规划执行顺序、自己判断有没有完成

实现这个需要三个基础设施,中级篇其实都教过了:

  • 计划文件——agent 自己创建和更新,而不是你替它写
  • Heartbeat——每 30 分钟推醒 agent,让它检查有没有事要做
  • AGENTS.md规则——告诉 agent 遇到目标型任务怎么拆解、怎么执行、怎么评估

杀手案例:给一个目标,agent 自己拆了 6 个步骤执行

实际案例:我给 agent 一个目标——完成高级篇 6 个方向的素材采集

我只说了一句话:按照素材采集 prompt 里的 6 个方向,逐个完成调研和实战

agent 做了什么:

  1. 自己读取了目标文档,理解 6 个方向的具体要求
  2. 自己创建了计划文件 temp/advanced-material-plan.md
  3. 把 6 个方向拆成 6 个阶段,每个阶段有明确的产出物
  4. 从第一个方向开始执行——搜索文档、实战测试、记录踩坑
  5. 每完成一个阶段,自动更新计划文件的进度
  6. Heartbeat 定期检查,确保 agent 没有忘了自己在做什么

中间 context 被压缩了两次,跨了三个 session

但每次新 session 开始,agent 读取计划文件,接着上次的进度继续。没丢任何进度

最终产出了 5 份素材文件,加起来超过 160KB

中级篇教的计划文件 + Heartbeat = 基础设施,高级篇的自主任务 = 在基础设施上搭建自主性

中级篇:你创建计划文件,agent 按计划执行,高级篇:agent 自己创建计划文件,自己按计划执行

安装openclaw小白教程,OpenClaw高级篇教学

养出来的能力,现在用起来了

不是所有任务都适合目标驱动——简单的事情直接给指令更快。但当任务复杂到你自己都不确定该分几步的时候,让 agent 试试

完整的自主任务配置 + 踩坑记录在高级完整篇中

四件装备,一句话回顾:

Skill 让它懂业务

Hook 让它按规矩

MCP 让它用工具

自主任务让它独立干活

从中级到高级,不是学了四个新概念——而是把中级篇养出来的能力用起来了

中级篇的搜索策略 → 高级篇的工具选择(MCP 加入决策树)

中级篇的计划文件 → 高级篇的自主任务(agent 自己创建和更新计划)

中级篇的 Heartbeat → 高级篇的自动化(Hook 让所有手动操作变成自动的)

基础篇教你装上能用,中级篇教你养好好用,高级篇教你落地真正干活

声明:内容来源公开的各类媒体平台,若收录的内容侵犯了您的权益,请联系邮箱,本站将第一时间处理。
教程百科

AI怎么生成电影级运镜视频,7种基础运镜全解析

2026-3-21 9:11:08

教程百科

安装openclaw小白教程,OpenClaw中级篇教学

2026-3-21 9:47:37

搜索