前言

之前推荐了一个项目查看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 也不是万能的,中间也踩了不少坑,比如界面细节对不上、逻辑理解有偏差,都需要人来把关和反复调整。但整体下来,效率的提升是实打实的。