VibeAround:人在外面,突然想 Vibe Coding?写了个工具远程控制家里的 Claude Code/Gemini/Codex

2 月 27 日
 jazzenchen

为什么我撸了这个工具?

春节期间一直在外面跑,身边没电脑没法 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 其他客户端等。


现状与说明

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

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

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

3797 次点击
所在节点    程序员
21 条回复
Hozoy
2 月 27 日
和龙虾相比有什么优势呢?龙虾也可以在 im 上远程驱动 claudecode 执行命令
luckyliu1926
2 月 27 日
官方支持为啥还要单独写个
jazzenchen
2 月 27 日
@Hozoy im 是顺带的,主要还是为了远程命令行,而且项目跑在开发机上,不敢装大龙虾。
jazzenchen
2 月 27 日
@luckyliu1926 用的 cli 比较杂,不只是 Claude Code ,而且我还没充值。
Musong
2 月 28 日
类似 opencode web 模式?
jazzenchen
2 月 28 日
@Musong opencode 的 web 是对话 agent 吧?我这个是纯命令行。
Orchestraa
2 月 28 日
那为啥不 ssh 回去呢,termius 就行
watzds
2 月 28 日
有点意思,单觉得又差点意思😂
bbbb
2 月 28 日
我使用 uu 远程
kneo
2 月 28 日
你要不然用浏览器基于 acp 协议弄个好点的前端,要不然像 happy 一样弄个原生的 APP ,你现在……
说真的有原生的终端谁在手机浏览器里用这玩意啊。
jahx
2 月 28 日
菜鸡搭楼问一下:你们的 CC 都咋买的?国内发行的 visa 可行?会不会封号?
nbzhaosq
2 月 28 日
试试 happycoder ? https://github.com/slopus/happy
cat1879
2 月 28 日
@nbzhaosq 我昨天试了下,安卓版还需要谷歌框架支持.web 版也没连上,放弃了
zhouhuab
2 月 28 日
claude code 已经支持了, /remote-control
justNoBody
2 月 28 日
@zhouhuab op 写了,看完再回复吧,不要这么着急
zhouhuab
2 月 28 日
@justNoBody 不好意思,太长了,只看标题
xiaohanliang
2 月 28 日
你要搜索的是不是:远程桌面
jazzenchen
2 月 28 日
@kneo acp 也是考虑过的,当时感觉要去是写一些原生的交互比如 @ / 等快捷指令会是一个坑,除非针对每个 TUI 都定制一堆交互,泛用性太弱了。

我的初衷就是在手机上去远程操作命令行,多开 TUI 让 AI 干活,浏览器是我目前感觉最轻便的接入方式,天然跨平台。原生 APP 是个好建议,未来或许会考虑加上。
crime1024
2 月 28 日
能做成 docker 嘛~ 感觉部署不简单
jazzenchen
2 月 28 日
@crime1024 在计划里,会有的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1194651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX