Как запустить полноценный рабочий терминал с ИИ-агентами прямо в браузере

16 авг 2026
375
30
2 месяца

Иногда нужно быстро починить упавший сервис с планшета в дороге или проверить логи с ноутбука, на котором не настроены привычные SSH-ключи. Обычно в таких случаях приходится страдать с мобильными терминалами, спотыкаться о кривой ввод клавиш и заново поднимать упавшие при разрыве связи сессии.

Недавно наткнулся на проект Tabminal. Разработчик сделал веб-терминал, который решает сразу две задачи: держит постоянные сессии на сервере и объединяет привычный шелл с протоколом ACP для работы с автономными ИИ-агентами.

Tabminal Banner

Что умеет Tabminal

По своей сути это полноценное рабочее пространство в браузере. Бэкенд крутится на вашей машине или сервере, а вы подключаетесь к нему через веб-интерфейс или PWA-приложение.

Главные возможности:

Реклама
  • Сессии не умирают при закрытии вкладки, обновлении страницы или переключении с Wi-Fi на мобильную сеть.
  • Встроенный редактор файлов на базе Monaco (движок VS Code) с подсветкой синтаксиса и просмотром картинок.
  • Нативная поддержка протокола ACP (Agent Client Protocol) для запуска автономных помощников вроде Claude Code, Gemini CLI или Codex.
  • Управление кластером из нескольких серверов в одном окне с раздельными правами доступа.

Photo of Tabminal

Screenshot 2026-03-26 at 11 00 10 PM

Работа с ИИ-агентами через ACP

Интеграция с ИИ здесь сделана глубже, чем обычный чат сбоку от консоли. Проект поддерживает спецификацию ACP, поэтому агент работает в изолированном контексте и показывает свои действия прямо в интерфейсе:

  • Вызовы инструментов и запуск команд отображаются в реальном времени.
  • Изменения в коде выводятся в виде наглядных diff-блоков.
  • Есть кнопка «Jump in», которая переносит вас прямо в работающий терминал агента, если нужно перехватить управление руками.
  • Состояние диалогов, планы выполнения и транскрипты сохраняются между перезагрузками страницы.

Если на сервере установлены CLI-утилиты от Anthropic, Google или OpenAI, Tabminal автоматически находит их в путях системы.

Помимо сложных агентов, есть и простой встроенный помощник. Если написать команду с символом # в начале строки, сервер отправит запрос к OpenAI или OpenRouter с учетом недавней истории шелла. При падении команды с ошибкой система сама предложит вариант исправления.

Screenshot 2026-03-26 at 5 34 05 PM Screenshot 2026-03-26 at 2 40 39 PM Screenshot 2026-03-25 at 10 11 37 PM

Мультихост и мобильный интерфейс

Интересная деталь архитектуры: один запущенный инстанс Tabminal может выступать центральным узлом. В боковой панели вы добавляете другие серверы, где тоже поднят бэкенд проекта. Реестр хостов сохраняется на главном сервере, а авторизация работает индивидуально для каждого узла.

Screenshot 2026-03-25 at 5 37 05 AM

Отдельно стоит сказать про адаптивность. Обычно веб-терминалы на смартфонах превращаются в ад из-за наэкранной клавиатуры и отсутствия клавиш Ctrl, Alt или Esc. В Tabminal виртуальная панель вынесена прямо над клавиатурой, а интерфейс умеет сворачиваться в компактный вид с учетом безопасных зон экрана (Safe Area на iOS).

Screenshot 2026-03-30 at 1 33 04 PM Screenshot 2026-03-30 at 6 20 25 AM

Tabminal Screenshot

Screenshot 2025-11-24 at 3 03 03 PM Screenshot 2025-11-24 at 3 02 12 PM Screenshot 2025-11-24 at 3 01 46 PM Screenshot 2025-11-24 at 2 57 39 PM Screenshot 2026-03-26 at 5 28 17 PM

Архитектура и безопасность

Под капотом у проекта классический стек: Node.js версии не ниже 22, фреймворк Koa, эмулятор node-pty и WebSockets. Клиентская часть написана на чистом JavaScript без тяжелых фреймворков, а за отображение консоли отвечает библиотека xterm.js.

Важный момент: Tabminal дает прямой доступ к файловой системе и выполнению команд с правами того пользователя, от которого запущен процесс. Никогда не открывайте его порт наружу в публичный интернет без защиты. Для удаленного доступа автор прямо рекомендует изолированные оверлейные сети вроде Tailscale или туннелирование с авторизацией через Cloudflare Access. При запуске флаг --accept-terms обязателен, иначе процесс завершится с ошибкой.

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

Проще всего запустить утилиту через npx:

npx tabminal --accept-terms

Если планируете использовать встроенного ассистента, передайте ключ OpenAI или OpenRouter:

npx tabminal --openai-key "YOUR_API_KEY" --accept-terms

Для постоянного развертывания есть готовый Docker-образ:

docker run --rm -it -p 9846:9846 \
  leask/tabminal \
  --accept-terms

При старте без указания пароля сервер сгенерирует временный токен и напечатает его в консоль. Все настройки сохраняются локально в директории ~/.tabminal/.

Кому пригодится проект

Tabminal закрывает брешь между классическим SSH через терминал и тяжелыми облачными IDE. Если вы часто админите домашний сервер, работаете с нескольких разных устройств или хотите протестировать ИИ-агентов в изолированном окружении прямо через веб, проект определенно стоит погонять локально. Лицензия у репозитория открытая (MIT), так что допилить под свои нужды ничего не мешает.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.