手把手教你安装和玩转 OpenClaw 的 self-improving-agent 技能
让你的 OpenClaw 像人一样记错、反思、长记性

用一句话概括:
让 OpenClaw 变成一个会记错、反思、做笔记的 AI,而不是“每次见你都像第一次”的失忆患者。 🚀
很多同学装上 self-improving-agent 之后,界面里能看到技能,但日志一个字都不写,AI 一副“我已经记住了”的样子,其实啥都没干。🫠
这篇文章,就是带你从零到一完整跑通:安装、配置、验证、日常使用和进阶晋升机制。
一、先搞清楚:self-improving-agent 到底在干嘛?🧠
如果只用一句话形容这个技能:
让 AI 把每次犯错、被纠正、遇到新知识的过程写进日志,下次自动参考,越用越聪明。
你可以把它理解成给 AI 加了三本“学习小本本”:
LEARNINGS.md:被你纠正、填补知识空白、发现更好的做法。ERRORS.md:命令失败、报错、接口挂了。FEATURE_REQUESTS.md:你说“能不能也帮我做这个”的那些愿望单。
然后大致流程是这样:
你纠正 AI → AI 写日志到
.learnings/→ 你定期挑有价值的内容晋升到AGENTS.md/SOUL.md/TOOLS.md→ 以后每次新 session 开始,AI 自动读这些文件,不再犯同样的蠢。
二、安装前先确认:技能到底装上没?🔍
很多人第一坑:UI 里显示“已安装”,但终端找不到目录。
我们先用最朴素的方式确认技能是不是好好待在系统里。
在你安装了OpenClaw的终端里运行:
ls ~/.openclaw/skills/self-improving-agent/
# 如果报错 “No such file or directory”,说明这个路径没有我的真实情况是,这个路径是空的,但在 ~/.openclaw/skills/skills/ 下面,有这俩东西:
ls ~/.openclaw/skills/skills/
self-improving-agent skill-vetteradministrator@oklife:~/.openclaw/skills$ ls ~/.openclaw/skills/skills/
self-improving-agent skill-vetter
administrator@oklife:~/.openclaw/skills$ 也就是说:
OpenClaw 把第三方技能放在了 ~/.openclaw/skills/skills/self-improving-agent/ 这个看起来有点多此一举的路径里。
只要你在这里能看到 SKILL.md 等文件,就说明技能已经安装成功。
三、如果没装成功,怎么重新安装?🧩
如果你那边一开始确实没有这个目录,可以用下面任一方式安装(按推荐顺序择一即可):
方式一:这个技能本身就挂在 ClawHub 上,标准安装命令用 clawdhub 安装(推荐):
如果装过ClawHub,可以跳过此步骤。如果没装过ClawHub,先安装:
npm install -g clawhub实操:
administrator@oklife:~$ npm install -g clawhub
added 34 packages in 11s
20 packages are looking for funding
run `npm fund` for details
administrator@oklife:~$ 安装 self-improving-agent:
clawdhub install self-improving-agent实操:我把这些基础技能放到 ~/.openclaw/skills/ 这个“实例级共享目录”,同一个 OpenClaw 实例里的多个 agent 都可以看到使用。
administrator@oklife:~/.openclaw/skills$ clawdhub install self-improving-agent
✔ OK. Installed self-improving-agent -> /home/administrator/.openclaw/skills/skills/self-improving-agent
administrator@oklife:~/.openclaw/skills$ 方式二:用 OpenClaw 自带命令(推荐)
openclaw skills install self-improving-agent如果你的环境里是通过 clawhub 安装,也可以用:
npx clawhub@latest install self-improving-agent方式三:git clone 手动安装
git clone https://github.com/peterskoett/self-improving-agent.git \
~/.openclaw/skills/self-improving-agent方式四:下载 zip 解压到技能目录
mkdir -p ~/.openclaw/skills/self-improving-agent
cd ~/.openclaw/skills/self-improving-agent
wget "https://wry-manatee-359.convex.site/api/v1/download?slug=self-improving-agent" \
-O self-improving-agent.zip
unzip self-improving-agent.zip
rm self-improving-agent.zip装完后,你应该能在 ~/.openclaw/skills/skills/self-improving-agent/ 看到 SKILL.md 等文件。
四、关键基础设施:.learnings 日志目录 🧾
技能装好了,不代表它会自动开始记日记。
你得先给它准备好三本“练习册”。
在你的 OpenClaw workspace 里创建 .learnings 目录和三份日志文件:
mkdir -p ~/.openclaw/workspace/.learnings
cat > ~/.openclaw/workspace/.learnings/LEARNINGS.md << 'EOF'
# Learnings
Corrections, insights, and knowledge gaps captured during development.
**Categories**: correction | insight | knowledge_gap | best_practice
***
EOF
cat > ~/.openclaw/workspace/.learnings/ERRORS.md << 'EOF'
# Errors
Command failures and integration errors.
***
EOF
cat > ~/.openclaw/workspace/.learnings/FEATURE_REQUESTS.md << 'EOF'
# Feature Requests
Capabilities requested by the user.
***
EOF实操:
administrator@oklife:~/.openclaw/skills$ mkdir -p ~/.openclaw/workspace/.learnings
cat > ~/.openclaw/workspace/.learnings/LEARNINGS.md << 'EOF'
# Learnings
Corrections, insights, and knowledge gaps captured during development.
**Categories**: correction | insight | knowledge_gap | best_practice
---
EOF
cat > ~/.openclaw/workspace/.learnings/ERRORS.md << 'EOF'
# Errors
Command failures and integration errors.
---
EOF
cat > ~/.openclaw/workspace/.learnings/FEATURE_REQUESTS.md << 'EOF'
# Feature Requests
Capabilities requested by the user.
---
EOF
administrator@oklife:~/.openclaw/skills$ 执行完再确认一下:
ls ~/.openclaw/workspace/.learnings/
# 你应该看到:ERRORS.md FEATURE_REQUESTS.md LEARNINGS.md实操:
administrator@oklife:~/.openclaw/skills$ ls ~/.openclaw/workspace/.learnings/
ERRORS.md FEATURE_REQUESTS.md LEARNINGS.md此时你的 workspace 大致长这样:
~/.openclaw/workspace/
├── AGENTS.md ← 稍后要改这个,超关键
├── SOUL.md
├── TOOLS.md
├── MEMORY.md 或 memory
└── .learnings/
├── LEARNINGS.md
├── ERRORS.md
└── FEATURE_REQUESTS.md
五、让 AI 真正“记住要记的”:修改 AGENTS.md 🧩
装技能最大的误区是:
“我技能都装好了,为什么它还是不记东西?”
原因很简单:
OpenClaw 每次新 session 开始,只会把 AGENTS.md 里的内容塞进模型上下文。
如果你不在 AGENTS.md 里告诉它“遇到错误要记日志”,模型就会把这个技能彻底忘在角落里。
在终端里追加一段“工作流说明”到 AGENTS.md:
cat >> ~/.openclaw/workspace/AGENTS.md << 'EOF'
## Self-Improvement Workflow
When errors or corrections occur, log them immediately:
| Situation | Action |
|-----------|--------|
| Command/operation fails | Log to `.learnings/ERRORS.md` |
| User corrects you | Log to `.learnings/LEARNINGS.md` (category: correction) |
| Knowledge was outdated | Log to `.learnings/LEARNINGS.md` (category: knowledge_gap) |
| User wants missing feature | Log to `.learnings/FEATURE_REQUESTS.md` |
| Found better approach | Log to `.learnings/LEARNINGS.md` (category: best_practice) |
After logging, review if broadly applicable, promote to:
- Behavioral patterns → `SOUL.md`
- Workflow improvements → `AGENTS.md`
- Tool gotchas → `TOOLS.md`
Log files location: `~/.openclaw/workspace/.learnings/`
EOF实操:
administrator@oklife:~/.openclaw/skills$ cat >> ~/.openclaw/workspace/AGENTS.md << 'EOF'
## Self-Improvement Workflow
When errors or corrections occur, log them immediately:
| Situation | Action |
|-----------|--------|
| Command/operation fails | Log to `.learnings/ERRORS.md` |
| User corrects you | Log to `.learnings/LEARNINGS.md` (category: correction) |
| Knowledge was outdated | Log to `.learnings/LEARNINGS.md` (category: knowledge_gap) |
| User wants missing feature | Log to `.learnings/FEATURE_REQUESTS.md` |
| Found better approach | Log to `.learnings/LEARNINGS.md` (category: best_practice) |
After logging, review if broadly applicable, promote to:
- Behavioral patterns → `SOUL.md`
- Workflow improvements → `AGENTS.md`
- Tool gotchas → `TOOLS.md`
Log files location: `~/.openclaw/workspace/.learnings/`
EOF
administrator@oklife:然后用 tail 确认追加成功:[file:1]
tail -20 ~/.openclaw/workspace/AGENTS.md只要你能看到 Self-Improvement Workflow 这一段,就说明这步 OK 了。
实操:
administrator@oklife:~/.openclaw/skills$ tail -20 ~/.openclaw/workspace/AGENTS.md
This is a starting point. Add your own conventions, style, and rules as you figure out what works.
## Self-Improvement Workflow
When errors or corrections occur, log them immediately:
| Situation | Action |
|-----------|--------|
| Command/operation fails | Log to `.learnings/ERRORS.md` |
| User corrects you | Log to `.learnings/LEARNINGS.md` (category: correction) |
| Knowledge was outdated | Log to `.learnings/LEARNINGS.md` (category: knowledge_gap) |
| User wants missing feature | Log to `.learnings/FEATURE_REQUESTS.md` |
| Found better approach | Log to `.learnings/LEARNINGS.md` (category: best_practice) |
After logging, review if broadly applicable, promote to:
- Behavioral patterns → `SOUL.md`
- Workflow improvements → `AGENTS.md`
- Tool gotchas → `TOOLS.md`
Log files location: `~/.openclaw/workspace/.learnings/`
administrator@oklife:~/.openclaw/skills$六、启用 Hook:自动提醒“要不要记一下?” 🪝
到这一步,AI 已经知道原则上要写日志,但它可能会“忘”。
Hook 的作用就是:在每次请求里加一句类似——
“顺便想想,这次要不要写入 .learnings?”
具体做法如下(我的环境已验证可用):[file:1]
mkdir -p ~/.openclaw/hooks/self-improvement
cp -r ~/.openclaw/skills/skills/self-improving-agent/hooks/openclaw/* \
~/.openclaw/hooks/self-improvement/
openclaw hooks enable self-improvement启用后,用这个命令检查 Hook 状态:
openclaw hooks你应该能看到一行类似:
✓ ready │ 🔗 self-improvement │ ... │ openclaw-managed如果是 ready,说明 Hook 已经生效。[file:1]
实操:
administrator@oklife:~/.openclaw/skills$ mkdir -p ~/.openclaw/hooks/self-improvement
cp -r ~/.openclaw/skills/skills/self-improving-agent/hooks/openclaw/* \
~/.openclaw/hooks/self-improvement/
openclaw hooks enable self-improvement
# 验证
openclaw hooks
🦞 OpenClaw 2026.3.28 (f9b1079) — Self-hosted, self-updating, self-aware (just kidding... unless?).
Config overwrite: /home/administrator/.openclaw/openclaw.json (sha256 afca33893a02d450d73cf4dbf071be02cdfbfe53e6e1f7d097782e0d300fd448 -> 05e905de71e953e09e0f59e87b5a58e8aaac6fc026b9aeec6e36e32c740c1c01, backup=/home/administrator/.openclaw/openclaw.json.bak)
✓ Enabled hook: 🔗 self-improvement
🦞 OpenClaw 2026.3.28 (f9b1079) — I autocomplete your thoughts—just slower and with more API calls.
Hooks (5/5 ready)
┌──────────┬────────────────────────────┬───────────────────────────────────────────────────────────────────────┬───────────────────┐
│ Status │ Hook │ Description │ Source │
├──────────┼────────────────────────────┼───────────────────────────────────────────────────────────────────────┼───────────────────┤
│ ✓ ready │ 🚀 boot-md │ Run BOOT.md on gateway startup │ openclaw-bundled │
│ ✓ ready │ 📎 bootstrap-extra-files │ Inject additional workspace bootstrap files via glob/path patterns │ openclaw-bundled │
│ ✓ ready │ 📝 command-logger │ Log all command events to a centralized audit file │ openclaw-bundled │
│ ✓ ready │ 💾 session-memory │ Save session context to memory when /new or /reset command is issued │ openclaw-bundled │
│ ✓ ready │ 🔗 self-improvement │ │ openclaw-managed │
└──────────┴────────────────────────────┴───────────────────────────────────────────────────────────────────────┴───────────────────┘
administrator@oklife:~/.openclaw/skills$
七、重启 gateway,让一切配置真正加载 🔄
有些同学做到这里特别着急:
“我都配好了,为什么还不生效?”
因为 OpenClaw 的 gateway 还在用旧配置。
要让刚才改的 AGENTS.md 和新的 Hook 被加载,需要重启 gateway。
不要用 openclaw restart(这会报错),正确命令是:
openclaw gateway restart你真实执行后收到的是类似这样的输出:
Restarted systemd service: openclaw-gateway.service这就对了。
之后你只需要在 UI 里输入 /new 开一个新的 session,新会话就会自动读取更新后的配置。
实操:
administrator@oklife:~/.openclaw/skills$ openclaw restart
error: unknown command 'restart'
(Did you mean reset?)
administrator@oklife:~/.openclaw/skills$ openclaw gateway restart
🦞 OpenClaw 2026.3.28 (f9b1079) — Your config is valid, your assumptions are not.
Restarted systemd service: openclaw-gateway.service
administrator@oklife:八、第一次验证:写出你的“第 1 条学习记录” ✅
现在,到了见证奇迹的时刻。
在 OpenClaw UI 里:
- 先输入
/new开一个新 session。 - 然后对 AI 说类似这样一句中文:
“把刚才学到的这件事按 self-improving-agent 的格式写入
~/.openclaw/workspace/.learnings/LEARNINGS.md:
openclaw 重启命令是openclaw gateway restart,不是openclaw restart。”
可以更精细一点,要求它使用官方推荐结构:
用 self-improving-agent 的格式,追加一条记录到 LEARNINGS.md,字段包括:
- ID:LRN-20260330-001(或自动生成)
- Logged 时间
- Priority
- Status
- Area
- Summary / Details / Suggested Action / MetadataAI 回答完之后,回到终端查看文件内容:
cat ~/.openclaw/workspace/.learnings/LEARNINGS.md你最终看到的内容大概就是这样:
administrator@oklife:~/.openclaw/skills$ cat ~/.openclaw/workspace/.learnings/LEARNINGS.md
# Learnings
Corrections, insights, and knowledge gaps captured during development.
**Categories**: correction | insight | knowledge_gap | best_practice
---
## [LRN-20260330-001] correction
**Logged**: 2026-03-30T16:00:00+08:00
**Priority**: medium
**Status**: pending
**Area**: config
### Summary
openclaw 重启命令是 openclaw gateway restart,不是 openclaw restart
### Details
执行 openclaw restart 报错:unknown command 'restart',正确命令是 openclaw gateway restart
### Suggested Action
以后需要重启 openclaw 时直接用 openclaw gateway restart
### Metadata
- Source: user_feedback
- Tags: openclaw, gateway, cli
---
administrator@oklife:~/.openclaw/skills$ 看到这一幕,说明整个技能链路已经彻底通了。🎉
九、日常到底怎么用?几种典型场景 🧑🏻💻
下面这些话术你可以直接复制粘贴到 OpenClaw 里用:
1. 当 AI 给错命令或解释
“你刚才的命令是错的,正确写法是 XXX。
请按 self-improving-agent 的日志格式,把这次纠正记录到LEARNINGS.md。”
2. 当某个 API 或命令已经过时
“你刚才用的接口已经过时了,当前推荐使用的是 YYY。
把这条信息作为knowledge_gap类型写入LEARNINGS.md。”
3. 当你提了一个新需求但它暂时做不到
“把我刚刚提到但你暂时做不到的功能,记录为
FEATURE_REQUESTS.md里的一个新条目。”
4. 当命令真实执行失败(带报错信息)
“刚才 run 那个命令失败了,错误信息是:……
用 self-improving-agent 的格式,把这次失败记录到ERRORS.md,并附上错误日志。”
你还可以更直接一点:
“不要只是说‘我已经记录了’,请通过 bash 实际把日志追加到
~/.openclaw/workspace/.learnings/LEARNINGS.md文件。”
这样可以避免 AI“口头记忆”,不落地的情况。
十、晋升机制:从“日记”变成“规则” 🧱
光记日志,还不算真正“变聪明”。
真正厉害的地方在于:把有共性的经验,从日志文件晋升到永久配置文件。[file:1]
一般来说,你可以按照内容类型,晋升到不同文件:[file:1]
| 内容类型 | 适合放哪儿 | 示例 |
|---|---|---|
| 行为习惯、沟通风格 | SOUL.md | 回答尽量用中文,少废话,多示例 |
| 工作流程、自动化 | AGENTS.md | 长任务先拆步骤,再逐步执行 |
| 工具的坑与注意事项 | TOOLS.md | 重启用 openclaw gateway restart |
晋升的操作可以让 AI 帮你做:
“帮我把这条‘openclaw 重启命令’的学习,总结成一条简洁规则,写入
TOOLS.md,并把原日志里的 Status 改成promoted。”
让 AI 产出类似:[file:1]
## OpenClaw Gateway 重启
- 使用 `openclaw gateway restart` 重启 gateway,而不是 `openclaw restart`。然后在原始 LEARNINGS.md 记录里补上:
**Status**: promoted
**Promoted**: TOOLS.md下次新 session 开始,OpenClaw 会自动把 TOOLS.md 的内容塞进上下文,AI 自然就不会再犯同一个错。

十一、顺带解决一个实际需求:让它永远记得“默认用中文” 🈶
你提过一个非常实用的偏好:
“我要让 AI 永远记住:除非特别说明,我们用中文交流。”
这类“沟通偏好”,最适合写进 SOUL.md。
做法同样是一句话搞定:
在 OpenClaw 里对 AI 说:
“把以下规则写入
~/.openclaw/workspace/SOUL.md文件末尾,用 bash 追加,实际执行写入不要只口头回答:
‘除非用户特别说明,始终用中文回复和交流。’”
执行完后,在终端验证:
tail -5 ~/.openclaw/workspace/SOUL.md如果能看到这条规则,说明这个偏好已经永久生效,每次新 session 都会遵守。
administrator@oklife:~/.openclaw/skills$ tail -5 ~/.openclaw/workspace/SOUL.md
---
_This file is yours to evolve. As you learn who you are, update it._
除非用户特别说明,始终用中文回复和交流。
administrator@oklife:~/.openclaw/skills$十二、常见坑与避雷指南 ⚠️
坑 1:AI 说“已经记录了”,但文件是空的
这其实很常见。
原因:它只是在对话里说说,没真正调用文件写入工具。
解决方式:
- 明确要求“用 bash 把内容追加到具体路径”,并强调“不要只告诉我,要实际执行命令”。
- 然后在终端里用
cat检查实际文件。
坑 2:Hook 开了,但日志一个都没写
原因很可能是:
- AGENTS.md 里没写 self-improvement 的工作流指令。
- 模型太弱,对注入的指令不够敏感。[file:1]
解决方式:
- 检查
AGENTS.md是否确实加入了那段Self-Improvement Workflow。 - 在重要使用场景下,尽量使用更强的模型。
坑 3:重启命令用错
你已经亲测过:
openclaw restart:会报 unknown command 错误。- 正确的是
openclaw gateway restart。
非常适合写成你人生中的第一条 self-improving-agent 学习记录。✅
十三、如果只想背下来一个“最简记忆公式” 🧾
给你一个可以贴在心里的小公式,日常完全够用:
装好技能 → 建 .learnings 三本小本本 → 改 AGENTS.md 告诉 AI 要记 → 开启 Hook →
openclaw gateway restart→ 新 session 里不断说“这次也记一下” → 定期晋升到 SOUL / AGENTS / TOOLS。[file:1]
当你下次在终端里看到一条新的 LRN-YYYYMMDD-XXX 出现在 LEARNINGS.md 里时,你就可以很放心地说:
“好,这次 AI 真的是在认真长记性了。”
十四、这篇教程怎么用才最值?📌
实用建议:
- 建议你把本文链接直接贴到 OpenClaw 里,让 AI 自读一遍当自我说明书。
- 每次踩到新坑时,问自己一句:“这条教训,值不值得记录一次?”
- 一周抽 10 分钟,打开
.learnings/看一眼,把里面有共性的东西晋升到SOUL.md/AGENTS.md/TOOLS.md。
长期下来,你会发现:
不是“你在用一个 AI”,而是“你在跟一个一起成长的搭档”共事。
你现在最想先用 self-improving-agent,帮自己解决哪一类经常重复出现的错误或麻烦?
梦行志

