Workflow

Интерфейс и команды

TUI, slash-команды, прямая оболочка, очередь задач и горячие клавиши SOBA Agent.

SOBA предоставляет интерактивный консольный интерфейс (TUI) с поддержкой slash-команд, горячих клавиш, прямого доступа к оболочке и управления очередью задач.


1. Запуск TUI

# Интерактивный режим (по умолчанию, когда нет аргументов)
soba

# Явно интерактивный
soba -i

# С темой
soba --theme forest

# С конкретной сессией
soba -s abc123

# Продолжить последнюю сессию в TUI
soba -c

# Селектор сессий
soba -r

Интерфейс TUI

┌──────────────────────────────────────────────────────┐
│  SOBA  Agent  [-][_][×]    Budget: 12K/64K    RU │
│──────────────────────────────────────────────────────│
│  ● Active    soba-agent                               │
│──────────────────────────────────────────────────────│
│  You: Fix all TypeScript errors in src/              │
│                                                      │
│  Agent: Analyzing...                                 │
│  ┌────────────────────────────────────────────────┐   │
│  │ 🔧 read: src/utils/parser.ts                   │   │
│  │    ...                                         │   │
│  └────────────────────────────────────────────────┘   │
│  ┌────────────────────────────────────────────────┐   │
│  │ ✅ edit: Fixed 3 type errors                   │   │
│  └────────────────────────────────────────────────┘   │
│  Agent: Done. Fixed 3 errors in parser.ts.          │
│──────────────────────────────────────────────────────│
│  > _                                                  │
└──────────────────────────────────────────────────────┘

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

КлавишаДействиеКонтекст
EnterОтправить сообщениеСтрока ввода
Ctrl+CПрервать текущий ответ агентаВо время ответа
Ctrl+ZПриостановить SOBA (SIGTSTP)Всегда
Ctrl+L / /clearОчистить экранВсегда
Ctrl+DВыйти из TUIПустая строка ввода
EscapeОчистить ввод / закрыть диалогСтрока ввода / диалог
TabАвтодополнение slash-командСтрока ввода
/ История сообщенийСтрока ввода
Page Up / Page DownПрокрутка истории сообщений TUIОсновная область
HomeВ начало историиОсновная область
EndВ конец историиОсновная область
F1Открыть боковую справкуОсновная область
F2 / /modelОткрыть селектор провайдера и моделиОсновная область
F3 / /searchПоиск по истории диалогаОсновная область
F6 / /sidebarПереключать панели сайдбараОсновная область
Ctrl+Shift+S / /sidebar toggleСвернуть или развернуть сайдбарОсновная область
/keysПоказать текущую карту клавиш и fallback-командыОсновная область

Селектор модели

F2 или /model открывает плотный двухколоночный селектор. Слева показаны провайдеры, справа — модели выбранного провайдера, а строка поиска фильтрует и провайдеры, и названия/ID моделей. Ctrl+M остаётся legacy alias, если терминал его передаёт, но во многих терминалах он кодируется как Enter, поэтому на него нельзя полагаться.

Используйте / для перемещения по моделям, / или Tab / Shift+Tab для смены провайдера и Enter для выбора подсвеченной модели. В шапке видно текущие провайдер и модель, а в строках моделей показываются context window, max output, поддержка streaming и thinking, если эти данные есть. Открытие селектора обновляет discovery встроенных провайдеров, поэтому новые модели могут появиться без перезапуска всей сессии.


3. Slash-команды (полный список)

Все команды начинаются с /. Команды регистронезависимы.

3.1. Управление сессией

КомандаДействие
/sessionПоказать информацию о текущей сессии (ID, количество ходов, бюджет)
/session rewind <turn-id>Откатить сессию к указанному ходу (создаётся ветка)
/sessions listПоказать доступные сессии, активную сессию и краткую evidence-сводку
/sessions resume <id>Активировать выбранную сессию
/sessions load <id>Загрузить выбранную сессию
/sessions close [id]Закрыть текущую или указанную сессию
/sessions delete <id>Удалить неактивную сессию

3.2. Compaction и бюджет

КомандаДействие
/compactПринудительный compaction (создать контекстную капсулу)
/auto-compact onВключить автоматический compaction
/auto-compact offВыключить автоматический compaction
/budgetПоказать текущий бюджет токенов и контекста
/capsuleПоказать последнюю капсулу

3.3. Skills

КомандаДействие
/skill listПоказать доступные скилы (bundled, user, project)
/skill newСоздать новый скил
/skill edit <name>Редактировать существующий скил
/skill eval <name>Запустить deterministic eval cases для draft skill
/skill bench <name>Показать агрегированное качество eval и common failures
/skill trace <name>Показать последние eval runs и failed cases
/skill remove <name>Удалить скил
/skill:<name>Активировать скил (через двоеточие)

3.4. Настройки интерфейса

