qqqa CLI

Две команды для терминала на Rust: qq отвечает на быстрый вопрос по командной строке, а qa делает один шаг с файлами и командами

  • 628 ★ репозитория
  • Последний коммит
CLI

Широкий доступ

Почему такой уровень

  • Команда qa записывает файлы и выполняет команды оболочки по ответу модели, а флаг `-y` отключает подтверждение
  • Ключи API лежат в переменных окружения или в `~/.qq/config.json`, а запросы, данные из пайпа и фрагменты истории уходят выбранному провайдеру модели
  • Профили codex, claude_cli и gemini_cli запускают установленные бинарники других агентов с их авторизацией
Все причины и проверки

iagooar/qqqa

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/qqqa

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Команда qa записывает файлы и выполняет команды оболочки по ответу модели, а флаг `-y` отключает подтверждение
  • Ключи API лежат в переменных окружения или в `~/.qq/config.json`, а запросы, данные из пайпа и фрагменты истории уходят выбранному провайдеру модели
  • Профили codex, claude_cli и gemini_cli запускают установленные бинарники других агентов с их авторизацией

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Пакет qqqa ставит в терминал два коротких бинарника. Команда `qq` задает один вопрос модели: `qq "convert mp4 to mp3"`. Она только читает и обходится без инструментов. Ответ идет потоком с цветной разметкой для терминала. Команда `qa` умеет больше: она делает один шаг агента и вызывает один из трех инструментов, которые читают файл, пишут файл или запускают команду. Команду для запуска `qa` сначала показывает и ждет подтверждения, флаг `-y` подтверждает без вопросов для скриптов. Утилита намеренно не хранит сеансов: нет долгой беседы и скрытой памяти, каждый запуск почти не зависит от предыдущих. Контекст вы добавляете сами: данные из пайпа (`git status | qq "что делать дальше"`) и, по желанию, последние команды qq и qa через флаг `--history`. Фрагмент команды из ответа можно автоматически копировать в буфер обмена (`qq --enable-auto-copy`). Модель выбирают профилем в `~/.qq/config.json`. Из коробки есть OpenRouter (по умолчанию, модель openai/gpt-4.1-nano), OpenAI, Groq, Gemini, локальный Ollama, а также профили, которые вызывают установленные вами бинарники Codex CLI, Claude Code CLI и Gemini CLI с их собственным входом. Любой OpenAI-совместимый провайдер добавляется правкой конфига. Работает на macOS, Linux и Windows.

Для кого. Тем, кто часто работает в терминале и хочет быстро спросить, как собрать нужную команду, или поручить модели одну несложную операцию с файлами, не открывая полноценного агента.

Подходит, если

  • Нужно вспомнить флаги ffmpeg, tar или find, и вы хотите получить ответ прямо в терминале за пару секунд
  • Результат команды надо объяснить: `git status | qq "что делать дальше"` подает вывод на вход модели
  • Нужна одна операция с проверкой: `qa "list Rust files under src sorted by size"` покажет команду и выполнит ее после подтверждения
  • Модель нужно выбрать под бюджет: профили OpenRouter, Groq, OpenAI, Gemini и локальный Ollama переключаются флагом `--profile`
  • Вы уже платите за Codex CLI или Claude Code и хотите вызывать их бинарники из тех же команд qq и qa

Не подходит, если

  • Задача требует нескольких шагов и самостоятельной работы с проектом: qa делает один шаг за вызов, для такой работы нужен полноценный агент
  • Нужна беседа с памятью: qqqa не хранит сеансов, в историю попадают лишь последние команды qq и qa
  • Среда не допускает запуска команд даже с подтверждением: у qa есть инструмент для выполнения команд
  • Доступ к облачным моделям из вашей сети закрыт, а локальной модели нет: без Ollama или подобного сервера запросы некуда отправить

Пример запроса к агенту

qa "найди в текущей папке файлы Rust больше 100 килобайт, покажи команду и выполни после моего подтверждения"

Ограничения

Модель задает выбранный профиль, а ключ берется из переменной окружения вроде OPENROUTER_API_KEY, GROQ_API_KEY, OPENAI_API_KEY или GEMINI_API_KEY. Ключ можно записать и в `~/.qq/config.json`: файл создается с безопасными правами. Профили Codex CLI и Claude Code CLI ключа не просят: нужен установленный бинарник `codex` или `claude` и выполненный `codex login` или `claude login`. У профиля Codex ответ приходит целиком, без потока.

