VibeAround:人在外面,突然想 Vibe Coding?写了个工具远程控制家里的 Claude Code/Gemini/Codex - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
jazzenchen

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

  •  1
     
  •   jazzenchen
    jazzenchen Feb 27 2681 views
    This topic created in 61 days ago, the information mentioned may be changed or developed.

    为什么我撸了这个工具?

    春节期间一直在外面跑,身边没电脑没法 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

    Supplement 1    Feb 27

    桌面浏览器:

    VibeAround web dashboard on desktop

    手机浏览器:

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

    我的初衷就是在手机上去远程操作命令行,多开 TUI 让 AI 干活,浏览器是我目前感觉最轻便的接入方式,天然跨平台。原生 APP 是个好建议,未来或许会考虑加上。
    crime1024
        19
    crime1024  
       Feb 28
    能做成 docker 嘛~ 感觉部署不简单
    jazzenchen
        20
    jazzenchen  
    OP
       Feb 28
    @crime1024 在计划里,会有的。
    raphx
        21
    raphx  
       Feb 28
    termius+tmux+tailscale 不更香
    About     Help     Advertise     Blog     API     FAQ     Solana     1090 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 91ms UTC 18:34 PVG 02:34 LAX 11:34 JFK 14:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86