为什么我撸了这个工具?

春节期间一直在外面跑,身边没电脑没法 Vibe Coding ,憋得浑身难受。Claude Code 官方最近也出了远程能力,但只支持自家工具,而我的工作状态就是开多个命令行窗口,登录不同的模型工具,一个个对话让他们 Vibe Coding 。

痛点一:模型要全

除了 Claude Code ,我还得用 Gemini CLICodex,偶尔也想直接敲几行 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 installbun run prebuildbun run dev
  3. 托盘菜单 → Open Web Dashboard;隧道 URL 与密码在终端输出。
  4. 飞书需先把隧道 URL 配到开放平台「请求地址」再收消息,可以参考大龙虾 https://docs.openclaw.ai/channels/feishu 的文档。

配置在 src/settings.json(参考 settings.json.example):隧道提供商、Telegram/飞书凭证、tmux 是否 detach 其他客户端等。


现状与说明

目前还处于非常早期的阶段:

  • IM 接入:目前 Telegram 和飞书已经打通,但只是套壳 Claude Code ,功能非常有限,后续逐步更新。
  • 安全性:由于是直接把 Shell 权限通过 AI 暴露出来,请务必保护好你的 Token 。

如果你也有“人在外,心在 Vibe Coding”的需求,欢迎来踩坑:

GitHub 地址: https://github.com/jazzenchen/vibearound

标签: none

添加新评论