昨天有个跟了我11年的老粉说想听skill,我就给大家做个演示吧,讲讲怎么用OpenClaw把原来的代码改造成技能。这事儿其实跟我们上次做的那个养龙虾的分享是一路的,正好借着这个Case(案例)继续说。先理一下逻辑,我之前写代码的时候,OpenClaw已经知道了具体步骤了。要是不熟悉的话,得给他讲清楚首页长啥样,业务怎么走(登录、拉取帖子、点赞)。现在跟他提了个需求,让他把这个过程做成skill,定在每天早上8点半自动跑。他立马就给我安排上了,哐哐哐几下就建好了流程。 我就跟他说吧,以前写代码的时候我让他存了cookie用来免登录,这次有没有存进去?结果OpenClaw直接把旧项目里的配置文件拿来用了。这俩系统之前根本没啥联系啊,这下耦合上了可咋办?我赶紧问他怎么回事,他倒是老实承认了确实耦合了。他给了两个方案:要么彻底分开来(解耦),要么就这样用(保持不变)。既然有问题肯定得解决啊,我立马选了解耦选项。哐哐哐又弄了一通,旧项目被删掉了,改成了完全独立的skill项目。 这时候我登录服务器看了一眼,却没看到配置文件。我有点纳闷这是不是忽悠我呢?又追问了一遍要增加配置存cookie的事。这次倒是真加上去了,不过cookie存的位置有点离谱,直接放在了根目录下的data文件夹里,不在skill里面多好呢。我同意升级技能但要求把data文件夹移到skill里面去。等这个项目做完展示出来你看:目录结构清楚了,配置项也有了,流程也改好了。 为了验证是不是真靠谱,我把cookie文件给删了试了试登录。结果挺逗的,虽然删了文件还是直接登上去了没让我扫码。这是因为浏览器搞了会话持久化。为了彻底确认流程没问题,我让他再把浏览器的登陆状态清干净重新测一遍。这回好了弹出了二维码让我扫码登录。这下总算把自动化流程跑通了!但有个小插曲就是这次耗时比较长,我就追问了一下有没有重试机制(过程可能比较曲折)。 果然OpenClaw根据潜在的异常把技能给升级了:1秒、2秒、5分还有7个步骤(不过具体时间我记不太清了)。比如标签不存在怎么优化、页面没加载先等2秒重试、按钮点不成就等1秒再试、二维码超时就继续下一步。通过这些细节的完善终于把这个skill给搞定了!