VibeTunnel: терминал вашего Mac в браузере — управление AI-агентами откуда угодно

· 2 мин чтения
terminal remote-access ai-agents macos tools
📂 Исходный код на GitHub

Open-source инструмент (MIT), который превращает любой браузер в терминал вашего Mac: проксирует терминальные сессии в веб-интерфейс, чтобы запускать команды и следить за AI-агентами (Claude Code и другими) с телефона или чужого компьютера — без SSH и проброса портов.

VibeTunnel: терминал вашего Mac в браузере — управление AI-агентами откуда угодно

VibeTunnel — open-source инструмент (лицензия MIT), который делает ровно то, что обещает его слоган: превращает любой браузер в терминал вашего Mac. Вы запускаете команды локально через обёртку vt, а весь ввод-вывод в реальном времени проксируется в веб-интерфейс. Отсюда главный сценарий проекта: вы запустили Claude Code или другой терминальный AI-агент на домашнем Mac, ушли по делам — и проверяете прогресс агента или долгую сборку с телефона, планшета или чужого ноутбука. Без SSH-ключей, без проброса портов, без настройки.

Проект активно развивается: около 4,7 тыс. звёзд на GitHub, больше двух тысяч коммитов, есть документация на docs.vibetunnel.sh, сообщество в Discord и релизы под macOS и Linux.

Зачем это на практике

Авторы формулируют три типовых случая:

  • проверить, чем занят ваш AI-агент, пока вас нет рядом с рабочей машиной;
  • мониторить долгую сборку или тесты с телефона;
  • показать терминальную сессию коллеге без настройки SSH.

Из полезных мелочей: индикаторы активности показывают, какие сессии активны, а какие простаивают; все сессии записываются в формате asciinema, так что историю можно проиграть заново; ваши shell-алиасы и функции работают через vt без дополнительных настроек.

Установка

Есть два основных варианта.

Нативное macOS-приложение (рекомендуется для Mac): живёт в строке меню, управляет сервером и обновляется автоматически. Требуется Apple Silicon (M1+) и macOS 14+; Intel-Маки не поддерживаются.

brew install --cask vibetunnel

npm-пакет (Linux, Docker, headless-системы, Intel-Маки): тот же сервер с веб-интерфейсом, но без приложения в строке меню. Нужен Node.js от 22.12 до 24.x. Windows пока не поддерживается.

npm install -g vibetunnel

Можно и совсем без установки:

# Local server without auth
npx -y vibetunnel --no-auth

# Quick share via ngrok
npx -y vibetunnel --no-auth --ngrok

Быстрый старт

  1. Запустите VibeTunnel (иконка в строке меню или команда vibetunnel).
  2. Откройте дашборд на http://localhost:4020.
  3. Запускайте команды через обёртку vt — их вывод появится в браузере:
# Run any command and see it in the browser
vt pnpm run dev
vt npm test
vt python script.py

# Your shell aliases work as-is
vt gs
vt claude-danger

# Open an interactive shell
vt --shell

Под капотом vt — это bash-скрипт вокруг vibetunnel fwd: он создаёт сессию, выделяет PTY (сохраняются цвета и управление курсором), проксирует ввод-вывод между вашим терминалом и браузером и корректно обрабатывает сигналы и коды выхода. Если установлен и Mac-апп, и npm-пакет, vt автоматически выберет реализацию от Mac-приложения.

У vt есть режимы управления заголовком сессии (--title-mode none|filter|static) и уровни детализации логов от -q (тихо, только в файл ~/.vibetunnel/log.txt) до -vvv (полная отладка). Внутри сессии можно переименовать её на лету: vt title "Building Production Release".

Удалённый доступ

Локально всё работает из коробки; чтобы достучаться до терминала извне, проект предлагает шесть вариантов:

