Установка и использование ShellGPT в Ubuntu
TL;DR
ShellGPT — это командная оболочка для доступа к возможностям ChatGPT прямо из терминала Ubuntu. В статье описаны шаги: установка Python и pip, создание виртуального окружения, генерация и безопасное сохранение OpenAI API ключа, установка пакета shell-gpt и базовые примеры использования. Также включены советы по безопасности, отладке и рабочие контрольные списки.
Важное: не делитесь своим OPENAI_API_KEY и храните его в защищённом месте (например, в файле ~/.bashrc или менеджере секретов).

Зачем нужен ShellGPT и когда он полезен
ShellGPT (команда sgpt) — это версия ChatGPT для командной строки. Она позволяет:
- быстро задавать вопросы и получать ответы прямо в терминале;
- генерировать и править код без перехода в браузер;
- автоматизировать рутинные команды и получать подсказки по shell-сценариям.
Короткое определение: ShellGPT — это клиент OpenAI в виде утилиты для терминала, использующий ваш OpenAI API ключ для запросов к LLM.
Когда стоит использовать ShellGPT:
- вы часто работаете в терминале и не хотите открывать браузер;
- нужен быстрый прототип кода или команда для shell-сценария;
- хочется автоматизировать интерактивную помощь в скриптах.
Когда ShellGPT не подходит:
- если необходимо хранить конфиденциальные данные в модели (риски утечки через API);
- когда нужен полный доступ к истории чатов и мультимодальным возможностям, доступным в веб-интерфейсе.
Ключевые преимущества
- Экономия времени: меньше контекст‑переключений между терминалом и браузером.
- Гибкость: можно интегрировать в алиасы, скрипты и CI-пайплайны.
- Контроль: вы управляете API ключом и окружением на своей машине.
Требования и подготовка
Коротко: Ubuntu (или другая Debian-подобная ОС), доступ в интернет, аккаунт OpenAI и Python 3.
Проверьте версии и наличие пакетов:
python3 --version
pip --versionЕсли Python не установлен, установите его через apt:
sudo apt update
sudo apt install python3 -yЕсли pip отсутствует, установите его:
sudo apt install python3-pip -yШаг 1. Создание виртуального окружения (рекомендуется)
Виртуальное окружение изолирует зависимости проекта и предотвращает конфликты версий библиотек.
Установите модуль venv, если он отсутствует:
sudo apt install python3-venv -yСоздайте рабочую директорию и виртуальное окружение:
mkdir cli-shellgpt
cd cli-shellgpt
python3 -m venv venvАктивируйте окружение:
source venv/bin/activateПосле активации приглашение терминала изменится, например:
(venv) user@host:~/cli-shellgpt$Совет: деактивировать окружение можно командой deactivate.
Шаг 2. Генерация OpenAI API ключа
Перейдите на сайт OpenAI и войдите в свой аккаунт. Откройте меню профиля → View API Keys → Create new secret key.
Ключ появляется один раз. Скопируйте его и сохраните в безопасном месте.
Не передавайте ключ третьим лицам.
Шаг 3. Экспорт ключа в окружение и сохранение
Временная установка переменной окружения (действует в текущем сеансе терминала):
export OPENAI_API_KEY=<вставьте-ключ-здесь>Чтобы сделать переменную постоянной для вашей пользовательской сессии, добавьте её в ~/.bashrc или ~/.profile. Пример:
# откройте ~/.bashrc в редакторе
nano ~/.bashrc
# добавьте в конец файла
export OPENAI_API_KEY="<вставьте-ключ-здесь>"
# затем сохраните и примените изменения
source ~/.bashrcПримечание: некоторые дистрибутивы используют ~/.profile или ~/.bash_profile. Для zsh — ~/.zshrc.
Проверка: выполните env | grep OPENAI_API_KEY или echo $OPENAI_API_KEY (не выводите ключ в общедоступных логах).
Шаг 4. Установка ShellGPT
С установленным Python, виртуальным окружением и ключом, установите пакет:
pip3 install shell-gptЕсли вы находитесь в активированном виртуальном окружении, достаточно pip install shell-gpt.
После установки доступна команда sgpt.
Быстрые примеры использования
Запрос через терминал:
sgpt "How many galaxies exist within the universe"Генерация кода:
sgpt --code "print the Fibonacci series"Эти команды возвращают текст или блоки кода, которые вы можете сразу скопировать и запустить.
Полезные опции и привычные сценарии
- Быстрая помощь по команде:
sgpt --help. - Генерация скриптов:
sgpt --code "bash script to backup ~/projects". - Пояснение сложной команды:
sgpt "Explain: awk -F':' '{print $1}' /etc/passwd". - Создание тестов:
sgpt --code "pytest tests for function X".
Совет: используйте флаг --model если хотите явно указать модель (если shell-gpt поддерживает эту опцию в вашей версии).
Настройка алиаса и интеграция в workflow
Чтобы вызвать sgpt быстрее, можно создать алиас в ~/.bashrc:
# Быстрый алиас для sgpt
alias ask='sgpt'После добавления и source ~/.bashrc вы сможете писать ask "How to...".
Интеграция в скрипты: используйте sgpt в CI только если ваш CI защищает секреты (например, через переменные окружения в GitHub Actions или GitLab CI).
Безопасность и конфиденциальность
Important: API-ключ предоставляет доступ к вашему биллингу и к данным, которые отправляются в OpenAI. Рекомендации:
- Не храните ключи в публичных репозиториях.
- Используйте менеджеры секретов (Vault, GitHub Secrets) для CI.
- Отключайте или вращайте ключи при подозрительной активности.
- Не отправляйте в модель персональные данные или конфиденциальные файлы без бизнеса-правовой оценки.
Короткая заметка по GDPR и приватности: отправка пользовательских данных в облачный LLM может подпасть под правила обработки персональных данных. Консультируйтесь с вашим DPO при работе с личными данными.
Отладка и частые ошибки
«Command ‘pip’ not found» — установите python3-pip как показано выше.
Ошибка при установке shell-gpt (permissions) — попробуйте установить внутри виртуального окружения или с опцией
--user:
pip install --user shell-gpt- Если
sgptне найден после установки — проверьте PATH или активировано ли виртуальное окружение. Вы можете найти местоположение исполняемого файла:
which sgpt
pip show shell-gpt- Ошибки с ключом API — проверьте, что переменная
OPENAI_API_KEYзадана. Для проверки:
echo $OPENAI_API_KEYНе выводите ключ в публичные логи.
Ментальные модели и трюки для эффективного использования
- Формулируйте запросы как задачи: «Напиши bash-скрипт, который…», «Объясни пошагово, как…». Короткие запросы дают общий ответ, подробные — более конкретные.
- Просите пояснить ограничения и альтернативы. Модель часто даст более безопасный и проверяемый результат.
- Всегда просматривайте сгенерированный код перед запуском в продакшене.
Мини‑методология тестирования и критерии приёмки
Мини‑метод для приёмки интеграции ShellGPT в рабочий процесс:
- Функциональный тест:
sgpt "Generate a POSIX-compliant backup script for ~/projects"— результат содержит валидный скрипт. - Стресс‑тест: серия коротких запросов подряд, чтобы проверить стабильность.
- Безопасность: убедиться, что ключ не логируется и хранится корректно.
- Критерии приёмки:
- sgpt запускается из стандартного терминала.
- Переменная OPENAI_API_KEY доступна в сессии.
- Сгенерированный код компилируется/запускается (если применимо) и выполняет заявленную функцию.
Ролевые контрольные списки
Разработчик:
- Установлено виртуальное окружение.
- Настроен alias для быстрого доступа.
- Проверена работоспособность
sgpt --code.
Системный администратор:
- Переменная OPENAI_API_KEY хранится в защищённом месте.
- Нет утечек ключей в логах.
- Ограничен доступ к серверу, где используется ключ.
Power user / DevOps:
- Интеграция в CI через секреты.
- Автоматические запросы используют минимально необходимые данные.
Решение проблем: дерево решений (Mermaid)
flowchart TD
A[sgpt не работает] --> B{sgpt установлен?}
B -- Да --> C{Путь к sgpt в PATH?}
B -- Нет --> D[Установите: pip install shell-gpt]
C -- Да --> E{OPENAI_API_KEY задан?}
C -- Нет --> F[Добавьте путь или активируйте venv]
E -- Да --> G[Проверьте ошибки сети и модель]
E -- Нет --> H[Экспортируйте ключ: export OPENAI_API_KEY=...]Тестовые примеры и сценарии приёмки
- Тест: «Создать скрипт резервного копирования: tar и rsync» — приёмка: скрипт запускается и создаёт архив.
- Тест: «Объяснить команду awk» — приёмка: ответ содержит пошаговое объяснение и пример.
- Тест безопасности: проверить, что ключ не отображается в истории команд
history— приёмка: ключ нигде не хранится в явном виде.
Альтернативы и когда их выбрать
- ChatGPT в веб‑интерфейсе — если вам нужен богатый UI, история и мультимодальные данные.
- Интеграционные клиенты (например, плагины для VS Code) — если вы хотите IDE‑интеграцию.
- Локальные LLM (на Raspberry Pi или сервере) — если политика безопасности запрещает отправлять данные в облако.
Ограничения и когда ShellGPT может подвести
- Ограничение контекста и модельных ошибок: ответы могут быть неточными.
- Платёжный риск: каждый запрос расходует лимит API и может повлечь затраты.
- Зависимость от сети и доступности OpenAI API.
Краткое руководство по безопасности (жёсткие рекомендации)
- Ограничьте права на файлы, содержащие ключ:
chmod 600 ~/.bashrcесли вы храните там ключ (лучше использовать менеджер секретов). - Используйте ротацию ключей: периодически заменяйте ключи.
- Логируйте минимально необходимую информацию.
Краткая галерея типичных ошибок и исправлений
- Ошибка: «ModuleNotFoundError: No module named ‘openai’» — решение:
pip install openaiвнутри окружения. - Ошибка: TLS/SSL — проверьте системные сертификаты и время сервера.
- Плохой или пустой ответ — увеличьте контекст или уточните вопрос.
Заключение
ShellGPT даёт удобный способ использовать возможности LLM прямо из терминала Ubuntu. Он ускоряет прототипирование, помогает генерировать и править код, а также упрощает рутинные задачи. Однако важно соблюдать практики безопасности при хранении и использовании API ключей и всегда проверять сгенерированный код перед выполнением.
Краткие рекомендации перед стартом:
- Установите Python и pip.
- Создайте виртуальное окружение.
- Сгенерируйте и безопасно сохраните OPENAI_API_KEY.
- Установите shell-gpt и протестируйте простые запросы.
Спасибо за чтение. Если нужно, подготовлю краткую инструкцию формата «copy-paste» для быстрого развёртывания на сервере.
Краткая сводка
- ShellGPT — терминальная обёртка для ChatGPT.
- Требуется OpenAI API ключ и Python.
- Рекомендуется использовать виртуальное окружение и менеджер секретов.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone