前言
之前推荐了一个项目查看ai余额的,但是需要部署在服务器上,有点麻烦。
所以就想着通过ai和rust写一个桌面应用,可以直接在本地运行,不需要部署。
技术选型
既然是桌面应用,首先要考虑的就是用什么语言写。最常见的选择无非是 Python、Electron(前端套壳)和 Rust 这几类。
一开始我也考虑过 Python,毕竟写起来快,生态也丰富,况且我电脑中也有python,但最后还是放弃了。
因为当我实现后,页面简约了但是ai对ui的美化无非就是给按钮上色,调整间距等,不能做到和web端一样,而且还会出现ui界面卡顿的情况。
技术实现
整个开发思路其实很取巧:我没有让 AI 从零开始设计,而是把原来那个 web 项目的源码直接丢给它,要求一比一复刻成桌面应用。也就是说,界面长什么样、接口怎么调、数据怎么展示,全都以原项目为准,AI 只负责「翻译」成 Rust 代码。
具体过程大概分了这么几步:
1. 复刻界面
先把原项目的前端代码发给 AI,让它照着还原。AI 会把页面结构、布局、配色转换成对应的 Rust GUI 代码。第一版出来虽然能跑,但细节上总有差距:间距不一致、颜色对不上、字体大小有出入。这一步基本靠截图反馈来解决,把程序截图和原网页截图一起发给 AI,指出哪里不对,让它改。几轮下来还原度就很高了。
2. 复刻接口调用
查余额的核心逻辑就是向各个 AI 平台发 HTTP 请求,再解析返回的 JSON。这部分直接让 AI 参照原项目的请求代码,用 Rust 的 HTTP 库重写一遍。因为是「照抄」逻辑,连请求头、鉴权方式这些细节都保持了一致,所以一次就跑通了,连调试都没花多少时间。
3. 数据展示与交互
原项目里余额列表、刷新按钮这些交互逻辑,也全部按原样复刻。AI 会自动处理异步请求的问题,比如把网络请求放到后台线程,避免界面卡死,这也算是吸取了前面 Python 版本 UI 卡顿的教训。
遇到的问题
首先就是环境的安装,因为让ai安装的话会出现卡在下载界面无法下载的情况,原因是网络问题,所以我最后让ai给我rust的下载地址和安装方式,我自己手动安装。
其次就是我一开始使用的是deepseek-v4-flash-0731,但是它没有视觉,所以看不到最后软件的样式导致和web端还是有很大差距。
最后我更换了拥有视觉的glm-5.3-flash解决了这个问题。总共花费token为50M,不算多但也不算少了。
成品
最后的成品大小为12MB,还是非常不错的。这样我就可以直接打开软件来查看ai余额了。
结语
ai越来越好用,越来越发达,连桌面应用都能做出来了。
回想整个过程,我几乎没有手写过一行代码(虽然也不会…),要做的只是把需求说清楚、把源码喂过去、把报错贴回去。
当然,ai 也不是万能的,中间也踩了不少坑,比如界面细节对不上、逻辑理解有偏差,都需要人来把关和反复调整。但整体下来,效率的提升是实打实的。