ARTICLE · 1255435
AICoding win桌面软件从100MB到0.5MB
AICoding win桌面软件从100MB到0.5MB最近使用deepseek harness做了很多有趣的项目 其中一个是植物浇水提醒程序 之前用GLM-5(好像是这个) 做的喝水提醒程序,下来要上百MB 这次想用deepseek harness做一个植物浇水提醒程序 我已经有了一个网页版的,但不能自动提醒,只能记录浇水时间,需要手动打开网页才能看到是否到了浇水时间 这次希望deepseek harness做的程序,不要大于30MB,最后做出来,居然是0.5MB,被这大小惊艳到了,上次被软件惊艳到还是everthing搜索软件 我制作植物提醒软件给的提示词: 给我做个电脑软件 可以安装到win10或者win11上 就是个植物浇水提醒程序 可以添加植物名称、浇水周期、浇水时间 然后时间到了,自动弹窗,提醒该浇水了 就是弹出的弹窗,要美观,就是那种简约美 还有这个软件,也是那种简约美的风格 进入软件后,会显示,所有的植物,它们上次浇水时间是什么时候,下次浇水时间是什么时候,浇水周期是多久 还有,这个软件的安装包,不能大于30MB 我能想到的是用rust语言,当然,你有更好的方法,用你的也可以 下来说说,deepseek harness是如何让程序安装包这么小的 deepseek harness这次做的软件,给起了名字,叫青禾 安装程序各个部分的大小: 1.主程序 Qinghe.exe: 369 KB 2.安装器增加的部分:160 KB 主程序里,真正占体积的大件只有两个: 剩下的,是界面、逻辑、资源索引和安装信息 没有浏览器内核,没有随包携带的运行环境,没有数据库,没有字体包,也没有第三方 UI 框架 真正起作用的几个点 程序运行,直接使用系统自带的 .NET 运行环境 传统做法有两种: 一种是把运行环境一起打包,叫“自带运行时”。好处是目标电脑没装.NET 也能跑,坏处是安装包会变成几十 MB 到上百 MB 另一种是只打包自己的程序,运行时直接使用 Windows 已经装好的 .NET。好处是安装包极小,坏处是目标电脑必须已经有 .NET 青禾选择了后者 Windows 10 和 Windows 11 通常已经自带 .NET Framework 4.x,所以安装包里不需要再带一份 很多桌面软件会用 Electron 做界面 Electron 的好处是前端技术通用,坏处是它会把一整个 Chromium 浏览器和Node.js 运行环境一起打包。一个简单的桌面工具,安装包也可能轻松达到80~150 MB 青禾不需要浏览器 它的窗口、卡片、按钮、圆角、阴影、提醒弹窗,全部由 Windows 原生绘制 这项技术叫 WPF WPF 是 Windows 自带的界面工具箱。它不需要额外安装浏览器,也不需要网页运行时。程序启动时,直接调用系统已有的界面能力 所以安装包里没有: Chromium Node.js WebView2 前端构建产物 一整套网页运行环境 用户拿到青禾时,只需要一个文件: 青禾-植物浇水提醒-安装包.exe 不需要额外下载 DLL,不需要解压出一堆文件夹,也不需要先装某个安装框架 这是因为安装器本身也是用 C#+ WPF 写的 这项技术叫自写单文件安装器 它的做法是:把主程序 Qinghe.exe 作为资源,嵌进安装器内部。用户双击安装器后,安装器再把主程序释放到目标目录 卸载器也不是另写的一个大程序,而是安装器换一个参数运行。安装时把它复制一份,命名为 Uninstall.exe 一套代码,安装和卸载共用 这省掉的是外部 DLL 文件夹、运行库目录和大型打包框架 植物数据有多少? 个人通常不超过几十条 如果引入 SQLite,当然也能做,但会多出数据库 DLL、建表、迁移、连接管理这些事情。对这个场景来说,成本和体积都不划算 青禾用的是 JSON 本地数据存储 植物名字、周期、提醒时间、上次浇水时间、稍后提醒状态,全部保存在一个文本文件里 它轻量、可读、容易备份,出问题也容易排查 还有一个技术不直接决定安装包大小,但决定了这个项目能不能轻量地做出来 它解决的是:没有大型开发工具,也能把 C#源码变成 exe 这项技术叫 csc.exe csc 是 Windows 自带的 C#编译器 这次没有安装 Visual Studio,也没有引入庞大的构建工具链,而是直接调用系统里的 csc,把源码编译成程序 这次deepseek harness写这个软件,确实被惊艳到了,许多曾经觉得AI不可能完成的事情,现在都可以交给AI去试试,毕竟,AI现在都能解决菲尔兹奖级别的问题,平时工作生活中的问题,绝大部分对于AI来说,都是小菜一碟。如果觉得AI做的不好,大概率是没有给AI提供好上下文,工作中许多事情,有了上下文,才有正确的答案,没有足够的上下文,AI只能猜猜猜。还有,就是没有给够AI充足的权限,只要给够权限,AI自主能做许多事情,不用事事请示,解放了自己,也解放了AI的能力。
多尺寸应用图标:约 50 KB 两秒钟的提示音:约 176 KB















































































