V 友好,今天想和大家分享交流一个我在实际工作中为了解决原型交付痛点而做的小工具 —— AirServe。
- 🔗 项目开源地址:https://github.com/Bing-b/AirServerApp
- 🏷️ 技术栈:PyWebView + Rust Miniserve + Vanilla CSS
🎯 我们的出发点与痛点
现在越来越多的产品经理和设计师开始借助 AI 工具(如 Cursor 、v0 、Claude 等) 或前端脚手架( Vite/Vue/React ),自己动手做出可交互的高保真原型项目。
原型做出来效果很棒,但真正拿去给领导、客户或业务方演示时,却常常面临一些问题:
- 环境依赖门槛:对方电脑通常没有 Node.js 或 Python 环境,无法通过命令行启动本地服务;
- 直接打开网页报错:如果让对方直接双击
index.html,常因浏览器安全策略引发 CORS 跨域错误,或者单页应用( SPA )点击路由直接 404 ; - 碎文件打包体验差:发一个包含成百上千碎文件的 zip 压缩包,对方经常解压不全或找不到入口;
- 演示过程不够稳健:传统命令行启动容易遇到端口被占用报错,或者演示完忘记关闭导致后台进程常驻。
我们希望有一款工具,能让产品经理的原型交付完全摆脱技术环境束缚,做到真正的“零压力演示”。
✨ 解决方案:AirServe 的设计思路
针对上述场景,AirServe 提供了两个核心维度的支持:
1. 📦 一键导出「单文件独立演示 EXE 」
这是专门为“远程发给客户/领导”设计的交付形态:
- 在界面中选定原型静态目录(包含
index.html),点击 「导出独立 EXE 」; - 程序会在几秒内将静态站点与轻量服务引擎封包成一个独立的
.exe(例如智慧园区原型演示.exe); - 接收方无需安装任何环境,直接双击该 EXE ,系统会自动分配端口并唤起默认浏览器展示原型;关闭提示框即自动停止并清理临时资源。
2. 🖥️ 极简自洽的本地管理体验
如果是产品经理自己在本地电脑上向他人现场演示:
- 直观易用:精致的毛玻璃界面,拖入目录点击即可启动,无需打开终端敲命令;
- 智能避让冲突:自由指定端口,若遇端口占用会自动毫秒级递增至空闲端口;
- 原生 SPA 支持:内置路由重定向与防缓存机制,Vue / React 等单页路由刷新不丢失;
- 生命周期安全:防多开保护(重复双击自动置顶已有窗口),关闭窗口自动销毁子进程树,绝无后台残留。
📸 界面预览

🤝 开源与交流
这个项目目前已经开源( MIT 许可证): 👉 GitHub 仓库:https://github.com/Bing-b/AirServerApp
做这个小工具的初衷,就是希望能让大家在做产品原型验证和对外展示时少一些折腾,多一份从容。
如果你在平时也有类似的原型演示或交付需求,非常欢迎试用体验!如果觉得对你有帮助,欢迎在 GitHub 上点个 ⭐️ Star 支持一下;有任何改进想法或使用中的问题,也十分欢迎在 GitHub Issue 中留言交流,期待大家的反馈!