出门在外想看Claude Code跑到哪了?VibeTunnel把终端直接装进浏览器
出门在外,想看看 Claude Code 在服务器上跑到哪一步了——但手边只有一部手机和浏览器。传统的解法是配 SSH、做端口转发、开 ngrok,一顿操作猛如虎。更麻烦的是,每次重连 URL 还可能变,得重新记一遍。
VibeTunnel 想解决的就是这件事:把终端直接”搬进”浏览器,不需要任何转发配置。 你在 Mac 上装好它,用 vt 命令启动任意终端会话,然后在另一台设备上打开一个 URL,所有终端操作一目了然,还能直接交互。
这个场景说起来不复杂,但做深了其实有不少工程细节。VibeTunnel 目前 4,619 颗 Stars,最近一个版本是 2026-07-11 的 v1.0.0-beta.18,距离正式版一步之遥。本文来聊聊它到底怎么工作的、适合谁、以及上手需要注意什么。
把终端”装进”浏览器这件事,已经有人做过了——但各有各的局限。 WARP 把终端做成了独立产品,SSH + 端口转发是经典方案,但这些工具的共同问题是:配置成本高,或者和 AI 编程工作流割裂。VibeTunnel 的切入点很明确:服务的是那些用 Claude Code / ChatGPT / Codex 等 AI 编程工具的人,让他们在任何设备上都能”看着”AI 干活、随时接管。
核心用法:三步把终端变成网页
安装方式三选一:
# 方式一:Homebrew(macOS 最推荐)
brew install --cask vibetunnel
# 方式二:直接下载 DMG
# https://github.com/amantus-ai/vibetunnel/releases/latest
# 方式三:npm(Linux / 不想装 App 的人)
npm install -g vibetunnel
启动服务后,访问 http://localhost:4020 就能看到 Dashboard,里面列出了所有活跃的终端会话。想让某个命令的执行过程在浏览器里可见,只需要加一个 vt 前缀:
vt pnpm run dev
vt python train_model.py
vt claude --dangerously-skip-permissions
自定义别名也自动穿透,所以 vt gs(git status)这类操作完全正常。
想开一个可交互的 shell?
vt --shell
远程访问:Tailscale 是最推荐的方案
本地访问只是基础,VibeTunnel 的真正价值在于随时随地接管终端。官方支持六种远程访问方式:
- Tailscale(推荐):最安全,流量不暴露在公网,只需在同一 tailnet 下的设备间通信。VibeTunnel 自动检测 Tailscale 配置,支持”私有模式”(仅 tailnet 内访问)和”公开模式”(Tailscale Funnel,暴露到互联网但走 HTTPS 加密)。
- ngrok:适合快速分享,一次一链接,免费账号每次重启 URL 会变。
- Pinggy:支持持久子域名,适合需要固定链接的场景。
- Cloudflare Quick Tunnel:无需注册,用
cloudflared tunnel --url http://localhost:4020即可生成临时公开 URL。 - Pangolin:商业托管方案,Newt 客户端负责穿透。
- 直连局域网:同一网络下直接 IP + 端口访问,需配置认证。
Tailscale 的集成是笔者认为最有诚意的地方。 不同于 ngrok 需要在远程设备上装代理,Tailscale 的方式是让你的 Mac 和手机/平板处在同一个加密 VPN 网络里,访问地址类似 https://my-mac.tailnet-name.ts.net:4020,全程加密,不暴露到公网,也不需要配端口转发。对有多设备的人来说,这套体验是最无缝的。
Git Follow Mode:解决 Agent 工作流的一个真实痛点
VibeTunnel 还有一个对 AI 编程来说很实用的功能——Git Follow Mode。
AI 编程工具经常在 Git worktree 里工作(防止污染主仓库),但这样一来,你本地 IDE/Xcode 仍然停留在主分支,服务器却在 worktree 里切换分支,两边不同步。每次 agent 切了分支,你得手动去 IDE 里 checkout。
Follow Mode 解决的是这件事:你在主仓库运行 vt follow,当 agent 在 worktree 里切换分支时,VibeTunnel 会自动在主仓库执行相同的 checkout,IDE 和服务器保持同步。原理是在 worktree 里注册 Git hooks(post-commit、post-checkout),检测到分支变化后驱动主仓库同步。
# 在 worktree 中启用
vt follow
# 切到主仓库 follow 某分支的 worktree
vt follow feature/new-api
# 停用
vt unfollow
实测这个功能在用 Claude Code 做多任务开发时非常顺手——不需要来回切窗口,也不用担心服务器和本地状态不一致。
适合谁 / 不适合谁
适合:
- 用 Claude Code、Cursor、Windsurf 等 AI 编程工具的 macOS 用户(Apple Silicon)
- 需要在手机/iPad 上临时看一眼服务器状态的开发者
- 有 Tailscale 多设备网络、需要安全远程访问终端的人
- 团队需要临时分享终端会话做 code review 或 debug
不适合:
- Windows 用户(目前不支持,可以关注 issue #252)
- Intel Mac 用户想用原生 App(原生包仅支持 Apple Silicon M1+,但 npm 包可以跑在 Intel Mac 上,只是没有菜单栏集成)
- 需要稳定正式版的人(目前最新仍是 beta,v1.0.0 尚未发布)
- 完全不想碰终端配置、期待开箱即用的人
上个月刚把 Zig forwarder 换成 Rust,性能更稳
最近一个 release(beta.18,2026-07-11)值得关注:团队把终端转发层从 Zig 换成了 Rust,并固定了 Cargo toolchain。这是 beta.16 那一大批修复之后的一次重要的底层重构,解决的是打包体积和 glibc 兼容性问题。beta.16 的 changelog 里有超过 60 条修复和改进,涵盖安全性(Unix socket 帧大小校验)、iOS 移动端 UI、Tailscale CLI 稳定性、CJK 输入法支持等——说明团队在认真迭代,不是一个半成品。
可执行的下一步
- 如果你有 Apple Silicon Mac:花 3 分钟装上 VibeTunnel(
brew install --cask vibetunnel),跑一下vt --shell,在浏览器里打开http://localhost:4020体验一下基础功能是否正常。 - 如果你已经在用 Tailscale:在 Mac 和手机上都装好 Tailscale,登录同一个账号,在 VibeTunnel 设置 → Remote Access 里切换到 Tailscale 模式,在手机上试一下访问自己的终端。
- 如果你用 Claude Code 做多任务开发:在一个 Git worktree 里跑
vt follow,然后在另一个 worktree 里切换分支,看主仓库是否自动同步。
VibeTunnel 不是一个泛泛的”远程终端”工具。它的核心用户画像很清晰:有 AI 编程工作流、需要在移动设备上监控长时任务、不想折腾 SSH 配置的 macOS 开发者。 背后团队里有 Peter Steinberger(iOS 开发圈知名)、Armin Ronacher(Flask 作者)和 Mario Zechner(badlogicgames),工程底子是扎实的。当前 4.6k Stars、持续高频迭代,是近期值得关注的一个工具。
官网:https://vt.sh
项目地址:https://github.com/amantus-ai/vibetunnel
文档:https://docs.vibetunnel.sh
Discord 社区:https://discord.gg/3Ub3EUwrcR
评论区
登录后可评论。