Перейти к содержанию

Справочник CLI

Полный справочник команд интерфейса командной строки Р13.Орбита CLI.

Запуск CLI

Основной запуск

python -m orbita_cli chat

Режимы работы

Local Mode (по умолчанию)

Прямое подключение к базам данных:

python -m orbita_cli chat --mode local

Плюсы: Быстрее, нет зависимости от API сервера Минусы: Требует локальной настройки БД


API Mode

Работа через API сервер:

python -m orbita_cli chat --mode api --api-url http://localhost:8000

Плюсы: Централизованное управление, аутентификация Минусы: Требует работающий API сервер


Параметры запуска

Параметр Описание Пример
--mode Режим работы (local/api) --mode api
--api-url URL API сервера --api-url http://localhost:8000
--token JWT токен для API --token eyJ...
--domain Домен по умолчанию --domain ecommerce
--verbose Подробный вывод --verbose
--no-color Отключить цвета --no-color

Пример:

python -m orbita_cli chat \
  --mode api \
  --api-url https://orbita.company.com \
  --domain ecommerce \
  --verbose

Команды REPL

После запуска доступны следующие команды:

Справочные команды

/help

Показать справку по всем командам.

> /help

Вывод:

Доступные команды:
/help      - Показать эту справку
/exit      - Выйти из приложения
/new       - Создать новый чат
...

/status

Показать текущий статус системы.

> /status

Вывод:

Режим: local
Домен: ecommerce
Чат: default
LLM: gpt-4
Подключение к БД: OK

/domains

Список доступных доменов данных.

> /domains

Вывод:

Доступные домены:
1. ecommerce (Электронная коммерция)
   Таблицы: orders, customers, products, order_items, reviews

2. logistics (Логистика)
   Таблицы: deliveries, couriers, routes

3. films (Кинотеатры)
   Таблицы: films, sessions, tickets, cinemas

Управление чатами

/new [название]

Создать новый чат.

> /new анализ_продаж

Опционально: Название можно не указывать

> /new

Будет создан чат с автоматическим названием (например, "Chat 2024-03-15 14:30").


/list или /chats

Показать список всех чатов.

> /list

Вывод:

Ваши чаты:
1. default (текущий) - создан 2024-03-10
2. анализ_продаж - создан 2024-03-15
3. логистика_Q1 - создан 2024-03-14

/switch [id] или /chat [id]

Переключиться на другой чат.

> /switch 2

Переключится на чат с ID 2 и загрузит его историю.


/delete [id]

Удалить чат.

> /delete 3

Внимание

Удаление чата необратимо. Вся история будет потеряна.


Работа с датасетами

/datasets

Показать список сохраненных датасетов.

> /datasets

Вывод:

Сохраненные датасеты:
1. топ_февраль (20 строк) - 2024-03-15
2. клиенты_москва (1247 строк) - 2024-03-14
3. продажи_q1 (150 строк) - 2024-03-10

/load [название]

Загрузить датасет.

> /load топ_февраль

Откроет датасет и покажет его содержимое.


Настройка и отладка

/domain [название]

Выбрать домен данных.

> /domain ecommerce

Переключит текущий домен на ecommerce. Все последующие запросы будут использовать этот домен.


/sql [on|off]

Показывать или скрывать сгенерированный SQL.

> /sql on

Теперь после каждого запроса будет показан SQL:

Ваш запрос: покажи топ-10 товаров
Сгенерированный SQL:
SELECT name, SUM(total) as sales
FROM products p
JOIN order_items oi ON p.id = oi.product_id
GROUP BY name
ORDER BY sales DESC
LIMIT 10

Отключить:

> /sql off

/metrics [on|off]

Показывать или скрывать метрики выполнения.

> /metrics on

После каждого запроса будет показано:

Метрики:
- Время выполнения: 2.5s
- Токенов использовано: 1250
- SQL запросов: 2
- Строк получено: 10

/config

Показать текущую конфигурацию.

> /config

Вывод:

Конфигурация:
LLM Provider: openai-compatible
Model: gpt-4
Temperature: 0.1
Database: ClickHouse (localhost:8123)
Metadata DB: PostgreSQL
Orchestration: graph

