Releases: borro/ragcli
v0.8.0
Крупный релиз с новой командой self-update, которая позволяет ragcli самостоятельно проверять и устанавливать свежий stable release из GitHub Releases.
Главное
- Добавлена команда
ragcli self-update. - Добавлен режим
ragcli self-update --checkдля безопасной проверки доступности новой версии без записи на диск. ragcli self-updateскачивает asset для текущей платформы, проверяетchecksums.txtи атомарно заменяет текущий бинарь.- Пререлизы и draft-релизы игнорируются: выбирается только последний stable release из
borro/ragcli.
Что важно знать
self-updateработает только для release-сборок с корректной semver-версией, а не дляdev-билдов.- Для обновления обязателен
checksums.txt; без него команда завершится ошибкой. - Команда не принимает prompt и не использует LLM-конфигурацию.
- Для сборки из исходников теперь требуется Go
1.26+.
Дополнительно
- Усилен live e2e smoke: добавлены проверки verbose-сценариев и stricter pre-push / pre-commit automation.
- Обновлены документация, help и тесты вокруг новой команды.
v0.7.0
Крупный релиз с новым interaction mode для всех основных режимов ragcli.
Главное
- Добавлен флаг
--interaction(-i). - После первого успешного ответа CLI теперь может оставаться в post-run сессии и принимать follow-up вопросы без повторного запуска команды.
- Поддерживаются команды
/resetи/exit.
Что это даёт
map,rag,toolsиhybridтеперь можно использовать как лёгкий REPL поверх уже подготовленного входа и текущего состояния ответа.- Follow-up ответы продолжают идти в
stdout, а prompt и banner работают через отдельный interaction stream. - Если исходный документ был передан через
stdin, follow-up ввод читается из controlling TTY, чтобы не ломать пайплайны.
Поведение
/resetвозвращает состояние к моменту сразу после первого ответа./exitзавершает интерактивную сессию.- Для
toolsиhybridinteraction mode сохраняет и переиспользует conversation state, evidence tracking и tool-session baseline между follow-up вопросами. - Для
hybridinteraction mode работает и в direct-context path, и в tool-based path.
Зачем обновляться
v0.7.0 полезен, если вы задаёте к одному и тому же файлу или директории несколько последовательных вопросов и не хотите каждый раз заново поднимать полный pipeline. Это особенно удобно для tools, rag и hybrid, где follow-up вопросы естественно продолжают уже начатое расследование.
v0.6.2
Патч-релиз с ускорением hybrid на маленьких входах и добавлением live e2e smoke-проверки для реальных backend’ов.
Что изменилось
- В
hybridдобавлен fast path для маленьких single-file входов иstdin. - Если файл помещается в безопасный budget контекста,
hybridтеперь отвечает напрямую по содержимому без предварительногоsearch_rag, индекса и tool-loop. - Если direct-context path неприменим, поведение остаётся прежним: режим откатывается к seeded retrieval flow.
- Добавлены тесты на direct-context path, fallback при невозможности определить context length и корректное завершение verbose progress.
- Добавлен live e2e smoke script
scripts/e2e_live_smoke.sh. lefthookтеперь запускает этот smoke наpre-push; при отсутствии обязательных env сценарий корректно пропускается, а для жёсткого режима естьRAGCLI_E2E_REQUIRED=1.
Зачем обновляться
v0.6.2 заметно снижает стоимость и задержку hybrid на небольших документах, где полноценный retrieval+tools pipeline избыточен. Одновременно релиз усиливает проверку реальной интеграции с LLM backend’ами через отдельный smoke-тест.
v0.6.1
Небольшой релиз с улучшением качества вывода и выделением общего rag ядра, плюс более строгая обработка аргументов tools.
Что изменилось
- Выделено общее ядро
ragcore: единая логика retrieval, seed-потока и tool-интерфейса. - Улучшено поведение
hybrid: лучшее формирование evidence и fused seed flow. - Нормализован формат
Sources:вrag. - Дедуплицирована обработка аргументов tools и добавлена общая sanitization‑логика.
- В debug-логах tools теперь фиксируются аргументы tool call.
- Тесты и ownership-checks очищены от дубликатов и межпакетных пересечений.
Зачем обновляться
v0.6.1 делает ответы rag/hybrid более аккуратными и предсказуемыми, а инструментарий tools — более надёжным и прозрачным при отладке.
v0.6.0
Крупный релиз с новой версией hybrid, расширением tools через --rag, и переносом tool-инфраструктуры в отдельный aitools слой.
Главное
- Полностью переработан
hybrid: теперь это seeded-режим, который стартует сsearch_rag, затем проверяет и уточняет ответ через file-tools, и всегда дополняет финалSources:. - В
toolsдобавлен флаг--rag, который подключает semantic retrieval toolsearch_ragповерх локального индекса. - Для
tools --ragиhybridтеперь обязательны embeddings (как и дляrag).
Что изменилось
toolsпереведён на новую tool-архитектуруaitoolsс единым registry/execute pipeline и отдельным набором file-tools и rag-tools.filetoolsпереработаны и перенесены вinternal/aitools/files, добавлен полноценныйsearch_ragtool вinternal/aitools/rag.i18nразбит на package-level каталоги и упрощён загрузчик локализации.hybridтеперь работает через tool-session orchestration вместо прежнего пайплайна.
Для кого это важно
Если вы:
- используете
hybrid— поведение изменилось, теперь это seeded+tools режим; - используете
toolsи хотите semantic retrieval без обязательного initial seed — включайте--rag.
v0.5.0
Крупный релиз, который переводит ragcli от file-only input к path-based input и добавляет полноценную работу с директориями во всех режимах: map, rag, hybrid и tools.
Главное
- Добавлен канонический флаг
--pathдля входного файла или директории. - Добавлена каноническая переменная окружения
INPUT_PATH. --file,-fиINPUT_FILEсохранены как alias-ы для совместимости.- Теперь
ragcliумеет работать не только с одним файлом, но и с целым локальным corpus из директории.
Что изменилось по режимам
mapтеперь может анализировать директорию как детерминированный synthetic corpus с сохранением границ файлов.ragиhybridподдерживают directory input с file-aware retrieval:- индексация идёт по файлам внутри директории;
- citations и
Sources:сохраняют relative paths; - line numbers остаются file-local.
toolsтеперь умеет работать по директории, а не только по одному файлу.- В
toolsдобавлен новый инструментlist_files. - Для multi-file сценариев
search_fileможет искать по всему corpus, аread_linesиread_aroundработают с явнымpath.
Поведение input
- Если
--pathуказывает на директорию,ragcliрекурсивно обходит её в детерминированном порядке. - В corpus включаются только regular text files.
- Hidden directories, symlink-объекты и бинарные файлы пропускаются.
stdinпо-прежнему поддерживается, но теперь материализуется как snapshot через единый path-aware input lifecycle.
Что ещё улучшено
- Проведён крупный рефакторинг
internal/appиinternal/llm, чтобы разделить CLI binding, runtime orchestration, retry, auto-context и клиентские адаптеры. - Обновлены документация, архитектурное описание и package-level README по внутренним пакетам.
- Добавлены и переработаны тесты для directory input, runtime и multi-file tool/retrieval сценариев.
- Упрощена логика reduce batching в
map.
Почему это 0.5.0
Это уже не patch-релиз:
- меняется канонический способ задания входа;
- появляется новый пользовательский сценарий работы по директориям;
- расширяется surface area
tools; - заметно переработаны orchestration- и input-слои.
v0.4.1
Патч-релиз с явным и предсказуемым управлением proxy для всего LLM-трафика в ragcli, включая и chat-запросы, и embeddings.
Что изменилось
В ragcli появилась отдельная настройка proxy для всех HTTP-запросов к LLM backend’у.
Добавлено
- Новый глобальный флаг
--proxy-url - Новый глобальный флаг
--no-proxy - Новая переменная окружения
LLM_PROXY_URL - Новая переменная окружения
LLM_NO_PROXY
Поведение
--proxy-url/LLM_PROXY_URLпринудительно отправляют все LLM-запросы через указанный proxy URL--no-proxy/LLM_NO_PROXY=trueполностью отключают любой proxy дляragcli, включая proxy из окружения- Если новые настройки не заданы,
ragcliсохраняет стандартное поведение Go черезHTTP_PROXY,HTTPS_PROXYиNO_PROXY - Одинаковая proxy-логика теперь применяется и к chat completion, и к embeddings
- Явный proxy override имеет приоритет над системными proxy-настройками окружения
UX и документация
- Обновлены help-тексты CLI и локализованные описания новых флагов
- README дополнен примерами использования для Linux и Windows
- В debug-логах теперь показывается режим proxy без утечки credentials
Валидация и надёжность
- Некорректный proxy URL теперь приводит к понятной ошибке уже на старте
- Добавлены тесты на CLI binding, proxy override,
no-proxy, fixed proxy и безопасное логирование proxy-адреса
Зачем обновляться
v0.4.1 полезен для корпоративных сетей, Windows-окружений и любых сценариев, где важно не зависеть от неявного поведения HTTP_PROXY и иметь полный контроль над маршрутизацией запросов к LLM.
v0.4.0
Крупный релиз с локализацией CLI, переработкой retrieval-слоя для rag и hybrid, и улучшением стабильности tools.
Главное
- Добавлена локализация интерфейса CLI.
- Язык теперь определяется автоматически по системной locale и окружению.
- Важно: локализация зависит от переменных окружения и системной locale, но её можно явно переопределить через
--langилиRAGCLI_LANG. - Поддерживаются
enиru. - Приоритет такой:
--lang→RAGCLI_LANG→ автоопределение системной locale → fallback вen.
Что изменилось
ragиhybridпереведены на общий retrieval-слой с выделенными shared helpers.- Старые retrieval-индексы теперь инвалидируются корректно после изменений формата кеша.
- Упрощено хранение индекса и добавлен streaming source file вместо лишнего удержания данных в памяти.
- В
ragисправлена публикация temp index files на Windows. - В
toolsorchestration limit увеличен до 20 шагов, а при достижении лимита добавлена принудительная финализация ответа. - Упрощён flow auto context length resolution и fallback для
mapиhybrid. - Тесты изолированы от реальных backend’ов и загруженных моделей, чтобы снизить флаки и зависимость от внешнего окружения.
Зачем обновляться
v0.4.0 делает CLI заметно удобнее для реального использования в разных локалях и окружениях, а rag/hybrid становятся стабильнее за счёт более чистого retrieval pipeline и корректной работы с кешами. Для пользователей tools это также обновление на более предсказуемое завершение длинных orchestration-сценариев.
v0.3.2
Патч-релиз про более надёжный выбор лимита контекста в map и hybrid, плюс правка CI/coverage.
Что изменилось
- Добавлено автоопределение context length модели для
map(через LM Studio/api/v1/models, с fallback-проверкой по ошибке переполнения контекста). --lengthтеперь работает как строгий override: если флаг/переменнаяLENGTHзаданы, автоопределение не используется.- Если автоопределение недоступно,
mapиспользует безопасный fallback10000. hybridв режиме fallback наmapтеперь использует ту же логикуauto-or-default, чтобы поведение было консистентным.- Расширены тесты для резолва context length, caching, warmup-сценария и strict override.
- Исправлен workflow покрытия в CI (
codecovupload и порядок шагов).
Зачем обновляться
v0.3.2 снижает риск ручного подбора --length и делает обработку больших файлов стабильнее на разных OpenAI-compatible backend’ах. При этом для предсказуемых сценариев остаётся полный контроль через явный --length.
v0.3.1
Небольшой patch-релиз с улучшением диагностики embedding-ошибок.
Что изменилось
ragcliтеперь сохраняет и возвращает исходную причину ошибки после исчерпания retry при запросах к embedding endpoint.- Вместо общего сообщения об ошибке пользователь получает более полезный контекст, например конкретный
503или другую ошибку backend'а.