ARTICLE · 1303784
一个人 + WPS灵犀,我做出了一款纯离线抠图软件


第一步:先做对决策,再写代码
先聊清楚了三件事——这也是我后来总结的AI协作第一原则:第一,模型选什么?灵犀列了一串候选,我最终拍板用 MIT 许可的 BiRefNet——开源协议宽松,商用也放心,效果在开源模型里属第一梯队。既然担心隐私,就不能再用藏着license雷的模型,这是我给这个项目定的底线。
第二,效果怎么再上一档?单模型抠图在发丝边缘总有毛边。灵犀建议加两级流水线:BiRefNet先粗抠,再用ViTMatte-small只对边缘不确定带做精修。实测下来,这个“先粗后细”的组合让卷发边缘干净得几乎挑不出毛病。
第三,怎么跑得快?用 onnxruntime-directml,有独显走 GPU,单张 1.36 秒;没有独显自动回退 CPU,慢一点但人人能用。
这三个决定,没有一个涉及写代码,但每一个都决定了软件的成色。AI 时代做软件,人的价值恰恰在这些“拍板”的瞬间。

第二步:把想法变成能安装的软件
技术路线定了,接下来就是让灵犀把它“盖”出来:
引擎:两级流水线封装成本地推理引擎,模型随软件一起分发,全程不联网;
界面:PySide6 写的原生界面,支持拖拽、添加多张图片(最多一次可以添加100张,后台线程跑,界面不卡)、Ctrl+V 直接粘贴剪贴板里的图;
体验:棋盘格透明背景预览、原图/结果双栏对比、按住查看原图、深浅两套主题;
交付:PyInstaller 打包,Inno Setup 做安装器——免管理员权限、带卸载器、桌面快捷方式,和软件商店下载的软件没有任何区别。

1.0.0 那天,安装包安安静静躺在桌面上。350MB,双击,下一步,装好了。
说实话,那个瞬间比“让 AI 帮我写篇文章”的成就感强一百倍:我拥有了完全属于自己的软件,它不联网、不传图、不订阅,就住在我电脑里。
第三步:真正的功夫在后面9个版本

如果你以为AI编程就是“一句话生成软件”,那一定会失望。1.0.0 只是能用的起点,从能用到好用,我迭代了整整9个版本。
举几个让我印象最深的坑:
对勾图标“死活不出来”。 深色主题下,勾选框的对勾怎么都不显示。我盯着界面研究了半天,最后让灵犀去查 QSS 的加载逻辑才发现:样式表是模块加载时一次性格式化的,我的图标变量定义在格式化语句之后——注入进去的是空字符串。就差几行代码的顺序,功能整个失效。
勾了精修却“看不出差别”。用户视角是“这功能是不是假的”,真相是精修开关只在添加图片那一刻读取,之后切换勾选,处理完的图根本不会重跑。修复后我还真做了数值验证——精修前后约 1% 的边缘像素发生改变,最大差值 187。功能是真的,只是之前没触发。
预览“坏了”。列表第一张图的预览怎么都不刷新,根因是 Qt 的一个边角行为:首行自动选中时不发信号。修法笨但有效:数据变更后显式刷新。
每个版本交付前,灵犀都会写一份自动化回归脚本,把改动功能逐项在真实窗口里验证一遍。1.0.2 换 macOS 风格、1.0.6 改版 Windows 11 风格、1.0.7 重构成编辑器式布局、1.0.8 双栏预览、1.0.9 让精修实时生效——软件不是一次建成的,是一个版本一个版本“长”出来的,长一寸,验一寸。
写在最后:你缺的不是技术
回头看,我在这个项目里做的事其实只有三件:
提出需求、做出关键决策、验收结果。
模型选型的候选是灵犀列的,但“只用开源可商用”是我拍的板;代码是它写的,但“批量处理时界面不能卡”是我提的。整个过程,我没读懂过一行 ONNX 源码。但我理解了抠图的技术结构、许可证的风险、桌面软件的交付形态。
AI 补上了我的技术短板,
而我补上了 AI 替代不了的部分:
判断和品味。

以前,一个想法和一款软件之间,隔着一个开发团队。现在,它们之间可能只隔着一次对话。如果你也有一个“实用工具”点子——别再只是想想了,从写下第一句需求开始,和WPS灵犀一起聊出你人生中第一个属于自己的软件吧。















































































