给 OpenClaw 写了 19 个技能,分六类盘一下

给 OpenClaw 写了 19 个技能,分六类盘一下OpenClaw 是一个本地跑的 AI Agent 框架 支持自定义技能 skill 每个技能就是一组脚本加一份描述文档 SKILL md Agent 根据任务上下文自动选择合适的技能来执行 用了一段时间之后 发现很多重复性的工作可以沉淀成技能 系统监控 日志清理 日报生成 代码 diff 分析 需求校验 逐渐写了 19 个 按用途分成六类 active maintenance

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



OpenClaw 是一个本地跑的 AI Agent 框架,支持自定义技能(skill)。每个技能就是一组脚本加一份描述文档(SKILL.md),Agent 根据任务上下文自动选择合适的技能来执行。

用了一段时间之后,发现很多重复性的工作可以沉淀成技能:系统监控、日志清理、日报生成、代码 diff 分析、需求校验……逐渐写了 19 个,按用途分成六类。

active-maintenance —— 每 2 小时跑一次,检查 CPU、内存、磁盘、电池、网络、温度。用 macOS 的 memory_pressure 命令拿内存压力,ping 检测网络连通性。超时 5 秒自动跳过(防止 ping 卡住拖垮整个流程)。只在异常时发飞书通知,没事不发。

session-auto-clean —— 每 5 分钟检查一次 OpenClaw 的会话文件大小。会话文件是 JSONL 格式,聊久了能涨到几十 MB,影响性能。超过阈值就自动把旧消息备份出去,只保留最近 N 条。支持回滚——备份文件保留 3 天。

backup-openclaw —— 每天 tar 打包一次 OpenClaw 的配置目录,存到 ~/Backups/openclaw/,只保留最近 3 份。

openclaw-log-cleaner —— 每天清理 gateway 和 commands 的日志文件,只保留当天的。旧日志按日期归档到子目录。

这四个技能是无脑跑的后台任务,配好 cron 之后基本不用管。写的时候踩过一个坑:active-maintenance 最早没加超时,网络断了 ping 会一直等,把整个定时任务拖住。后来每个外部命令都包了 5 秒超时才稳下来。

advanced-memory —— 最复杂的一个技能。OpenClaw 的对话历史是分散在多个会话里的,时间一长就找不到之前聊过什么。这个技能做了一个 autoDream 机制——每 24 小时自动把最近的会话记忆整合到一份 MEMORY.md 里。有三重门控:距上次整合超过 24 小时、积累了至少 5 个新会话、加锁防并发。还做了上下文压缩——当上下文窗口快满(剩余不到 13000 tokens)时自动触发压缩。

daily-retrospective —— 每天早上 6 点自动备份昨天的会话,用 LLM 生成摘要,推送到飞书。每次最多处理 20 个会话。摘要包含:做了什么、遇到什么问题、用了哪些技能、学到什么。

personal-daily-retrospective —— 和上面那个类似,但更偏个人视角:今天完成了什么、卡在什么地方、明天打算做什么。从 memory/YYYY-MM-DD.md 里提取信息,格式化输出。

记忆类技能的主要难点在 LLM 摘要的质量。早期的 daily-retrospective 生成的摘要经常是"今天处理了一些问题"这种没有信息量的话。后来在提示词里加了约束——必须包含具体的文件路径、命令、错误信息——质量才上去。

diff-test-analyzer —— 对比 master 和当前分支的代码变更,提取改动点,生成测试建议。它会把变更文件分成三类:重点关注(Service、Controller——业务逻辑集中的地方)、普通关注、可跳过(配置文件、注释修改)。对重点文件做逐行分析,标注风险等级(高/中/低),每个问题附带前后各 5 行上下文代码。

requirement-analyzer —— 分析需求文档的质量。检测模糊词("可能"、"优化"、"及时"这类),评估完整性、清晰性、一致性、可测试性,输出一个 75 分制的评分和问题清单。

