先说个我踩到骨折的坑
上个月我想把手头一套自己攒的AI小工具分享给两个朋友试用。逻辑很简单:调模型、跑一段处理、把结果吐出来。
写完核心代码没花多久,卡我最久的反而是最后一步——怎么让人家用上。
我一开始的思路很自然:做个桌面版。结果光是macOS的签名和公证就折腾了小两天,Windows那边还得单独再打一次包,朋友拿到还要过一遍“未知开发者”的拦截提示。
等我把两个平台都弄利索,最初那点写代码的兴奋劲早没了。说真的,那一刻我有点怀疑人生:我做的是个AI工具,怎么大半时间在跟打包器较劲?
后来我翻V2EX,发现根本不是我一个人这样。
一个我盯了好几天的市场信号
最近“分享创造”那一片,密集出现的全是同一类东西。有人做了[Runner],把多个coding agent塞进一个本地cockpit,tab、分屏、任务事件流都有;有人做了Rovai AI,把Claude、Codex、Copilot拉进一个群聊里协作;还有人做了codex-switch,专门解决GPT额度用完切到DeepSeek、Kimi顶班的问题。
这些项目质量都不低,但我注意到一个共同点:它们几乎清一色是本地桌面应用或者本地脚本。 Runner目前支持macOS和Windows,资料里明确写了macOS版本已经签名公证、Windows版本暂时没签名;Layerive那个AI图片工作台也是发桌面安装包。
换句话说,做这类东西的人,最后都得跟“平台适配 + 签名 + 分发”这套体力活死磕一遍。
再往下看需求侧,信号更明显。有人在问怎么让Codex用上ChatGPT网页版的额度,Plus用户觉得越来越不够用又不想上100刀的Pro;有人吐槽中转站掺水、交付的任务支离破碎。
说白了,大家真正想要的不是又一个要装的客户端,而是**一个能直接用、能直接调模型、随手就能分享出去的东西**。
这两件事叠在一起,我的判断是:本地桌面版是重资产路线,适合追求原生体验和直接读本机文件的场景;但如果你只是想快速验证一个AI点子、让别人点开链接就能试,桌面App这条路的分发成本被严重低估了。
我换了个思路:能跑在浏览器里就别装客户端
想通这点之后,我把同一套逻辑重做了一遍,这次一行打包代码都没写。
核心处理逻辑我用Python在线运行搞定,模型调用走平台的模型中心API,前端界面用一个HTML页面,通过HTML在线运行直接跑起来托管。整个东西没有安装包,没有签名,没有“Windows和Mac各打一次”,做完发个链接,朋友在手机上都能点开试。
这里我想强调一个反常识的地方:很多人默认“AI智能体 = 一个装在电脑里的agent”,所以一上来就奔着桌面版去。但如果你把AI智能体开发拆开看,真正有价值的是那套编排逻辑——什么时候调哪个模型、拿到结果怎么处理、怎么把多个步骤串起来。
这部分完全可以放在服务端跑,用API端点托管暴露成一个接口,前端只是个壳。壳做成网页,分发成本直接归零。
当然它有边界,我得说清楚:本机文件的深度读写、多个本地CLI直连你自己的账号这种(就像Runner那种直接用本机Claude Code / Codex的玩法),Web方案确实替代不了。所以这不是说桌面版没用,而是**先用Web版把点子验证出去,等真需要原生能力再考虑重做**,别一上来就背着打包这口锅跑。
具体我是怎么搭的
拆成几块说,方便你照着复现:
**第一块,模型调用集中在后端。 ** 我没有在前端写任何密钥,所有对模型的请求都走服务端的Python逻辑,再通过平台模型中心API去调已接入的模型。
这样密钥不落到浏览器,也方便统一改prompt和切换模型——有点像资料里codex-switch想解决的“切供应商”问题,只不过我把切换逻辑放在自己的后端里控,而不是去改本地会话元数据。
**第二块,状态和数据用SQLite存。** 智能体多跑几轮就会产生历史记录,我直接用平台的SQLite数据库存会话和结果,需要看表结构时用数据库编辑功能直接翻,不用另外起一套存储。
**第三块,需要“记忆”的部分交给LanceDB。** 如果你的智能体要检索一批参考资料再回答,把这些内容灌进LanceDB知识库,让它按语义召回,比每次把一大段文本硬塞进prompt省事也省额度。
**第四块,前端就是一个HTML页面。 ** 输入框、结果展示、几个按钮,够用就行。
整个前端托管在平台上,改完刷新就是最新版。
最后把项目发布出去,链接直接分享,需要的话平台也支持托管和变现。我个人的体感是,从想法到能发给别人试,这条路比做桌面版短太多了。
至于具体能省多少时间、能不能靠它赚到钱,这个因人因项目而异,我这里标个待核实,别拿我一句话当结论。
一个我本以为会翻车、结果没有的地方
动手前我最担心的是性能:把逻辑挪到线上跑,会不会又慢又不稳?实际用下来,对我这种“调模型 + 轻量处理 + 出结果”的场景完全够用。
真正的耗时大头本来就在模型推理那一步,跑在本地还是线上区别不大,反倒是省掉了每次改完都要重新打包的时间。
当然我样本有限,重计算、长时间任务这类场景我没压测过,不敢替你打包票。
如果你也想试,今天就能做的一件小事
别急着开新项目。先找一个你已经写过、但一直卡在“懒得打包所以没分享出去”的AI小脚本,把它的核心逻辑抽出来,用Python在线运行跑通,再套一个最简单的HTML页面。
目标只有一个:生成一个能发给朋友点开的链接。
跑通这一个,你大概就会跟我一样,重新算一遍“到底什么东西值得做成桌面版”这笔账。