ZubrCode в CI
ZubrCode работает и в CI: ревьюит pull request’ы, разбирает упавшие сборки,
выполняет задачи по расписанию. Интерфейс не нужен — агент запускается одной
командой zubrcode run и печатает ответ в лог.
Общий рецепт
Заголовок раздела «Общий рецепт»Один и тот же для любой CI-системы.
Установка
Заголовок раздела «Установка»curl -fsSL https://zubriq.by/install.sh | shСкрипт кладёт бинарь в ~/.local/bin/zubrcode; на машинах без AVX2 сам
ставит baseline-сборку.
Ключ создаётся в чате: zubriq.by/chat → Настройки →
API-ключи. В CI передайте его
переменной окружения ZUBRIQ_API_KEY — бинарь берёт её сам. Без ключа или с
неверным run падает с ошибкой «Нет ключа ZuBrIQ или он недействителен».
zubrcode run --standalone "Проверь изменения на ошибки и регрессии"--standalone в CI обязателен: агент поднимает свой сервер в процессе
команды, и переменные окружения — включая ключ — до него доходят.
Полезные флаги run (полный список — CLI):
| Флаг | Что делает |
|---|---|
--model, -m |
модель в формате провайдер/модель, по умолчанию zubriq/zubr-coder |
--format json |
ответ в NDJSON — удобно разбирать скриптом |
--file, -f |
приложить файл к запросу (например, диф) |
--auto |
одобрять разрешения, не запрещённые явно |
--auto нужен, если агент должен править файлы или запускать команды; для
ревью «только читать» не нужен — разрешения можно задать заранее в
opencode.json (Разрешения).
GitHub Actions
Заголовок раздела «GitHub Actions»Ревью pull request’ов: workflow собирает диф изменений, отдаёт его агенту и дописывает ответ в Summary прогона.
name: ZubrCode reviewon: pull_requestjobs: review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - run: curl -fsSL https://zubriq.by/install.sh | sh - name: Ревью изменений env: ZUBRIQ_API_KEY: ${{ secrets.ZUBRIQ_API_KEY }} run: | git diff origin/${{ github.base_ref }}...HEAD > changes.diff ~/.local/bin/zubrcode run --standalone -f changes.diff \ "Проверь изменения на ошибки, уязвимости и регрессии. Кратко, по-русски." \ > review.md cat review.md >> "$GITHUB_STEP_SUMMARY"fetch-depth: 0— полная история, чтобы диф с базовой веткой посчитался.- Ключ — секрет репозитория: Settings → Secrets and variables → Actions →
ZUBRIQ_API_KEY. - Ответ агента попадает в Summary прогона (
$GITHUB_STEP_SUMMARY).
Для GitLab CI есть готовые шаблоны — ревью merge request’ов и разбор упавших
пайплайнов подключаются include в .gitlab-ci.yml, скрипты копировать не
нужно: ZubrCode в GitLab CI.
Другие CI
Заголовок раздела «Другие CI»В любой другой системе рецепт тот же: установите бинарь скриптом, положите
ключ в секрет CI и запустите zubrcode run --standalone с задачей. Ответ
читайте из лога джобы или забирайте с --format json.