КомандаДействие
/themeПоказать текущую тему и список доступных
/theme <name>Сменить тему (например: /theme forest)
/langПоказать текущий язык
/lang <locale>Сменить язык (en, ru, zh)
/config showПоказать текущую конфигурацию
/permissions [ask|repo|full|clear]Управление режимом разрешений
/clearОчистить экран TUI
/searchПоиск по истории разговора
/notificationsИстория уведомлений

3.5. Прочее

КомандаДействие
/helpПоказать справку по всем командам
/queueПоказать очередь задач
/queue clearОчистить очередь задач
/project-trust statusСтатус доверия проекта
/project-trust approveДоверить проект
/project-trust revokeОтозвать доверие
/mcp statusПоказать состояние настроенных MCP-серверов
/mcp start <server>Запустить MCP-сервер и зарегистрировать его tools
/mcp stop <server>Остановить MCP-сервер
/mcp restart <server>Перезапустить MCP-сервер и синхронизировать tools
/mcp reloadПеречитать .soba/mcp.json, остановить удалённые servers и синхронизировать tools без перезапуска SOBA
/mcp auth status <server>Показать remote auth state и next action
/mcp auth login <server>Запустить OAuth login для remote MCP server
/mcp auth logout <server>Очистить сохранённые OAuth credentials
/exit, /quitВыйти из TUI

4. Прямая оболочка

Синтаксис ! для прямого выполнения команд оболочки минуя AI.

4.1. Базовый синтаксис

# Выполнение одной команды
!ls -la src/

# Повтор последней команды
!!

# Проверка версии Node
!node --version

# Просмотр git-статуса
!git status

# Запуск тестов
!bun test

4.2. Особенности

  • Агент не видит результат выполнения ! команд. Это способ быстро что-то сделать, не тратя токены на AI.
  • Если нужно, чтобы агент прочитал результат: отправьте обычный текстовый prompt, и агент сам вызовет инструмент bash с нужной командой.
  • Trust-уровень применяется: опасные команды (rm -rf, sudo, и т.д.) блокируются при trust-уровне safe и требуют подтверждения при normal. См. Безопасность.

5. Очередь задач

Можно отправлять задачи, пока агент обрабатывает текущую — они выполняются последовательно.

# Агент занят обработкой первого запроса
> Fix all TS errors                                  # → Задача 1 (выполняется)

# Добавляем в очередь (агент ещё работает)
> Add tests for utils                                # → Очередь, позиция 1
> Update README with new features                     # → Очередь, позиция 2

# Просмотр очереди
/queue
# Вывод: Очередь (2 задачи)
#   1. Add tests for utils
#   2. Update README with new features

# Очистка очереди
/queue clear

6. Управление бюджетом токенов

SOBA в режиме реального времени отслеживает использование токенов и автоматически сжимает контекст, когда это необходимо.

# Просмотр бюджета
/budget

# Вывод:
#   Used:      28,450 tokens
#   Limit:     64,000 tokens (context window)
#   Available: 35,550 tokens
#   Messages:  42
#   Turns:     8
#   Capsules:  2

# Детальная статистика контекста
/budget
/session

# Вывод:
#   Effective tokens:   32,100
#   Hard limit:         47,616
#   Safety reserve:     8,192
#   Max output:         8,192
#   Reclaimable:        12,100
#   Auto-compact:       ON

7. Прокрутка истории

Вся история сообщений и блоков инструментов прокручивается с помощью:

  • Page Up / Page Down — постраничная прокрутка
  • Home — в начало истории сессии
  • End — в конец (текущее состояние)

Строка ввода остаётся видимой при прокрутке — можно смотреть историю и одновременно писать новое сообщение.


8. Автодополнение

8.1. Slash-команды

Нажатие Tab после / показывает доступные команды:

/             # Tab →
help         session      compact      budget
auto-compact capsule      config       lang
theme         skill       project-trust exit
quit          clear       search       notifications
permissions   queue

8.2. Подкоманды

После команды, поддерживающей подкоманды:

/skill        # Tab →
/skill list    /skill new     /skill edit
/skill eval    /skill bench   /skill trace
/skill remove  /skill:

9. Темы

SOBA поддерживает 10 встроенных цветовых тем и позволяет создавать свои.

# Сменить тему
/theme forest

# Просмотреть текущую
/theme

# Список доступных тем:
# graphite, aurora, synthwave, paper,
# forest, highContrast, clay, operator, ink

Каждая тема определяет семантические токены (accent, text, muted, success, error, border и другие) с поддержкой тёмного и светлого режимов. Подробнее в гайде по темам.


10. Многоязычность

SOBA поддерживает английский, русский и китайский языки.

# Смена языка в TUI
/lang ru

# При запуске
soba --lang ru

# В конфиге
{
  "lang": "ru"
}

Переводы хранятся в locales/. Для нового языка создайте JSON-файл и добавьте одну запись в src/shared/i18n/locale-catalog.ts: locale types, validation, загрузка config и command usage выводятся из этого каталога.

On this page