Профиль anthropic в конфиге есть, но пока заглушка и не работает. Таймаут запроса по умолчанию 180 секунд. На Arch Linux имя `/usr/bin/qq` может занимать другой пакет, тогда ставьте бинарники в свою папку или собирайте через `cargo install`. Работа с OpenRouter, OpenAI, Groq, Gemini и Anthropic из России при подготовке карточки не проверялась, локальный Ollama доступен без внешней сети.

Как отключить. Если ставили через Homebrew, выполните `brew uninstall qqqa`. Если распаковывали архив с релиза, удалите файлы qq и qa из папки в PATH. Конфигурация и ключи лежат в `~/.qq/config.json` (или в `$XDG_CONFIG_HOME/qq/config.json`), этот файл удаляется вручную.

Частые вопросы

Как поставить qqqa?

На macOS и Linux выполните `brew install qqqa`. На Linux и Windows можно скачать архив из GitHub Releases, распаковать и положить qq и qa в PATH. Затем запустите `qq --init`: мастер предложит провайдера и сохранит конфиг в `~/.qq/config.json`.

Чем qq отличается от qa?

Команда qq задает один вопрос, работает только на чтение и не имеет инструментов. Она может учитывать данные из пайпа и последние команды. Команда qa делает один шаг агента с тремя инструментами: read_file, write_file и execute_command, а выполнение команды подтверждается.

Нужен ли qqqa ключ API?

Для профилей OpenRouter, OpenAI, Groq и Gemini нужен: он берется из OPENROUTER_API_KEY, OPENAI_API_KEY, GROQ_API_KEY или GEMINI_API_KEY. Для профилей codex, claude_cli и gemini_cli вход выполняет сам бинарник командами `codex login` и `claude login`, а локальный Ollama принимает любую непустую строку.

Как запускать qa в скриптах без вопросов?

Флаг `-y` подтверждает выполнение инструментов автоматически, например `qa -y "count lines across *.rs"`. Он снимает защиту подтверждения, поэтому используйте его только в проверенных заданиях.

Запоминает ли qqqa прошлые запросы?

Нет, сеансов утилита не хранит. История по умолчанию выключена. Включить ее можно при `qq --init` или флагом `--history`, и тогда к запросу добавляются последние 10 команд, первое слово которых qq или qa. Другие команды терминала не передаются.

Обсуждение

Вопросов и отзывов пока нет.

Выбор редакции

Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода

ПлагинРасширенный доступ304 тыс.Звезды репозитория
Выбор редакции

Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура

СкиллМинимальный доступ301,6 тыс.Звезды репозитория

Четыре принципа в одном CLAUDE.md против типичных ошибок LLM в коде: допущения, переусложнение, лишние правки

СкиллМинимальный доступ222,6 тыс.Звезды репозитория

Плагин и скилл, который заставляет агента писать минимум кода: сначала повторное использование, stdlib и нативные возможности

ПлагинРасширенный доступ174,3 тыс.Звезды репозитория
Выбор редакции

Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации

CLIРасширенный доступ142,5 тыс.Звезды репозитория

Набор скиллов Гэрри Тана, превращающий Claude Code в виртуальную команду: продукт, архитектура, дизайн, ревью, QA и выпуск

СкиллШирокий доступ137,4 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
qqqa (эта запись)нет628
gptmeдане нужна4 462постоянный агент в терминале с шеллом, Python и вебом, ведет беседу и хранит контекст
otermнет2 446полноценный терминальный чат с сессиями в SQLite для Ollama, OpenAI и других

Коротко о README

README представляет qqqa как два коротких бинарника для терминала и объясняет выбор имен: их удобно набирать на QWERTY. Далее философия без сеансов, обоснование выбора OpenRouter по умолчанию, профили Codex CLI и Claude Code CLI с конфигами, список возможностей, установка через Homebrew и архивы релизов, настройка провайдеров и профилей, терминальная история. Примеры использования qq и qa завершает сценарий с извлечением звука из видео.

Бейдж для README

Сообщить о проблеме

Foxx AIqqqa
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.