Перейти к содержимому

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 (Разрешения).

Ревью pull request’ов: workflow собирает диф изменений, отдаёт его агенту и дописывает ответ в Summary прогона.

name: ZubrCode review
on: pull_request
jobs:
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 и запустите zubrcode run --standalone с задачей. Ответ читайте из лога джобы или забирайте с --format json.