Терминал-воркспейс для AI-агентов · macOS
spaceshell держит живые сессии Claude Code, Codex, Gemini и shell в фоновом демоне. Закрыл окно, обновил приложение, словил краш — агенты продолжают работать.
Проблема
Закрыл вкладку, перезапустил приложение, упал GUI — длинная сессия агента умирает вместе с ним.
Решение
Сессиями владеет фоновый демон, а не окно. Интерфейс — всего лишь вид поверх него.
spaceshd владеет живыми PTY-сессиями. GUI и CLI — тонкие клиенты поверх одного Unix-сокета. Убей интерфейс — агент жив. Открой заново — экран восстановится из снапшота за доли секунды.
Несколько агентов в раскладке-гриде: сплиты, зум панели, перетаскивание, пресеты (2×2, 1+2, 2×3…), воркспейсы и избранное.
work · wait · done · error · idle приходят пушем — от хуков агентов, маркеров OSC 133 и паттернов. Кольца, бейджи, центр событий и нативные уведомления macOS.
xterm.js рисует, грид alacritty в демоне анализирует. Отсюда — поиск по скроллбэку (⌘F) с подсветкой, извлечение последней команды и мгновенные снапшоты для reattach.
spacesh status --json, focus, new-surface, notify — те же команды, что и в интерфейсе, плюс shell-completions. Встраивай spaceshell в свои пайплайны.
Тёмная и светлая темы, акцентные цвета, шрифт и размер терминала, дефолтный shell — всё хранится демоном в config.toml и применяется на лету ко всем окнам.
Создаёшь воркспейс и панели — демон спавнит PTY-сессии под агентов.
Байты летают GUI ↔ демон ↔ PTY по одному сокету. Интерфейс состояния не хранит — только команды и события.
Закрыл и открыл приложение — демон отдаёт снапшот экрана, окно перерисовывается мгновенно.
В планах