elia

by Darren Burns (community) · OpenAI, Anthropic, Ollama, любые LLM

Assistant AI Assistants Open Source v1.10.0 · 14.09.2024 >1 года

Красивый TUI-клиент для чата с LLM прямо в терминале. Написан на Python с помощью Textual. Несколько бесед в разных вкладках, история, экспорт — без браузера. Особенности: - Вкладки: несколько разговоров одновременно - Поддержка OpenAI, Anthropic Claude, Ollama, Groq - Syntax highlighting кода в ответах - Markdown-рендеринг в терминале - Persistent история через SQLite - Экспорт в Markdown - Настраиваемые системные промпты

v1.10.0
14.09.2024 current
Добавлен 18.06.2026 · Обновлён 18.06.2026 · AI Assistants
Установка
# pip:
pip install elia-chat

# Запуск:
elia

# Конфиг ~/.config/elia/config.toml:
[default_model]
name = "claude-opus-4-5"
provider = "anthropic"

# С Ollama:
elia  # выбрать локальную модель в меню
переведено ИИ

Быстрый, ориентированный на клавиатуру интерфейс терминала для взаимодействия с большими языковыми моделями.
Общайтесь с Claude 3, ChatGPT и локальными моделями, такими как Llama 3, Phi 3, Mistral и Gemma.

elia-screenshot-collage

Введение

elia — это приложение для взаимодействия с LLM, которое работает полностью в вашем терминале и разработано с акцентом на клавиатуру, эффективность и удовольствие от использования! Оно хранит ваши разговоры в локальной базе данных SQLite и позволяет взаимодействовать с различными моделями. Общайтесь с проприетарными моделями, такими как ChatGPT и Claude, или с локальными моделями, работающими через ollama или LocalAI.

Установка

Установите Elia с помощью pipx:

pipx install --python 3.11 elia-chat

В зависимости от модели, которую вы хотите использовать, вам может потребоваться установить одну или несколько переменных окружения (например, OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY и т.д.).

Быстрый старт

Запустите Elia из командной строки:

elia

Запустите новый чат встроенно (под вашим приглашением) с помощью -i/--inline:

elia -i "Что такое Дзен Пайтона?"

Запустите новый чат в полноэкранном режиме:

elia "Расскажи мне интересный факт о ящерицах!"

Укажите модель через командную строку с помощью -m/--model:

elia -m gpt-4o

Параметры можно комбинировать — вот как запустить чат с Gemini 1.5 Flash встроенном режиме (требуется переменная окружения GEMINI_API_KEY).

elia -i -m gemini/gemini-1.5-flash-latest "Как мне вызвать код Rust из Python?"

Запуск локальных моделей

  1. Установите ollama.
  2. Загрузите нужную модель, например, ollama pull llama3.
  3. Запустите локальный сервер ollama: ollama serve.
  4. Добавьте модель в файл конфигурации (см. ниже).

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

Расположение файла конфигурации указано в нижней части окна опций (ctrl+o).

Пример файла ниже демонстрирует доступные опции, а также примеры того, как добавить новые модели.

# ID или имя модели, которая выбирается по умолчанию при запуске
default_model = "gpt-4o"
# системный промпт при запуске
system_prompt = "Вы — полезный помощник, который говорит как пират."

# выберите из "nebula", "cobalt", "twilight", "hacker", "alpine", "galaxy", "nautilus", "monokai", "textual"
theme = "galaxy"

# измените тему подсветки синтаксиса кода в сообщениях
# выберите из https://pygments.org/styles/
# по умолчанию "monokai"
message_code_theme = "dracula"

# пример добавления локальной поддержки llama3
# здесь обязательное поле — только `name`.
[[models]]
name = "ollama/llama3"

# пример модели, работающей на локальном сервере, например, LocalAI
[[models]]
name = "openai/some-model"
api_base = "http://localhost:8080/v1"
api_key = "api-key-if-required"

# пример добавления модели groq с показом некоторых других полей
[[models]]
name = "groq/llama2-70b-4096"
display_name = "Llama 2 70B"  # отображается в интерфейсе
provider = "Groq"  # отображается в интерфейсе
temperature = 1.0  # высокая temp = высокая вариативность вывода
max_retries = 0  # количество попыток при неудачном запросе

# пример нескольких экземпляров одной модели, например, у вас может
# быть 'рабочая' и 'персональная' организация OpenAI.
[[models]]
id = "work-gpt-3.5-turbo"
name = "gpt-3.5-turbo"
display_name = "GPT 3.5 Turbo (Работа)"

[[models]]
id = "personal-gpt-3.5-turbo"
name = "gpt-3.5-turbo"
display_name = "GPT 3.5 Turbo (Личное)"

Пользовательские темы

Добавьте пользовательский YAML-файл темы в каталог тем. Вы можете найти расположение каталога тем, нажав ctrl+o на главном экране и найдя строку Themes directory.

Вот пример YAML-файла темы:

name: example  # используйте это имя в вашем файле конфигурации
primary: '#4e78c4'
secondary: '#f39c12'
accent: '#e74c3c'
background: '#0e1726'
surface: '#17202a'
error: '#e74c3c'  # сообщения об ошибках
success: '#2ecc71'  # сообщения об успехе
warning: '#f1c40f'  # предупреждения

Изменение привязок клавиш

В настоящее время привязки клавиш нельзя изменить. Терминалы также довольно ограничены в поддерживаемых привязках клавиш. Например, нажатие Cmd+Enter для отправки сообщения невозможно (хотя мы можем поддержать протокол, позволяющий это делать в некоторых терминалах в будущем).

На данный момент я рекомендую вам настроить любую желаемую комбинацию клавиш на уровне эмулятора терминала для отправки \n. Вот пример с использованием iTerm:

image

При такой настройке нажатие Cmd+Enter отправит сообщение в LLM, а нажатие только Enter создаст новую строку.

Импорт из ChatGPT

Экспортируйте ваши беседы в JSON-файл с помощью интерфейса ChatGPT, а затем импортируйте их с помощью команды import.

elia import 'path/to/conversations.json'

Очистка базы данных

elia reset

Удаление

pipx uninstall elia-chat
Комментарии
Войдите, чтобы оставить комментарий