Вариант Суть
Tailscale (рекомендуется) Приватный WireGuard-VPN между вашими устройствами; режимы Private (только ваш tailnet) и Public через Tailscale Funnel; автоматический HTTPS
ngrok Публичный HTTPS-URL за минуту; удобно для быстрого шаринга, бесплатный URL меняется при перезапуске
Локальная сеть Режим Network и доступ по http://[ip-мака]:4020
Cloudflare Quick Tunnel cloudflared tunnel --url http://localhost:4020
Pinggy Интеграция в настройках, есть токены для постоянного поддомена
Pangolin Интеграция через Newt; креды хранятся в Keychain

Tailscale-интеграция самая проработанная: VibeTunnel сам находит CLI, умеет поднимать Tailscale Serve с автоматически выдаваемыми SSL-сертификатами и переключением между приватным и публичным доступом прямо из настроек.

Git Follow Mode

Отдельная фича для тех, кто работает с AI-агентами через Git worktree. Идея: агент трудится в worktree, а ваш основной чекаут остаётся открытым в IDE — и при переключении агентом ветки основной репозиторий автоматически переключается следом.

Как это устроено:

  • VibeTunnel ставит лёгкие Git-хуки (post-commit, post-checkout) в worktree;
  • при смене ветки в worktree основной репозиторий чекаутит ту же ветку;
  • если в основном репозитории есть незакоммиченные изменения, синхронизация ставится на паузу, чтобы ничего не потерять;
  • vt unfollow снимает хуки и восстанавливает прежние.
# Create a worktree for agent development
git worktree add ../project-agent feature/new-feature

# Enable follow mode from the main repo
cd ../project && vt follow

# Disable
vt unfollow

Ваш Xcode или другая IDE, запущенный dev-сервер и прочие инструменты продолжают работать без перезапуска — репозиторий просто «едет» за агентом.

Аутентификация и безопасность

Пять режимов на выбор:

  1. Системная аутентификация (по умолчанию) — логин и пароль аккаунта macOS; на Linux — PAM.
  2. Переменные окруженияVIBETUNNEL_USERNAME и VIBETUNNEL_PASSWORD для деплоев.
  3. SSH-ключи — Ed25519-ключи из ~/.ssh/authorized_keys, есть флаг полного запрета паролей.
  4. Без аутентификации — только для доверенных окружений.
  5. Local bypass — только для разработки; в проде требует --local-auth-token.

Сессии браузера подписываются JWT; секрет генерируется один раз в ~/.vibetunnel/jwt-secret с правами только для владельца и переживает перезапуски сервера. В рекомендациях по безопасности авторы настаивают: всегда включайте аутентификацию при бинде на внешние интерфейсы, используйте HTTPS через обратный прокси (nginx, Caddy) и по умолчанию выбирайте самый строгий режим.

Архитектура

Три компонента:

  • macOS-приложение в строке меню — нативное Swift-приложение, управляющее жизненным циклом сервера;
  • Node.js-сервер — TypeScript-сервер, обрабатывающий терминальные сессии; распространяется как standalone-исполняемый файл со встроенными модулями (есть нативный форвардер на Rust);
  • веб-фронтенд — современный интерфейс на Lit-компонентах и ghostty-web.

Качество поддерживается тестами с порогами покрытия в CI: 75% для macOS/iOS (Swift Testing), 80% для веба (Vitest). Есть экспериментальный нативный iOS-клиент, но авторы честно предупреждают: он пока в работе и для продакшена не рекомендуется.

Кому смотреть

VibeTunnel создали Mario Zechner, Armin Ronacher, Peter Steinberger, Helmut Januschka и Manuel Maly. Если ваш рабочий день устроен вокруг терминальных AI-агентов вроде Claude Code и вы хотите заглядывать в их сессии откуда угодно — это один из самых простых способов: одна команда, один браузер, ноль настройки SSH. Исходники под MIT лежат на GitHub, подробная документация — на docs.vibetunnel.sh.

Источник: https://github.com/amantus-ai/vibetunnel