Обычно приходится выбирать: либо GPU-терминал с графикой, либо Windows, либо tmux, который ещё надо поставить и настроить. Som даёт всё сразу и из коробки: SSH-сессии, переживающие разрыв связи, картинки, видео, аудио и markdown через собственный протокол Som Rich Protocol, GPU-рендеринг, табы в заголовке окна и сплиты — одним бинарником на Windows, macOS и Linux, без установки и зависимостей.
Живучие сессии, графика в терминале, GPU-рендеринг, нативная Windows-сборка, работа без установки — по отдельности всё это где-то есть. Проблема в том, что за каждым пунктом обычно стоит другой инструмент: терминал с поддержкой графики не собирается под Windows, tmux надо ставить и настраивать на каждом сервере, портативный терминал не умеет ни того, ни другого. Som закрывает весь список одним бинарником на всех трёх платформах.
Скачали один файл — уже есть и сохранение сессий, и живой контент в терминале. Никакого apt install tmux на каждом сервере, никаких .tmux.conf, никаких внешних демонов для превью файлов: somsrv разворачивается на удалённый хост сам, графика включена по умолчанию.
Один движок, одна кодовая база, один и тот же набор возможностей на всех трёх платформах. Живучая сессия somsrv точно так же собирается в любом сочетании «клиент → хост»: с Windows на Linux-сервер, с Linux на macOS — без разницы.
Ни одной строчки C/C++ в логике терминала — весь стек, от GPU-рендера до PTY-обвязки и разбора протокола графики, на языке, выбранном для промышленного софта, которому нельзя падать и течь по памяти годами.
В основе Som — GPUI: GPU-рендеринг и система тем без компромиссов, тот же движок, что несёт редактор Zed. Som строит на нём терминал с нуля, без редактора, LSP, AI и коллаборации — и получает скорость и стабильность, которые на голом Rust+GPU просто так не собрать.
Построен на GPUI — сильнейшем кроссплатформенном GUI-движке на рынке. Плавная прокрутка и отрисовка текста без лагов даже на больших scrollback-буферах.
Без отдельной полосы вкладок — табы живут прямо в title bar. Профили с иконками, быстрое переключение, drag-zone со спиннером восстановления.
Ctrl+Shift+\ — новый сплит, направление чередуется вправо → вниз. Каждый таб хранит свою раскладку независимо, парковка при переключении.
Табы, сплиты, позиция и размер окна — всё в db.json. Перезапуск возвращает вас туда же, где вы остановились, без ожидания подключений.
Формат тем идентичен Zed — Catppuccin, Tokyo Night, Dracula, One Dark Pro и любые другие Zed-темы работают без конвертации.
Полный контроль над OpenType-фичами: лигатуры, стилистические наборы, вес шрифта 100–900 — всё как в настоящем редакторском движке.
Никакой установки и настройки: скачали som — запускается из любой папки, сразу рабочий. Ничего не тянет из сети при первом старте, не просит рантаймов и не оставляет следов в системе.
Оконный / развёрнутый / полноэкранный / свёрнутый режим, точный отступ терминала от края окна, фиксированная позиция и размер запуска.
Каждое действие — от нового таба до фокуса сплита — переопределяется в JSON. Дефолты продуманы отдельно под Windows, macOS и Linux.
Собственный протокол Som Rich Protocol: идущий в комплекте somcat выводит картинки, видео, аудио и markdown прямо в поток терминала — подробнее ниже.
SRP — не запертая внутри Som фича, а открытая спецификация: любую программу внутри PTY можно научить говорить на нём, как её учат Kitty-протоколу или Sixel. Файловый менеджер yazi уже так умеет — превью картинок, видео и аудио прямо в списке файлов, тем же протоколом, что и терминал Som.
В комплекте отдельная утилита, которая рисует физическую клавиатуру и показывает, что именно движок получает от каждой клавиши — сразу видно, врёт ли KVM, раскладка ОС или всё-таки конфиг.
В бинарнике лежат настройки под каждую ОС, тема, шрифты (включая пропорциональный — для markdown), иконки, somsrv под все три платформы, патченный ConPTY и видеодекодер FFmpeg. Всё сжато zstd и разворачивается само при первом старте. FFmpeg отдельно урезан до используемых кодеков: вместе со сжатием это ужало пять DLL с ~18 МБ до ~2 МБ и сняло с бинарника ~15 МБ — около 29% веса.
Невалидный JSON не роняет терминал и не сбрасывает настройки: Som покажет баннер с ошибкой и продолжит работать на последних валидных значениях, пока вы не почините файл.
Свой минималистичный аналог tmux, встроенный прямо в Som. Открыли SSH-таб с "tmux": true — и дальше связь с хостом можно рвать сколько угодно раз.
Som реализует собственный бинарный протокол передачи насыщенного контента, поэтому somcat (идёт вместе с Som) выводит в поток терминала не мозаику из цветных символов, а настоящие изображения, проигрываемое видео, аудиодорожку с прогрессом и свёрстанный markdown. Никаких внешних демонов и оверлейных окон: всё рисуется тем же GPU-конвейером, что и текст, и ведёт себя как часть содержимого терминала. Протокол открыт, и уже сегодня им пользуется не только Som: файловый менеджер yazi показывает через него живые превью прямо в списке файлов.
PNG и JPEG выводятся полноцветным превью, анимированные GIF проигрываются покадрово прямо в сетке терминала. Пропорции сохраняются: картинка вписывается в отведённую область, а не растягивается под знакоместа.
Видеофайл открывается прямо в потоке терминала, с паузой, перемоткой и полосой прогресса. Данные тянутся по мере просмотра, а не грузятся целиком — 16-гигабайтный файл начинает играть так же быстро, как короткий ролик. Пока только Windows.
Звуковая дорожка декодируется и проигрывается самим Som, с прогрессом загрузки и воспроизведения — удобно быстро прослушать файл на удалённом хосте, не скачивая его себе.
README, заметка или changelog открываются полноценным документом прямо в потоке терминала — с настоящими заголовками разного уровня, списками, цитатами, разделителями, жирным и курсивом, отдельным моноширинным шрифтом для кода. Не подсветка синтаксиса поверх текста, а честный макет: то, что в исходнике «# Заголовок», на экране выглядит заголовком, а не строкой с решёткой. Это уже фундамент для куда большего — Som задуман как markdown-браузер внутри терминала, а не только как эмулятор шелла.
Каждый переданный объект становится блоком Unicode-плейсхолдер-ячеек прямо в scrollback терминала, поэтому обычная обработка скролла, очистки и истории самим терминалом корректно позиционирует и прячет его — без специального кода.
Через somsrv контент восстанавливается вместе с остальным содержимым сессии: переподключились к удалённому хосту — превью на месте, перерисовывать вручную не нужно.
Байты картинок и видео передаются отдельным бинарным каналом somsrv, а не кодируются в текстовый поток терминала. Мегабайтное превью не забивает тот же канал, по которому идут ваши нажатия клавиш.
Каждая сборка — самодостаточный бинарник для своей платформы, без установщика и внешних зависимостей. Набор возможностей везде один и тот же: сплиты, темы, живучие сессии и контент в терминале не зависят от того, откуда вы работаете.
amd64 · встроенный патченный ConPTY из проекта Windows Terminal — без стандартных багов системной консоли.
Apple Silicon (arm64) · нативная интеграция с system title bar и жестами трекпада.
amd64 · X11 и Wayland через GPUI, somsrv деплоится и на удалённые Linux-серверы тоже.
~/.config/som/settings.json — правите, сохраняете, изменения применяются мгновенно. Невалидный JSON не ломает Som — покажет баннер с ошибкой и продолжит работать на прежних настройках.
{ "window": { "theme": "Nord Dark", "mode": "maximized", "selection": "#88c0d0" }, "font": { "face": "FiraCode Nerd Font", "size": 14, "features": { "calt": true } }, "tabs": [ { "name": "local", "shell": "/bin/zsh", "default": true }, { "name": "prod", "shell": "ssh prod-1", "tmux": true } ] }
Тема, шрифт и лигатуры, форма и цвет курсора, скорость прокрутки, профили вкладок с любыми командами (обычный shell, ssh, wsl), горячие клавиши на каждое действие, отступы терминала, стартовая позиция и размер окна.
Профиль по умолчанию помечается флагом "default": true — именно его открывает Ctrl+Shift+= и кнопка «+».
Som поставляется с одной встроенной темой, Nord Dark. Но движок тем поддерживает произвольные JSON-файлы с ~150 цветами — те же файлы, что устанавливают в Zed.
Mauve — пастельная палитра, мягкий контраст
Тёмно-синий фон, неоновые акценты
Классика редакторских тем, привычная многим
Высокий контраст, фиолетово-розовые акценты
Установка: скачайте JSON-файл темы в ~/.config/som/themes/, затем укажите в settings.json значение поля "name" из самого файла как window.theme — оно не всегда совпадает с именем файла, а некоторые файлы описывают сразу несколько вариантов.
Все специфичные для Som действия — на Ctrl+Shift+*, чтобы не конфликтовать со стандартными системными сочетаниями.
| Ctrl+Shift+= | Новый таб (профиль по умолчанию) |
| Ctrl+Shift+1…0 | Таб из профиля 1–10 |
| Ctrl+Shift+- | Закрыть активный таб |
| Ctrl+Shift+\ | Новый сплит |
| Ctrl+Shift+Backspace | Закрыть сплит |
| Ctrl+Shift+←/→ | Переключить таб |
| Ctrl+Shift+↑/↓ | Фокус между сплитами |
| Ctrl+=/-/0 | Масштаб шрифта |
| Ctrl+Scroll | Масштаб шрифта колесом |
| Ctrl+Shift+C / Ctrl+V | Копировать / вставить |
Живучие SSH-сессии, картинки, видео и markdown в терминале, GPU-рендеринг — без установки и настройки, на вашей платформе. Открытый исходный код на Rust: соберите сами или возьмите готовый релиз.