Петр Пятков опубликовал на Habr разбор Planulix — self-hosted решения, которое он собрал после блокировки аккаунта Claude. Идея простая: поставить Go-gateway на VPS с «чистым» IP, а с macOS или Android подключаться через Flutter-клиент к единому списку сессий. Поддерживаются Claude Code, Kimi Code, OpenAI Codex CLI, Cursor и развивающаяся поддержка Kiro/OpenCode. Проект открытый, версия v1.0.0 вышла на GitHub.
Контекст
Проблема геоблокировок для пользователей из России и части СНГ стала системной. Claude недоступен напрямую с российских IP — Anthropic проверяет локацию. Cursor замедляется под нагрузкой. Переключиться на Kimi или Codex вручную — значит тратить часы на настройку окружения, авторизацию, перенос истории. Каждый агент хранит сессии в своём формате, в своей директории, с собственной логикой возобновления диалога.
Решений на рынке почти нет. OpenRouter и аналоги унифицируют LLM-вызовы через API, но не трогают CLI-агентов с их interactivity, tmux-сессиями и файловым контекстом. Planulix заходит именно в этот пробел — не как API-прокси, а как диспетчер живых CLI-процессов.
Архитектурно это два слоя: Go Gateway — HTTP-сервер на VPS, который запускает агентов через tmux, читает их истории и отдаёт единый API. И Flutter-клиент — десктоп/мобильное приложение с тремя панелями: список сессий, файлы проекта, чат. Связь — через bearer token, опционально через Tailscale.
Аналитика
Появление таких инструментов — закономерный ответ на фрагментацию AI-агентного рынка. Разработчики сегодня не выбирают одну модель навсегда: они переключаются в зависимости от задачи, бюджета, доступности. Claude силён в сложном рассуждении, Codex заточен под OpenAI-экосистему, Kimi — дешевле при длинном контексте. Инструмент, который снижает стоимость переключения между ними, решает реальную боль.
Технически интересен выбор tmux как транспорта. Это не академическое решение — это прагматика: процесс выживает после дисконнекта клиента, можно слать Enter и Ctrl+C, сессия именована на сервере. Авторская формулировка точная: «не умирает, когда клиент закрылся». Для мобильного сценария — когда телефон уходит в фон — это критично.
Важный сигнал для рынка: история сессий стала новым форматным полем битвы. Claude пишет JSONL в ~/.claude/sessions, Codex — под ~/.codex, Cursor хранит транскрипты в ~/.cursor/projects/. Нет стандарта, нет совместимости. Тот, кто установит общий формат — через open-source или платформенное решение — получит значительное преимущество в удержании разработчиков.
Кейсы применения в бизнесе
B2B-SaaS стартап с распределённой командой в СНГ. Разработчики в России, Казахстане, Беларуси — у каждого свои ограничения доступа к Claude. Решение: один Planulix Gateway на VPS в нейтральной юрисдикции, подключение через Tailscale. Команда получает унифицированный доступ к нескольким агентам, история сессий по проектам централизована, стоимость токенов видна в одном экране. Экономия на настройке — несколько часов при каждой смене агента.
IT-студия или агентство с несколькими проектами одновременно. Несколько активных проектов, разные клиенты, разные стеки. Planulix позволяет держать сессии с контекстом каждого проекта в разных директориях на одном сервере, переключаться между ними без потери контекста. Для быстрого status-check с телефона — мобильный клиент как пульт управления.
SMB-бизнес в КР или ЦА, который только внедряет AI-инструменты. Нет выделенного DevOps. Сценарий: один VPS (Hetzner или аналог), установка gateway через скрипт одной командой, подключение разработчика через мобильный клиент. Низкий порог входа при том, что инфраструктура остаётся под полным контролем компании — данные проектов не уходят в облако вендора.
Кейсы в личной жизни
Разработчик из РФ или ЦА, которому заблокировали Claude. Ставишь gateway на VPS с европейским IP, проходишь OAuth один раз удалённо через SSH-туннель, дальше работаешь как обычно — с macOS или телефона. Переключение на Kimi или Codex при проблемах с доступностью — без перенастройки окружения.
Фрилансер, ведущий несколько проектов параллельно. Список сессий с фильтрами по агенту и статусу (Active / Finished / Starred) — это быстрый возврат к контексту без поиска по вкладкам терминала. Экран примерной стоимости помогает понять, какие проекты и модели реально «едят» бюджет.
Студент или начинающий разработчик, осваивающий AI-агентов. Единый интерфейс снижает когнитивную нагрузку: не нужно учить разные CLI, флаги, форматы. Достаточно разобраться с одним клиентом, а дальше экспериментировать с разными агентами через одни и те же кнопки.
Как применить сегодня
- Поднять VPS с нероссийским IP (Hetzner, Contabo, DigitalOcean), выполнить установочный скрипт gateway — займёт 10-15 минут.
- Подключить gateway через Tailscale вместо открытого порта — это убирает необходимость настраивать firewall и TLS вручную.
- Скачать Flutter-клиент под macOS или Android из GitHub Releases v1.0.0, указать адрес gateway и AUTH_TOKEN.
- Пройти OAuth для Claude через SSH-туннель на VPS — один раз, дальше сессия хранится на сервере.
- Использовать мобильный клиент как пульт: проверка статуса задач, запуск коротких промптов, мониторинг стоимости — без открытия ноутбука.
«Это ваш личный gateway. У него есть один секрет на API, и этого достаточно для self-hosted сценария за Tailscale или private network» — автор проекта о сознательном отказе от пользовательской модели в первой версии.