我以前写过一小段 tampermonkey脚本,作用是匹配当前的URL,如果是 zlib 的话,那么自动登录。但是众所周知的,近几年 zlib 的地址经常变化,所以我就要隔一段时间改代码里的匹配地址。
想把代码改成根据页面识别,要查不熟悉的语法和小的技术解决方法,懒得动弹。今天突然想到,AI如此发达,为什么不让他来写呢。于是就有了以下对话。
一共进了了6轮对话,还包括我给错信息1次,补充了需求1个。
第1句

AI生成了程序框架,我大致扫了一眼,对。其实他说什么不重要,我只是想利用他说话的这段时间去复制 zlib的特征 和 cookie的key和value。
他在输出的文字结尾提醒我,需要我提供的信息。其中第3点是我没有想到要提供的,但是确实是我的需求之一——我对按钮的位置有明确的期待,但是我没有想过要告诉AI。

第2句

以上第2点,这两个 cookie 的值可以在浏览器中查到。如果你有账户,先登录,然后F12 | Storage | Cookies。如果你没有账户,去申请一个。

这两个 cookie,是几年前有个 zlib 的镜像站点,站主开了个淘宝水果店。他说,水果店也是我开的,但是你爱买不买,并不需要非得买才能使用镜像。这位站主给出了这两个 cookie。
第3 句
我把AI给出的代码到 tampermonkey 中,运行,报 bug 现象。

第4句

第1点,可能为了调试方便,AI给出的代码在登录成功以后弹出个对话框,“alert('登录信息已设置,即将刷新页面'); ”这对人类程序员也是常规做法。我不喜欢被打断工作流程,所以要求AI去除对话框。我懒到……没有自己去注释,加两个斜线的工作量而已。
第2点不刷新。AI生成的代码,非常贴心地在登录以后刷新了一下。这是我没有想到的细节。不过, zlib 有点特殊,手动登录以后跳转到了另一个URL,而不是原地刷新。我把这个地址给了AI。事实上,给了个错误的地址。
第5句
我修正了上一句中的URL错误。

以上两句,只是注释加两条斜线,把
location.reload() 改为 location.href,
把 location.href 的值改一下。我也懒得亲自动手。
第6句

AI生成新的代码,我粘贴到 tampermonkey。
这样,我在 firefox | vimmium 插件运行时按 f 键,浏览有如下显示。

我按 QA 完成登录。不需要动鼠标,也不需要细心把鼠标指到 LOGIN 这么小的面积上。
通过以上6句话,我的预期完全达到。期间,我没有改AI生成的代码的任何一个字母。所以也没有必要分享把代码出来,那只是产物,过程才是重要的。