Активная разработка · v1.6

Лучший терминал сразу на трёх платформах

Windows, macOS и Linux — одинаково быстро, одинаково стабильно, одним бинарником. GPU-рендеринг, табы прямо в заголовке окна, сплиты, живые SSH-сессии со своим tmux-аналогом — и всё это без установки, без зависимостей, без компромиссов ради портов.

Som: сплит с кодом слева, htop и терминал справа, таб-бар с профилями win/wsl/vpn/pi5/mac/usa
Почему лучший

Не компромисс ради кроссплатформенности — а лучшее решение на каждой из трёх

Большинство терминалов такого класса — это Linux/macOS-инструменты, для которых Windows-порт в лучшем случае догоняющий. Som проектировался сразу под три платформы на одном движке, поэтому нативная Windows-сборка получает то же самое, что и остальные — без урезаний.

~32 МБ

Один портативный бинарник

som.exe несёт в себе конфиг-шаблоны, тему, som-tmux под три платформы и патченный ConPTY — и всё равно в разы компактнее полного GPUI-стека, из которого он вырезан. Никакой установки, запускается из любой папки.

GPU

Рендеринг наравне с лучшими

Тот же класс скорости и плавности, что у Ghostty и Kitty на GPUI — но с полноценной нативной сборкой под Windows и собственным механизмом сохранения сессий из коробки, без необходимости поднимать tmux отдельно.

100%

Rust, без компромиссов

Ни одной строчки C/C++ в логике терминала — весь стек, от рендера до PTY-обвязки, на языке, выбранном для промышленного софта, которому нельзя падать и течь по памяти годами.

Возможности

Всё, что нужно от терминала — и ни байтом больше

В основе — GPUI: GPU-рендеринг и система тем без компромиссов. Som берёт от него только то, что нужно терминалу, выбрасывает редактор, LSP, AI и коллаборацию — и получает скорость и стабильность, которые на голом Rust+GPU просто так не собрать.

GPU-рендеринг

Построен на GPUI — сильнейшем кроссплатформенном GUI-движке на рынке. Плавная прокрутка и отрисовка текста без лагов даже на больших scrollback-буферах.

🗂️

Табы в заголовке окна

Без отдельной полосы вкладок — табы живут прямо в title bar. Профили с иконками, быстрое переключение, drag-zone со спиннером восстановления.

Сплиты до 3 уровней

Ctrl+Shift+\ — новый сплит, направление чередуется вправо → вниз. Каждый таб хранит свою раскладку независимо, парковка при переключении.

💾

Полное восстановление сессии

Табы, сплиты, позиция и размер окна — всё в db.json. Перезапуск возвращает вас туда же, где вы остановились, без ожидания подключений.

🎨

Темы от Zed из коробки

Формат тем идентичен Zed — Catppuccin, Tokyo Night, Dracula, One Dark Pro и любые другие Zed-темы работают без конвертации.

🔤

Nerd Font и лигатуры

Полный контроль над OpenType-фичами: лигатуры, стилистические наборы, вес шрифта 100–900 — всё как в настоящем редакторском движке.

📦

Один портативный бинарник, ~32 МБ

Никакой установки. som.exe запускается из любой папки — конфиг, тема, som-tmux и патченный ConPTY встроены внутрь и разворачиваются сами при первом старте. В разы компактнее полного GPUI-стека, из которого он вырезан.

🖥️

Гибкий режим окна

Оконный / развёрнутый / полноэкранный / свёрнутый режим, точный отступ терминала от края окна, фиксированная позиция и размер запуска.

⌨️

Настраиваемые клавиши

Каждое действие — от нового таба до фокуса сплита — переопределяется в JSON. Дефолты продуманы отдельно под Windows, macOS и Linux.

Фирменная фича

som-tmux: сессии, которые не умирают

Свой минималистичный аналог tmux, встроенный прямо в Som. Открыли SSH-таб с "tmux": true — и дальше связь с хостом можно рвать сколько угодно раз.

  • Закрыли Som или потеряли связь — процесс на удалённой машине продолжает работать
  • При переподключении вы видите тот же scrollback и те же запущенные программы, а не новую сессию
  • Работает и локально: shell переживает перезапуск самого Som на этой же машине
  • Автоматически подчищает осиротевшие процессы на удалённых хостах
  • Бинарники для Windows, macOS и Linux встроены в Som и деплоятся на сервер сами — руками ничего копировать не нужно
Som (клиент)
SSH-таб с tmux: true
HOLDER на удалённом хосте
Держит реальный shell и PTY, живёт независимо от Som
Разрыв связи / закрытие Som
Процесс на сервере продолжает работать как ни в чём не бывало
Повторное открытие таба
Реконнект к тому же HOLDER — тот же scrollback, тот же htop
Платформы

Windows, macOS, Linux — один код, нативная скорость

Каждая сборка — самодостаточный бинарник для своей платформы, без установщика и внешних зависимостей.

Windows

amd64 · встроенный патченный ConPTY из проекта Windows Terminal — без стандартных багов системной консоли.

macOS

Apple Silicon (arm64) · нативная интеграция с system title bar и жестами трекпада.

🐧

Linux

amd64 · X11 и Wayland через GPUI, som-tmux деплоится и на удалённые Linux-серверы тоже.

Настройка

Один JSON-файл, живая перезагрузка

~/.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+= и кнопка «+».

Темы

Формат тем как у Zed — любая Zed-тема работает без конвертации

Som поставляется с одной встроенной темой, Nord Dark. Но движок тем поддерживает произвольные JSON-файлы с ~150 цветами — те же файлы, что устанавливают в Zed.

Установка: скачайте JSON-файл темы в ~/.config/som/themes/, затем укажите в settings.json значение поля "name" из самого файла как window.theme — оно не всегда совпадает с именем файла, а некоторые файлы описывают сразу несколько вариантов.

Горячие клавиши

Продуманные дефолты, полностью переопределяемые

Все специфичные для Som действия — на Ctrl+Shift+*, чтобы не конфликтовать со стандартными системными сочетаниями.

Ctrl+Shift+=Новый таб (профиль по умолчанию)
Ctrl+Shift+10Таб из профиля 1–10
Ctrl+Shift+-Закрыть активный таб
Ctrl+Shift+\Новый сплит
Ctrl+Shift+BackspaceЗакрыть сплит
Ctrl+Shift+←/→Переключить таб
Ctrl+Shift+↑/↓Фокус между сплитами
Ctrl+=/-/0Масштаб шрифта
Ctrl+ScrollМасштаб шрифта колесом
Ctrl+Shift+C / Ctrl+VКопировать / вставить

Попробуйте терминал без лишнего

Открытый исходный код на Rust, минимум зависимостей. Соберите сами или возьмите готовый релиз.