Введение: зачем ИИ в командной строке
Современные инструменты искусственного интеллекта всё глубже проникают в повседневную работу разработчиков и системных администраторов. Одним из наиболее практичных направлений стала интеграция языковых моделей (LLM) непосредственно в командную строку. Вместо того чтобы переключаться между терминалом и веб-интерфейсом чат-бота, пользователь получает возможность задавать вопросы, генерировать команды и анализировать данные, не покидая привычной среды.
Основные преимущества такого подхода:
- Скорость работы: не нужно открывать браузер, вводить запрос и ждать загрузки страницы.
- Контекстная интеграция: можно передавать вывод предыдущих команд, файлы или фрагменты кода прямо в запрос.
- Автоматизация: легко встраивать ИИ-ассистента в скрипты и пайплайны.
- Конфиденциальность: при использовании локальных моделей (например, через Ollama) данные не покидают машину.
В этой статье мы рассмотрим три популярных инструмента: ShellGPT, Terminal GPT (TGPT) и Shell Genie. Каждый из них имеет свои особенности, сценарии использования и ограничения.
Что такое ShellGPT и как он работает
ShellGPT (или sgpt) — это консольное приложение на Python, которое выступает в роли ИИ-ассистента в терминале Linux. Оно поддерживает работу с различными языковыми моделями: ChatGPT (OpenAI), Gemini (Google) и локальными моделями через Ollama (например, DeepSeek-Coder).
Ключевые возможности ShellGPT:
- Простые запросы: задать вопрос и получить ответ в виде текста.
- Генерация команд оболочки: описать задачу естественным языком, и ShellGPT предложит готовую команду (с возможностью её выполнения).
- Генерация кода: написать фрагмент кода на любом языке программирования.
- Анализ данных: передать содержимое файла или вывод команды для анализа.
- Чат-режим (REPL): интерактивный диалог с сохранением контекста.
- Поддержка функций (functions): модель может вызывать заранее определённые функции для выполнения действий.
ShellGPT использует API-ключ для доступа к облачным моделям (ChatGPT, Gemini) или подключается к локальному серверу Ollama. Для работы с Gemini требуется дополнительный прокси-сервер, который преобразует запросы в формат OpenAI.
Установка и настройка ShellGPT
Установка ShellGPT выполняется через pipx — инструмент для изоляции Python-приложений. Это предпочтительный способ, так как он создаёт отдельное виртуальное окружение и не конфликтует с системными пакетами.
Базовая установка:
sudo apt update && sudo apt install -y curl pipx
pipx install 'shell-gpt[litellm]'После установки в системе появляется команда sgpt. При первом запуске программа запросит API-ключ. Для облачных моделей (ChatGPT, Gemini) нужно указать реальный ключ, для локальных — любую непустую строку (ключ не используется).
Настройка для локальной модели (Ollama):
- Установите Ollama:
curl -fsSL https://ollama.com/install.sh | sh - Загрузите модель, например:
ollama pull deepseek-coder-v2 - Отредактируйте конфигурационный файл
~/.config/shell_gpt/.sgptrc:
OPENAI_API_KEY = some_random_string
OPENAI_USE_FUNCTIONS = false
USE_LITELLM = true
DEFAULT_MODEL = ollama/deepseek-coder-v2
CODE_THEME = nord-darkerНастройка для Gemini:
- Установите Node.js и npm:
sudo apt install -y npm git - Клонируйте репозиторий прокси:
git clone https://github.com/PublicAffairs/openai-gemini ~/.local/node_modules/openai-gemini - Установите зависимости:
cd ~/.local/node_modules/openai-gemini && npm install - Запустите прокси:
npm run start(слушает на порту 8080) - В конфиге ShellGPT укажите:
API_BASE_URL = http://localhost:8080/v1
DEFAULT_MODEL = gemini-2.5-flashДля автозапуска прокси можно создать systemd-юнит.
Terminal GPT (TGPT): лёгкий и бесплатный ассистент
Terminal GPT (TGPT) — это ещё один CLI-инструмент для взаимодействия с ИИ, но с важным отличием: он использует бесплатную платформу BAI Chat, поэтому не требует API-ключа. Это делает его идеальным для быстрого ознакомления или для пользователей, которые не хотят регистрироваться на OpenAI.
Установка TGPT:
curl -sSL https://raw.githubusercontent.com/aandrew-me/tgpt/main/install | bash -s /usr/local/binПосле установки команда tgpt готова к использованию. Пример запроса:
tgpt "Как посмотреть список процессов в Linux?"Особенности TGPT:
- Не требует API-ключа и регистрации.
- Поддерживает только текстовые запросы (не может выполнять команды в терминале).
- Можно переименовать команду для удобства:
sudo mv /usr/local/bin/tgpt /usr/local/bin/ai - Работает через BAI Chat, что может быть менее стабильно, чем прямой доступ к API.
- Подходит для общих вопросов, не обязательно связанных с Linux.
TGPT — это лёгкое решение для тех, кто хочет быстро получить ответ, не углубляясь в настройку API-ключей и прокси.
Shell Genie: специализированный помощник для команд Linux
Shell Genie — это инструмент, который фокусируется исключительно на вопросах, связанных с операционной системой Linux и её командами. Он не пытается отвечать на общие вопросы, а генерирует готовые команды для выполнения в терминале.
Установка Shell Genie:
pipx install shell-genieПеред первым использованием необходимо инициализировать сервис:
shell-genie ask "Как найти файл по имени?"При первом запуске программа предложит выбрать режим: free-genie (бесплатный, без API-ключа) или openai (с ключом). Для бесплатного использования выберите free-genie.
Пример использования:
shell-genie ask "Показать 10 самых больших файлов в текущей директории"Shell Genie вернёт команду du -ah . | sort -rh | head -10 и предложит её выполнить.
Особенности Shell Genie:
- Специализируется только на Linux-командах.
- Бесплатный режим без API-ключа.
- Не поддерживает общие вопросы или генерацию кода.
- Может быть менее точен, чем ShellGPT, но для типовых задач администрирования вполне достаточен.
Сравнение инструментов: когда что выбирать
Выбор между ShellGPT, TGPT и Shell Genie зависит от конкретных задач и предпочтений.
| Критерий | ShellGPT | TGPT | Shell Genie | |----------|----------|------|-------------| | Требуется API-ключ | Да (ChatGPT/Gemini) или локальная модель | Нет | Нет (бесплатный режим) | | Поддержка локальных моделей | Да (через Ollama) | Нет | Нет | | Генерация и выполнение команд | Да | Нет | Да (только команды) | | Чат-режим | Да | Нет | Нет | | Генерация кода | Да | Нет | Нет | | Анализ данных | Да | Нет | Нет | | Конфиденциальность | Высокая (локальные модели) | Средняя (через BAI Chat) | Средняя (через внешний сервис) | | Сложность настройки | Средняя | Низкая | Низкая |
Рекомендации:
- Если вам нужен универсальный помощник с возможностью генерации кода, анализа данных и чата — выбирайте ShellGPT.
- Если вы хотите быстро получать ответы на общие вопросы без регистрации — TGPT.
- Если ваша задача — быстро узнать правильную команду Linux — Shell Genie.
Практические примеры использования
Рассмотрим несколько реальных сценариев, где ИИ-ассистенты в терминале могут значительно ускорить работу.
Пример 1: Поиск и исправление ошибки в логах
# ShellGPT анализирует последние строки лога
sgpt "Проанализируй этот лог и найди причину ошибки: $(tail -20 /var/log/syslog)"Пример 2: Генерация сложной команды
# ShellGPT генерирует команду для поиска и удаления старых файлов
sgpt --shell "Найти все файлы .log старше 30 дней в /var/log и удалить их"Пример 3: Быстрый вопрос через TGPT
tgpt "Как смонтировать образ ISO в Linux?"Пример 4: Получение команды через Shell Genie
shell-genie ask "Создать архив tar.gz из папки projects"Пример 5: Чат с локальной моделью
# Запуск интерактивного режима ShellGPT с Ollama
sgpt --chatЭти примеры показывают, как ИИ-ассистенты могут заменить поиск в интернете или чтение man-страниц, особенно для редких или сложных команд.
Безопасность и конфиденциальность при использовании
При работе с ИИ-ассистентами в терминале важно учитывать вопросы безопасности.
Облачные модели (ChatGPT, Gemini):
- Ваши запросы и данные передаются на серверы провайдера.
- Не отправляйте конфиденциальную информацию (пароли, ключи, персональные данные).
- API-ключи могут быть скомпрометированы, если хранить их в открытом виде.
Локальные модели (Ollama):
- Все данные остаются на вашем компьютере.
- Требуют значительных ресурсов (ОЗУ, диск) для работы моделей.
- Модели могут быть менее точными, чем облачные аналоги.
TGPT и Shell Genie (бесплатные режимы):
- Используют внешние сервисы (BAI Chat, free-genie), которые могут логировать запросы.
- Не рекомендуется передавать чувствительные данные.
Рекомендации:
- Для работы с конфиденциальными данными используйте локальные модели через Ollama.
- Храните API-ключи в переменных окружения, а не в конфигурационных файлах.
- Регулярно проверяйте, какие данные передаются вовне.
- Используйте прокси-серверы (например, для Gemini) для дополнительного контроля.
Ограничения и возможные проблемы
Несмотря на все преимущества, у ИИ-ассистентов в терминале есть ряд ограничений.
Ограничения ShellGPT:
- Для облачных моделей требуется платная подписка (ChatGPT) или ограниченный бесплатный доступ (Gemini).
- Локальные модели требуют много ресурсов (например, DeepSeek-Coder V2 занимает ~10 ГБ диска).
- При использовании Ollama может наблюдаться задержка при первом запросе (модель загружается в память).
- Форматирование вывода ограничено возможностями терминала (нет поддержки сложных таблиц или изображений).
Ограничения TGPT:
- Не может выполнять команды в терминале.
- Зависит от доступности BAI Chat (возможны перебои).
- Менее точен для специализированных вопросов по Linux.
Ограничения Shell Genie:
- Отвечает только на вопросы о Linux-командах.
- Бесплатный режим может быть менее стабильным.
- Не поддерживает контекстные диалоги.
Возможные проблемы:
- Ошибки при установке из-за отсутствия зависимостей (Python, pipx, Node.js).
- Конфликты версий Python при использовании pip вместо pipx.
- Проблемы с прокси-сервером для Gemini (необходимо настроить автозапуск).
- Некорректные или опасные команды, сгенерированные моделью (всегда проверяйте перед выполнением).
Вопросы и ответы
Какой инструмент лучше всего подходит для начинающих?
Для начинающих лучше всего подходит TGPT, так как он не требует API-ключа и регистрации. Установка выполняется одной командой, и сразу можно задавать вопросы. Если нужно получить именно команды Linux, то Shell Genie тоже прост в установке и использовании.
Можно ли использовать ShellGPT без доступа в интернет?
Да, для этого нужно установить локальную модель через Ollama (например, DeepSeek-Coder или Llama). ShellGPT поддерживает работу с локальными моделями через LiteLLM. Все запросы будут обрабатываться на вашем компьютере, без передачи данных вовне.
Какой API-ключ нужен для ShellGPT?
Для работы с ChatGPT требуется ключ от OpenAI (платный, после пробного периода). Для Gemini — бесплатный ключ из Google AI Studio. При использовании локальных моделей через Ollama ключ не нужен — можно указать любую непустую строку.
Безопасно ли выполнять команды, сгенерированные ИИ?
Нет, всегда проверяйте сгенерированные команды перед выполнением. ИИ может ошибаться или предлагать опасные действия (например, удаление важных файлов). Используйте флаг --no-shell в ShellGPT, чтобы сначала просмотреть команду, а затем решить, выполнять ли её.
Чем TGPT отличается от ShellGPT?
TGPT — это более лёгкий инструмент, который не требует API-ключа и использует бесплатную платформу BAI Chat. Он не может выполнять команды в терминале и не поддерживает чат-режим. ShellGPT, напротив, требует ключ (или локальную модель), но предлагает генерацию команд, анализ данных и интерактивный диалог.
Как ускорить работу локальной модели в ShellGPT?
Можно настроить автозагрузку модели в память, чтобы она не выгружалась по таймауту. Для этого создайте systemd-юнит или добавьте в автозапуск команду ollama run deepseek-coder-v2 ping &> /dev/null с параметром OLLAMA_KEEP_ALIVE="-1". Это увеличит потребление ОЗУ, но ускорит отклик.
Поддерживает ли Shell Genie другие операционные системы, кроме Linux?
Shell Genie разработан для Linux и фокусируется на командах этой ОС. Он может работать в Windows через WSL или в macOS, но его ответы будут ориентированы на Linux-команды, что может быть не всегда уместно.