乐于分享
好东西不私藏

从0到1:我的OpenClaw第一个Skills开发全记录

从0到1:我的OpenClaw第一个Skills开发全记录

从0到1:我的OpenClaw第一个Skills开发全记录

你是否也曾在网上看到各种AI编程的教程,却不知道如何真正动手实践?🤔

今天,我终于迈出了第一步——为OpenClaw开发我的第一个Skills!从需求分析到最终部署,整个过程充满了挑战和收获。如果你也想了解如何用AI辅助开发一个实用的自动化技能,那么这篇开发日记或许能给你一些启发。

在这篇文章中,我将分享:

  • • OpenClaw Skills的规划
  • • 与AI协作开发的具体流程和技巧
  • • 遇到的坑和解决方案
  • • 最终的部署和测试结果

让我们一起来看看,一个简单的想法是如何一步步变成可运行的自动化技能吧!🚀

一、需求回顾与规划

在开始开发之前,我们先来回顾一下之前分析的核心需求:

  1. 1. 定时采集:每天固定时间自动采集指定信息源
  2. 2. 智能分析:对采集的信息进行汇总和深度分析
  3. 3. 主动推送:将分析结果结合原始信息推送到聊天工具

开发工具我选择了Claude Code,确定好这些基础需求后,就可以正式开始了!💪

二、与AI协作的需求梳理

开发的第一步是告诉AI我的需求。我用了这样的开场白:

我想要创建一个新的Skills,但是我一时半会说不清楚,让我们一步一步理顺需求,然后你再开始开发

发送后,AI会提供一些建议或提出疑问。这时候,你可以结合自己的实际需求和AI的反馈,编辑一份详细的需求清单。

比如我是这样写的:

这个技能我计划拿给openclaw使用,目标是每天8点后开始抓取最新的AI相关的新闻、昨日的新闻联播内容提要和分析、根据抓取的内容和分析结果提供一些值得思考的话题。

具体抓取新闻的数量可以在md文件中配置,另外就是预留后续开发空间。比如后续可能会需要根据抓取的内容和分析的结果推荐股票代码及分析推荐理由等,但这些我们第二版再做迭代。

我希望每次迭代都不需要修改到以前版本的文件,甚至只要符合开发规则,只需要按照开发规则开发就可以完美嵌入,而不需要考虑以前开发的内容是什么。

还有就是这个过程用到的工具可以在md文件中调整,比如我现在想使用Tavily来进行新闻检索,后续可能需要换成其他的检索工具。当然每次调整使用到的工具时,我们可以开发一个工具的调用开发包一起上传到Skills的script目录,不断迭代。

我的想法大概就是这样,我需要你帮我重新理顺一下内容,比如那些是业务需求、那些是开发需求、那些是维护需求。另外我需要有一个小的数据库方便后续调整,嗯好吧很乱所以我很需要你的帮助你知道的,数据库我考虑使用Sqlite。

三、需求沟通的技巧

这里有几个沟通技巧值得分享:

首先,告诉AI这个技能的使用场景和目的。

其次,清晰地说明技能要完成的核心功能。

最后,表达对开发项目的期待,比如:

  • • 希望技能能够完美嵌入现有系统
  • • 工具选择要灵活可替换
  • • 架构要支持后续迭代

四、AI的自动化协助

沟通完需求后,事情就变得轻松多了!😊

AI会自动帮你规划开发的需求分析文件,甚至设计数据库结构。你只需要结合自己的需求确认这些文件即可。

至于数据库设计的细节,其实不需要太关注。你可以充分相信AI的底层校正能力,它会处理好技术实现的细节。

五、开发与测试

当需求文件确认好后,下一步就是让AI进行开发。

一个小建议:开发过程比较消耗Token。如果有一些便宜的模型,可以考虑切换到便宜模型进行开发,这样可以节省成本。

开发完成后,AI会自己进行测试。测试通过后,它会回复"测试完成"。接下来,你需要告诉AI把这个技能打包。

六、部署与验证

打包完成后,我们只需要把这个技能上传到OpenClaw的工作目录下的技能目录进行解压:

/root/.openclaw/workspace/skills/

解压完成后,重启OpenClaw,然后打开控制面板的技能选项,应该就可以查看到我们上传的这个新技能。

七、创建定时任务

下一步是打开OpenClaw的对话框,告诉它创建一个每天9点调用这个技能,并把任务结果发送到指定QQ号的定时任务。

一个小技巧:如果你在控制面板上发起创建请求,它会要求你提供QQ号。但如果你在QQ号里面发起创建请求,就不需要了。

创建完成后,就可以在"定时任务"选项卡里面看到新的定时任务。

如果明天QQ上能收到新闻信息的消息,那么我们的流程就算是跑通了!🎉

八、后续规划与思考

关于性能优化:因为这个技能涉及到信息采集,上下文可能会占用比较多。后续我考虑把这个定时任务单独交给一个Agent去管理,这样就避免了主流程Agent的上下文被过多占用。

关于技能扩展:这个技能只是一个测试技能。后续我打算围绕公众号专门开发一些技能。因为我现在用的一些技能不大顺手,所以我打算用一个技能把这些操作自动化。更具体的规划后面再整理。

九、硬件拓扑与环境配置

现在分享一下我本地的硬件拓扑情况:

当前硬件配置

  • • 宿主机:我日常使用的Windows电脑
  • • 第二层:在Windows上运行的Linux虚拟机
  • • 第三层:在Linux虚拟机Docker中运行的Linux系统(运行OpenClaw)

这样的架构优势

  1. 1. 文件共享:只需要把Windows的一个文件夹映射到Docker里面,OpenClaw就能操作Windows电脑上的文件
  2. 2. 隐私安全:只要不把隐私信息放在共享文件夹里,隐私安全就能得到保障
  3. 3. 快速恢复:Docker本身有快速备份和快速还原功能,只要勤备份,就不需要太担心OpenClaw运行时自己把自己玩崩的情况

十、总结与展望

好,这期就到这里!下一期我们来讲讲怎么围绕公众号去搭建一些更实用的技能吧。👋