共计 4785 个字符,预计需要花费 12 分钟才能阅读完成。
OpenClaw 是一款强大的 AI 助手框架,但很多用户在基础配置完成后,不知道如何进阶使用。本文将手把手教你配置 AGENTS.md、解决 AI 失忆问题、使用子 Agent 并行处理任务、设置定时任务等 7 大核心主题。
一、AGENTS.md 配置:给 AI 写一部行为宪法
很多人在搜 ”OpenClaw AGENTS.md 怎么写 ”,先说清楚它跟其他配置文件的关系:
- SOUL.md = 性格(” 你是一个随和、实在的助手 ”)
- USER.md = 用户信息(” 你在帮谁 ”)
- AGENTS.md = 工作手册(” 每天上班先看邮件,写完代码要测试,删文件前要问我 ”)
即使配置了基础的 SOUL.md、USER.md、IDENTITY.md,AI 仍然缺乏明确的工作指引:不知道每次新对话该先读什么文件,不知道记忆该写到哪里,不知道哪些操作可以自主完成、哪些需要先征求你的同意。
这就是 AGENTS.md 的作用——它是 AI 的工作手册。
Every Session 规范
AI 每次新 session 都是 ” 失忆 ” 状态,需要明确告诉它醒来后按什么顺序读文件来恢复记忆:
Before doing anything else:
1. Read `SOUL.md` — this is who you are
2. Read `USER.md` — this is who you're helping
3. Read `memory/YYYY-MM-DD.md` (today + yesterday) for recent context
4. If in MAIN SESSION: Also read `MEMORY.md`
Don't ask permission. Just do it.
💡 点击代码块右上角可复制
记忆分层系统
| 层级 | 文件 | 用途 |
|---|---|---|
| 索引层 | MEMORY.md |
核心信息和记忆索引,保持精简 |
| 项目层 | memory/projects.md |
各项目当前状态与待办 |
| 教训层 | memory/lessons.md |
踩过的坑,按严重程度分级 |
| 日志层 | memory/YYYY-MM-DD.md |
每日记录 |
日志格式规范
### [PROJECT: 名称] 标题
- ** 结论 **: 一句话总结
- ** 文件变更 **: 涉及的文件
- ** 教训 **: 踩坑点(如有)- ** 标签 **: #tag1 #tag2
💡 点击代码块右上角可复制
铁律 :记结论不记过程,标签便于 memorySearch 检索,”Mental notes” don’t survive session restarts. Files do.
二、记忆系统实战:解决 AI 失忆问题
这是搜索量很高的一个问题。原因是 OpenClaw 的上下文压缩(compaction)触发了。
每个模型都有上下文窗口限制(Claude 是 200K token)。当对话接近这个限制时,OpenClaw 会自动把旧对话压缩成摘要腾出空间——压缩过程中可能丢失细节。
解决方案 :开启 memoryFlush,在压缩触发之前,先让 AI 把重要信息写入文件。
在 openclaw.json 里加上:
{
"agents": {
"defaults": {
"compaction": {
"reserveTokensFloor": 20000,
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000
}
}
}
}
}
💡 点击代码块右上角可复制
参数说明 :
reserveTokensFloor:剩余 token 少于 20000 时触发压缩memoryFlush.enabled:压缩前先让 AI 写文件softThresholdTokens:AI 可以用最多 4000 token 写记忆
三、子 Agent 并行任务:一个人变一支团队
默认情况下 AI 是 ” 单线程 ” 的,做完一件才做下一件。子 Agent 让主 AI(主脑)可以派出独立的 AI 子进程并行处理任务,每个子 Agent 有自己的 session,执行完自动汇报结果。
模型选择策略
| 等级 | 模型别名 | 适用场景 |
|---|---|---|
| 🔴 高 | opus | 复杂架构设计、多文件重构、深度推理 |
| 🟡 中 | sonnet | 写代码、写脚本、信息整理(默认) |
| 🟢 低 | haiku | 简单文件操作、格式转换、搜索汇总 |
省钱效果 :大部分日常操作(搜索、汇总、文件操作)根本不需要最强模型。Haiku 比 Opus 便宜 10 倍以上,实测 token 消耗能降 60-70%。
并发限制
同时最多跑 2 个子 Agent,4 个基本触发 API 429 限流。有依赖关系的任务(B 依赖 A 的输出)必须串行。
四、Cron 定时任务配置:精确到分钟的 AI 自动化
三种调度类型
1. at — 一次性定时(执行完自动删除)
"schedule": {"kind": "at", "at": "2026-02-23T16:00:00+08:00"}
💡 点击代码块右上角可复制
2. every — 固定间隔循环
"schedule": {"kind": "every", "everyMs": 3600000}
3. cron — cron 表达式(最灵活)
"schedule": {"kind": "cron", "expr": "0 9 * * 1", "tz": "Asia/Shanghai"}
常用 cron 表达式速查
0 9 * * * 每天早上 9 点
0 9 * * 1 每周一早上 9 点
0 9,18 * * * 每天 9 点和 18 点
*/30 * * * * 每 30 分钟
0 0 1 * * 每月 1 号零点
⚠️ 最常见踩坑 :一定要设 tz 字段!不设默认 UTC,” 早上 9 点 ” 会变成北京时间下午 5 点。
实战示例
场景 1:每天早上 9 点自动发早报
{
"name": "每日早报",
"schedule": {"kind": "cron", "expr": "0 9 * * *", "tz": "Asia/Shanghai"},
"payload": {
"kind": "agentTurn",
"message": "搜索今天的科技和 AI 领域新闻热点,整理成 5 条简报。",
"model": "haiku"
},
"sessionTarget": "isolated",
"delivery": {"mode": "announce"}
}
场景 2:每小时服务器状态巡检,挂了才通知
{
"name": "服务巡检",
"schedule": {"kind": "every", "everyMs": 3600000},
"payload": {
"kind": "agentTurn",
"message": "用 curl 检查以下服务是否在线:http://localhost:8080,http://localhost:3000。如果全部正常,不要通知我。只有挂了才通知。",
"model": "haiku"
},
"sessionTarget": "isolated",
"delivery": {"mode": "announce"}
}
五、Skill 开发入门:教 AI 学新技能
Skill 就是一个 Markdown 文件,里面用自然语言描述 ” 遇到什么情况,按什么步骤执行 ”。AI 读了这个文件就 ” 学会 ” 了一个新技能。不需要编程,任何人都能写。
SKILL.md 写法
---
name: weather
description: >
获取天气信息。触发条件:用户问天气、气温、是否下雨、穿什么衣服、需不需要带伞、今天出行等问题时触发。---
# IP 地址查询
## 步骤
1. 从用户消息中提取 IP 地址
2. 调用 web_fetch 访问:`http://ip-api.com/json/{IP 地址}?lang=zh-CN`
3. 解析返回的 JSON 数据
4. 按格式回复用户
## 输出格式
🌐 IP 查询结果:{IP}
📍 位置:{country} {regionName} {city}
## 错误处理
- API 返回 `"status": "fail"` → 告诉用户 "可能是内网 IP 或无效地址"
- 网络超时 → 告诉用户 "请求超时,请稍后重试"
最佳实践 :
- 先手动跑通再写 Skill
- 步骤要具体,不要写 ” 调用 API 获取数据 ”,要写 ” 调用 web_fetch 访问 https://…”
- 错误处理必须写,不写 AI 遇到异常会瞎猜
- description 要覆盖用户各种可能的表达方式,中英文都写
六、多渠道接入(Discord / Telegram)
Discord 接入步骤
- 打开 Discord Developer Portal
- “New Application” → 起名 → Create
- 左侧 “Bot” → “Reset Token” → 复制 Token(⚠️ 只显示一次!)
- 开启 MESSAGE CONTENT INTENT(90% 新手踩坑的地方!)
- 左侧 “OAuth2” → 生成邀请链接 → 授权 Bot
- 配置 openclaw.json
⚠️ MESSAGE CONTENT INTENT 不开,Bot 就收不到消息内容 。在 Bot 页面往下滚到 “Privileged Gateway Intents”,开启:
- ✅ PRESENCE INTENT
- ✅ SERVER MEMBERS INTENT
- ✅ MESSAGE CONTENT INTENT ← 最重要
Telegram 接入步骤
- Telegram 搜索 @BotFather → /newbot → 按提示操作 → 复制 Token
- Telegram 搜索 @userinfobot → 发任意消息 → 获取你的用户 ID
- 配置 openclaw.json
多渠道格式适配
| 格式 | Discord | Telegram | |
|---|---|---|---|
| Markdown 表格 | ✅ | ❌ | ❌ |
| 代码块 | ✅ | ✅ | ❌ |
| 粗体 / 斜体 | ✅ | ✅ | ✅ |
| Emoji Reaction | ✅ | ✅ | ✅ |
在 AGENTS.md 里加上格式适配规则(AI 会根据消息来源自动适配):
## 平台格式
- **Discord/Telegram**: 可以用 markdown,代码块用 ``` 包裹
- **WhatsApp**: 不支持表格,用 bullet list 代替
- **Discord**: 多链接用 <> 包裹防止预览刷屏
七、进阶配置 Checklist(按优先级排序)
前 5 项不到 1 小时,就能感受到明显提升:
- ✅ 配置 AGENTS.md(Every Session + Memory + Safety)
- ✅ 开启 memoryFlush(防止失忆)
- ✅ 配置 memorySearch(用 SiliconFlow bge-m3 免费 embedding)
- ✅ 在 AGENTS.md 里加上子 Agent 模型分级策略
- ✅ 配置 HEARTBEAT.md(自动维护记忆)
- 配置 Cron 定时任务(每日早报、周报等)
- 多渠道接入(Discord / Telegram)
- 开发自定义 Skill
常见问题 FAQ
Q:AGENTS.md 放在哪里?
A:workspace 根目录,和 SOUL.md、USER.md 同级。路径通常是 ~/.openclaw/workspace/AGENTS.md。
Q:memoryFlush 开了还是失忆怎么办?
A:检查 softThresholdTokens 是否设够大(推荐 4000)。对话特别关键时,手动 /compact 重点保留 XXX 指定保留内容。
Q:Cron 任务设了但没触发?
A:99% 是时区问题——没设 tz 字段导致按 UTC 执行。另外检查 delivery.mode 是否设为 "announce",不设任务静默执行,你不会收到通知。
Q:Skill 写好了但 AI 不触发?
A:检查 description 是否包含了你实际的触发词。中英文触发词都要写,比如 ” 查 IP” 和 ”IP lookup” 都加上。
Q:Discord Bot 在线但收不到消息?
A:几乎肯定是 MESSAGE CONTENT INTENT 没开。回到 Discord Developer Portal → Bot → Privileged Gateway Intents → 开启 MESSAGE CONTENT INTENT → Save Changes。
Q:子 Agent 怎么省钱?
A:在 AGENTS.md 里明确模型分级策略:搜索汇总用 Haiku,写代码用 Sonnet,复杂推理才用 Opus。大部分任务都是 Haiku 级别,实测 token 消耗降 60-70%。
关于点小安 :点滴安全网站小编,专注 AI 安全攻防技术分享。
来源 :TuBaiBai(微信公众号)
声明 :本文基于公开教程整理,观点仅供参考,不构成技术建议。
关注点滴安全(dripsafe.cn),获取更多 AI 安全资讯!