春节期间一直在外面跑,身边没电脑没法 Vibe Coding ,憋得浑身难受。Claude Code 官方最近也出了远程能力,但只支持自家工具,而我的工作状态就是开多个命令行窗口,登录不同的模型工具,一个个对话让他们 Vibe Coding 。
痛点一:模型要全
除了 Claude Code ,我还得用 Gemini CLI 和 Codex,偶尔也想直接敲几行 bash 查个日志。
痛点二:手机使用
希望手机浏览器里也能随时切屏、挂后台。
痛点三:必须有分屏
习惯了 tmux 的分屏,没分屏的终端 Agent 根本没法高效干活。
痛点四:多会话与全场景覆盖
在路上走着、或者只是个小需求时,希望能通过 Telegram 或 飞书 发条指令就完事。
VibeAround 架构图
┌──────────────────────┐
│ PC / 手机 浏览器 │
└──────────┬───────────┘
▼
┌────────────────────────────────────────────────────────────┐
│ngrok 或 Localtunnel → 固定/临时公网 URL → 本机 :5182 │
└────────────────────────────────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────┐
│ Tauri │ 拉起/管理:本地 HTTP 服务、隧道 │
└────────────────────────────────────────────────────┘
│
┌─────────┼───────┐
▼ ▼
┌─────────────┐ ┌─────────────────┐
│ Axum HTTP │ │ PTY 调度 │
│ 静态 SPA │ │ portable-pty │
│ /ws 终端 │◄─►│ tmux attach │
│ /api/* │ │ 多会话注册表 │
└─────────────┘ └────────┬───────┘
│
▼
┌─────────────────┐
│ 子进程 bash / │
│ tmux / claude │
│ code / gemini │
└─────────────────┘
技术栈
[td]技术[/td]
[td]方向[/td]
[td]描述[/td]
Bun
工具链
前端依赖与脚本( prebuild 、dev )
Rust
后端
主语言,异步运行时 Tokio
Axum
后端
Web 框架,HTTP + WebSocket 路由、JSON API
portable-pty
后端
跨平台 PTY ,会话创建与尺寸控制; Unix 下依赖 nix crate
tmux
后端 / 运行时
会话持久化,多设备 attach ,支持分屏等
Tauri
桌面
系统托盘、拉起本地服务与隧道、打开 Dashboard
xterm.js
前端
终端渲染( FitAddon 、WebGL/Canvas ),与后端 PTY 通过 WebSocket 同步
ngrok
穿透
推荐,Rust SDK 集成,可配固定域名
题外话:当初建项目时想试试新东西,就选了 Bun + Rust ,没想到和 Vibe Coding 特别搭,AI 出码质量比想象中好不少。
快速开始
[ol]
[/ol]
配置在 src/settings.json(参考 settings.json.example):隧道提供商、Telegram/飞书凭证、tmux 是否 detach 其他客户端等。
现状与说明
目前还处于非常早期的阶段:
如果你也有“人在外,心在 Vibe Coding”的需求,欢迎来踩坑:
GitHub 地址: https://github.com/jazzenchen/vibearound