requirement-consistency-check —— 最花心思的技能之一。拿到原始需求文档和代码 diff,逐条检查每个需求点是否被代码覆盖。和普通的"AI 帮我 review 代码"不同,这个技能要求每个判定都要双证据——需求文档里的原文 + 代码里的对应实现。状态分四种:已覆盖、部分覆盖、未覆盖、无法判断(区分"确定没实现"和"可能实现了但找不到证据")。

代码质量类技能写起来最费劲的地方是降低误报率。AI 做代码 review 特别容易报"可能存在空指针"、"建议加异常处理"这种正确但没用的建议。diff-test-analyzer 做了一条硬规则:只报"100% 可确定"的缺陷(比如代码明确违反了某条规则),不报"可能存在"的风险。

auto-model-switcher —— 根据任务类型自动选模型。日常对话用 glm-4.7,复杂推理升级到 qwen3.5-plus,写代码切 qwen3-coder,处理 PDF 用 kimi,写作用 MiniMax。切换时自动重启 gateway,用户无感知。任务完成后恢复默认模型。

agent-browser-2 —— 用自然语言操作浏览器。不用写 Playwright 代码,直接说"打开某个网站,点击登录按钮,填入用户名"。底层用 openclaw browser 命令,每步操作自动截图存档。沙箱隔离,防止误操作。

api-gateway —— 本地 HTTP 反向代理,用 Node.js + Express 写的。功能很简单:转发请求,注入自定义 HTTP 头,加 CORS。绑定 127.0.0.1,有 /health/config 两个管理端点。

baidu-search-pro —— 因为 OpenClaw 默认的搜索走的是 Brave Search,中文结果不好。这个技能用 Brave Search 的 region=CN、lang=zh 参数模拟百度的搜索意图,结果再用 LLM 提取摘要。如果 Brave 不可用就 fallback 到本地 CLI 工具。

auto-model-switcher 踩过一个坑:切换模型后如果 gateway 重启失败,会话就断了。后来加了重试逻辑(最多 3 次),重试全失败就自动恢复到默认模型。

macos-calendar —— 用 osascript 在 macOS 原生日历里创建事件。支持自然语言日期("明天下午三点"),默认时长 1 小时,支持 JSON 批量导入。

macos-reminders —— 批量创建 macOS 提醒事项。支持优先级(高/中/低/无,对应红/橙/黄/白),高优先级提前 1 小时告警,中优先级提前 30 分钟。

这两个技能都依赖 macOS 的 AppleScript 接口。AppleScript 的错误信息很不友好——脚本语法错了返回的是一大段 "AppleEvent timed out",完全看不出哪里有问题。调试的时候靠反复在 Script Editor 里试。

team-daily-report —— 扫描远程仓库,汇总最近 N 天所有人的 git 提交,按"项目 → 分支 → 改动 → 作者"组织输出。注意是从 origin/branch 拉取,不看本地提交。适合周一早上跑一次,看看上周团队都做了什么。

self-improving —— 监听对话中的纠正信号(比如"不对"、"not quite"),提议把你的纠正写成行为规则,存到 SOUL.md 里。每条规则需要人工审核确认才会保存。这个技能有点"元"——它不是完成某个具体任务,而是让 Agent 自己变得更懂你的偏好。

19 个技能,功能跨度很大:从 ping 一下网络到分析需求一致性。但模式是一样的——每个技能一份 SKILL.md 描述文档、一组 bash/python 脚本、一份 JSON 配置。Agent 根据 SKILL.md 里的描述决定什么时候调用。

写得最多的反而不是脚本本身,而是 SKILL.md。这份文档要写清楚技能做什么、什么时候该用、什么时候不该用、入参出参格式。写得不好 Agent 就会在错误的场景调用它,或者该用的时候不用。

19 个技能里真正每天在跑的大概 7 个(4 个系统维护 + 2 个日报 + 1 个会话清理),其余的按需触发。

小讯
上一篇 2026-04-18 10:08
下一篇 2026-04-18 10:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/267527.html