#V2EX ### [程序员] VibeAround:人在外面,突然想 Vibe Coding?写了个工具远程控制家里的 Claude Code/Gemini/Codex ## 为什么我撸了这个工具? 春节期间一直在外面跑,身边没电脑没法 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 │ └─────────────────┘ ``` --- ## 技术栈 | 技术 | 方向 | 描述 | | --- | --- | --- | | **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 出码质量比想象中好不少。 ## 快速开始 1. 克隆仓库,工作目录进 `src/`。 2. `bun install` → `bun run prebuild` → `bun run dev`。 3. 托盘菜单 → **Open Web Dashboard**;隧道 URL 与密码在终端输出。 4. 飞书需先把隧道 URL 配到开放平台「请求地址」再收消息,可以参考大龙虾 的文档。 配置在 `src/settings.json`(参考 `settings.json.example`):隧道提供商、Telegram/飞书凭证、tmux 是否 detach 其他客户端等。 --- ## 现状与说明 目前还处于非常早期的阶段: * **IM 接入**:目前 Telegram 和飞书已经打通,但只是套壳 Claude Code ,功能非常有限,后续逐步更新。 * **安全性**:由于是直接把 Shell 权限通过 AI 暴露出来,请务必保护好你的 Token 。 如果你也有“人在外,心在 Vibe Coding”的需求,欢迎来踩坑: **GitHub 地址:** https://www.v2ex.com/t/1194651#reply4