Bash4LLM⁺ — это CLI-обёртка для Groq API (и других провайдеров), написанная одним скриптом на Bash. Никаких зависимостей, кроме базового набора утилит: bash, coreutils, curl, jq.
Скрипт сам тянет список моделей через https://api.groq.com/openai/v1/models — никаких хардкоженных имён. Безопасность сделана по уму: никакого /tmp, никакого eval, файлы временные лежат в изолированной директории с правами 700, сохранённые — с 600.
Архитектура модульная: PRECORE_BOOT, PRECORE_RUN, PROVIDER, CORE_SETUP, CORE_PROVIDER. Есть система состояния UI (ui_state) — метаданные в JSON, которые можно читать из Home Assistant или другой GUI. Поддержка и streaming, и обычного режима. Автосохранение длинных ответов, управление моделями (рефреш, белый список, дефолт).
Из интересного — корректная работа на Termux под Android. Скрипт обходит flock, который там часто глючит из-за SELinux, и использует атомарный mkdir для блокировок.
Память контекста не встроена по умолчанию, но включается флагом --session <id>. Тогда создаётся NDJSON-файл с историей, а метаданные пишутся в ui_state. Есть режим --chat (REPL), батчевая обработка, шаблоны, работа с файлами и пайпами.
Код распространяется под GPL v3. Автор — Cristian Evangelisti. Репозиторий на GitHub: kamaludu/bash4llm.