ludmila-ai-tui/README.md

3.4 KiB
Raw Permalink Blame History

Ludmila AI TUI

Терминальный клиент для OpenAI-совместимых API LLM. Написан на Go с использованием Bubble Tea.

Возможности

  • Поддержка нескольких OpenAI-совместимых провайдеров одновременно
  • Потоковый вывод ответов (streaming)
  • Управление сессиями (создание, переключение, удаление, автосохранение)
  • Выбор модели из списка доступных через интерфейс
  • Markdown-рендеринг: жирный, курсив, код, заголовки, блоки кода
  • Навигация по истории сообщений
  • Выделение и копирование текста мышью
  • Visual mode для выделения текста клавиатурой
  • Настраиваемая цветовая тема
  • Анимированный индикатор ожидания ответа

Установка

go install ./cmd/ludmila-ai-tui

Или соберите из исходников:

git clone <repo-url>
cd ludmila-ai-tui
go build -o ludmila-ai-tui

Конфигурация

Файл: ~/.config/ludmila-ai-tui/config.json

{
  "theme": "system",
  "default_provider": "openai",
  "providers": {
    "openai": {
      "name": "OpenAI",
      "base_url": "https://api.openai.com",
      "api_key": "$OPENAI_API_KEY",
      "type": "openai-compat"
    },
    "local": {
      "name": "Local (Ollama)",
      "base_url": "http://localhost:11434",
      "type": "openai-compat"
    }
  }
}
  • api_key можно указать напрямую или через переменную окружения ($NAME)
  • Провайдеров может быть любое количество
  • Модели загружаются автоматически через эндпоинт /api/tags при запуске

Темы

По умолчанию используется системная тема. Чтобы добавить кастомную, создайте ~/.config/ludmila-ai-tui/themes/<name>.json и укажите "theme": "<name>" в конфиге.

Использование

Клавиша Действие
Enter Отправить сообщение
Ctrl+O Выбрать модель
Ctrl+S Список сессий
Ctrl+N Новая сессия
Ctrl+W Закрыть текущую сессию
Ctrl+V Visual mode (выделение текста)
Ctrl+C Выход
Esc Отменить streaming / закрыть диалог
/ История сообщений
PgUp / PgDn Прокрутка
Мышь Выделение и копирование в буфер обмена

В visual mode:

  • j/k — перемещение курсора
  • v — начать/закончить выделение
  • Enter — скопировать выделенное

Хранилище

Сессии сохраняются в ~/.local/share/ludmila-ai-tui/sessions/. Каждая сессия — отдельный JSON-файл. Удаление помечает сессию как удалённую (флаг deleted), файл не стирается.

Лицензия

MIT