ARTICLE · 1084309
树莓派又访问不到了?AI 直接做了个工具,让我别小事都去烦它

前几天给树莓派挪了个位置,重新通电。
ssh 敲上去,回来一行 refused。
不是坏了,是 IP 又变了。路由器重新分配地址,全凭运气。于是只能扫一遍局域网,在一排乱码一样的 MAC 地址里,把树莓派认出来。
一次两次还好,每周来一次,就挺烦。
我想要的东西很简单:一个窗口,点一下按钮,家里连网的设备一条条列出来,树莓派那行标个颜色,双击复制 IP,粘贴,回车,结束。
为了这个小工具专门去学一遍 SwiftUI?我懒。所以我把它交给了 WorkBuddy。

从前五步,现在三步
01我只负责说清楚要什么
我把要求说清楚,顺手丢过去两张界面设计稿。第一版就能跑:窗口开得起来,按钮有反应,表格里出现了设备。
然后是三轮返工。这三次返工,是整个过程最真实的部分。
02扫了半天,只找到 1 台设备
家里连着七八个东西,表里孤零零一行。
原因:它判断设备在不在,靠的是去连对方的 22 和 80 端口。手机、电视、摄像头根本不开这些口,明明在线,却被判成不存在。
加端口,补 ping。第二轮实测,设备数从 1 台变成 8 台。
还揪出一个隐蔽 bug:读 MAC 地址时按固定长度截字符串,碰上省略前导零的写法就会截错,整行厂商信息跟着丢。这种问题肉眼几乎看不出来,得把每层输出都打到日志里才能定位。
03界面被挤坏了
表格想自动撑满剩余高度,和底部状态栏抢地方,把状态栏挤出了窗口。
修法是反过来:不给它自由,给它固定高度。
类似的坑还有几个:想要横向进度条,系统自带的是个转圈菊花;按钮想改背景色,得背景色、文字色、圆角三样拼出来。
都不是什么大问题,但没有亲手做过的人,一个都绕不过去。
04最后的样子
成品是个 700×450 的窗口,跟 Mac 自带的程序长得没差别。
打开就自动填好网段,点一下按钮开始扫,进度条实时走。表格五列:IP、MAC、厂商、设备类型、在线状态。底部一行小字:发现 N 台设备。
254
个地址一次扫完
19.6s
实测耗时(254/254)
不认识的厂商,它会老实显示一个横杠,IP 和在线状态照样给。

扫完 254 个地址,发现 7 台设备,耗时 19.6s
05做完之后,我对 WorkBuddy 改观的四点
AI 写代码不新鲜,让我意外的是这些。
第一,我全程没打开过代码编辑器。只做了三件事:说清楚要什么、看对不对、指出哪里不对。这几件事,不会写程序的人也能干。
第二,迭代按秒算。每轮重编译出新版本,快则几百毫秒。你可以像挑剔的产品经理一样提意见,不用心疼重来的成本。
第三,它把踩过的坑存下来了。做完之后,所有问题被整理成本地的可复用笔记:哪个接口用不了、用什么替代、MAC 有哪几种格式。下次再做类似的东西,它不用重新撞墙。
大多数人用 AI 是一次性的,答案拿走,过程蒸发。这次,过程留下来了。
第四,产出是真的独立 App。不到 15MB 一个文件,双击就开,不装 Node、不配环境,拷到别的 Mac 照样能用。它不是一个网页,也不是跑在别人服务器上的 Demo,它是 Dock 里的一员。
06两句提醒
这类工具只适合扫自己的网络,别拿去扫公司或别人的。新版 macOS 对本地网络多了一层授权,扫出来一片空白的话,去「系统设置 → 隐私与安全性 → 本地网络」放行即可,不需要 root 权限。
以前我觉得“让 AI 写个程序”是发朋友圈用的 Demo。这次不一样:它解决了我烦了半年的具体问题,每次用省十秒钟。
图标是系统默认的,挺丑。但现在要连树莓派,我只需要点一下。
· · ·
你家常年连着局域网的设备有几台?评论区报个数。
点个在看。下一篇想看把它做成开源双架构版,还是照着思路复刻一个你自己的?留言告诉我。