- URL: https://steipete.me/posts/2025/vibetunnel-turn-any-browser-into-your-mac-terminal
- Added At: 2025-06-17 14:09:36
VibeTunnel是开发者Peter、Armin和Mario在24小时内利用Claude Code辅助开发的开源浏览器终端工具,支持通过浏览器直接操控Mac终端且无需SSH配置。项目采用Rust、Node.js和Swift多语言后端,核心通过Unix命名管道与Xterm.js实现双向终端模拟,并借助SSE技术实现通信。团队攻克了双向交互与多语言开发挑战,验证了远程终端管理可行性,开源代码提供完整生态支持开发者快速迭代。
VibeTunnel是由开发者团队Peter、Armin和Mario在24小时内开发的浏览器终端工具,允许用户通过浏览器直接控制Mac终端,无需SSH配置。项目采用Claude Code辅助开发,开源并支持多语言后端(Rust、Node.js、Swift),瞄准远程终端管理和AI代理监控需求。
技术实现:
- 核心架构:通过Unix命名管道实现双向通信,Rust开发的轻量级二进制(约2MB)管理进程。Xterm.js负责终端模拟,支持ANSI序列渲染,但部分Unicode字符显示需优化。
- 通信层:采用Server-Sent Events(SSE),受浏览器6个并发连接限制,计划通过复用连接解决。
- 技术堆栈:前端使用Lit框架(无需编译步骤),后端提供三种实现,基于Express.js、Hummingbird(Swift)和Rust(推荐),各具优劣。
开发挑战与解决方案:
- 从asciinema单向播放转向Xterm.js前后端双向互动,解决滚动历史和动态更新问题。
- 多语言后端尝试中,Rust因高开发效率和性能(内存占用较Node低90%)被选为主要后端。Swift因Xcode工具链限制进展缓慢。
团队协作与工具:
- Claude Code辅助生成初始代码(如终端集成、系统命令),加快开发速度20倍,但需人工调试边缘案例。
- 全栈分工明确:Armin设计核心进程管理,Mario重构前端,Peter负责产品化(UI设计、分发生态整合)。
成果:
- 代码总量16,283行,涵盖Swift、Rust、TypeScript及脚本。
- 提供完整开发生态,支持快速迭代,未来计划优化输入处理和连接限制。
项目意义:通过“快速原型验证”理念,在极短时间内整合现有技术(如Xterm.js),验证终端远程访问的可行性,并作为开源工具服务开发者社区。