История и очистка

/history [N]

Показать историю команд.

> /history

Покажет последние 10 команд.

> /history 20

Покажет последние 20 команд.


/clear

Очистить экран.

> /clear

Альтернатива: Ctrl+L


/progress [on|off]

Показывать индикатор прогресса при выполнении запросов.

> /progress on

Будет показан анимированный спиннер во время обработки.


Выход

/exit или /quit

Выйти из приложения.

> /exit

Альтернатива: Ctrl+D


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

Клавиша Действие
Up Предыдущая команда в истории
Down Следующая команда в истории
Tab Автодополнение команд
Ctrl+C Прервать выполнение текущего запроса
Ctrl+D Выйти из приложения
Ctrl+L Очистить экран
Ctrl+A Перейти в начало строки
Ctrl+E Перейти в конец строки
Ctrl+U Удалить строку до курсора
Ctrl+K Удалить строку после курсора
Ctrl+W Удалить слово до курсора

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

CLI поддерживает автодополнение для:

Команд

Нажмите Tab после /:

> /d[TAB]

Предложит: /datasets, /domain, /domains, /delete


Названий датасетов

> /load топ_[TAB]

Предложит: топ_февраль, топ_январь


Доменов

> /domain ecom[TAB]

Автодополнит: ecommerce


Цветовое кодирование

CLI использует цвета для улучшения восприятия:

Цвет Значение
🟢 Зеленый Успешное выполнение, результаты
🔵 Синий Информационные сообщения
🟡 Желтый Предупреждения
🔴 Красный Ошибки
⚪ Серый Второстепенная информация

Отключить цвета:

python -m orbita_cli chat --no-color

Формат вывода результатов

Таблицы

Результаты запросов выводятся в виде красивых таблиц:

┌────────────────────┬──────────┬──────────┐
│ Товар              │ Продажи  │ Остаток  │
├────────────────────┼──────────┼──────────┤
│ Смартфон Galaxy    │ 1250     │ 45       │
│ Ноутбук MacBook    │ 890      │ 12       │
│ Наушники AirPods   │ 2100     │ 234      │
└────────────────────┴──────────┴──────────┘

Найдено: 3 записи

Большие таблицы

Если результат содержит много строк, используется пагинация:

┌────────────────────┬──────────┐
│ Товар              │ Продажи  │
├────────────────────┼──────────┤
│ ...первые 20 строк...          │
└────────────────────┴──────────┘

Показано 20 из 1000 строк
Нажмите Enter для продолжения или Q для выхода

Скалярные значения

Простые ответы выводятся без таблиц:

Вопрос: сколько заказов за вчера
Ответ: 347 заказов

Режим отладки

Для разработчиков и администраторов:

python -m orbita_cli chat --verbose --log-level DEBUG

Покажет детальную информацию о:

  • HTTP запросах (в API режиме)
  • SQL запросах
  • LLM промптах и ответах
  • Внутренней логике оркестратора

Переменные окружения

CLI поддерживает настройку через переменные окружения:

Переменная Описание Пример
ORBITA_MODE Режим по умолчанию local или api
ORBITA_API_URL URL API сервера http://localhost:8000
ORBITA_TOKEN JWT токен eyJ...
ORBITA_DOMAIN Домен по умолчанию ecommerce
NO_COLOR Отключить цвета 1

Пример:

export ORBITA_MODE=api
export ORBITA_API_URL=https://orbita.company.com
python -m orbita_cli chat

Логи

Логи CLI сохраняются в:

~/.orbita/logs/cli.log

Для просмотра:

tail -f ~/.orbita/logs/cli.log

Советы по использованию

Совет 1: Используйте историю

Нажимайте Up вместо повторного набора запросов.

Совет 2: Создавайте тематические чаты

Для разных задач используйте отдельные чаты с понятными названиями.

Совет 3: Включите SQL для обучения

/sql on помогает понять, как формулировки преобразуются в запросы.

Совет 4: Автодополнение

Используйте Tab для быстрого ввода команд и названий.


Следующие шаги

Эффективной работы в CLI! ⌨️