OpenCodeReview
Использование aicentos в OpenCodeReview (OCR) — подключение ревью кода через кастомный провайдер
Обновлено:
OpenCodeReview (имя команды ocr) — CLI для AI-ревью кода с открытым кодом от Alibaba: читает Git diff и вызывает большую модель за рекомендациями по ревью. В него встроен провайдер OpenAI, поддерживаются и кастомные OpenAI-совместимые шлюзы — запросы можно перенаправить на aicentos.
Подготовка
Создайте в консоли aicentos отдельный ключ (рекомендуемое имя ocr-ci — так проще отслеживать расход). OCR поддерживает только два протокола — OpenAI и Anthropic; здесь используется путь OpenAI Chat Completions. Ревью кода опирается на способность модели к function calling, поэтому выбирайте модель с поддержкой вызова инструментов.
Конфигурация для заполнения
| Поле | Значение |
|---|---|
| провайдер | openai (встроенный, URL переопределяется) или кастомный провайдер |
| protocol | openai (Chat Completions) |
| URL | https://aicentos.com/v1 |
| API Key | ключ, созданный в консоли |
| модель | имя модели из «витрины моделей» в консоли, с поддержкой function calling |
Шаги настройки
-
Установите CLI (нужен Node.js, либо Homebrew на macOS):
npm install -g open-code-review -
Запишите конфигурацию неинтерактивной командой; в итоге она попадёт в
~/.opencodereview/config.json:ocr config set provider openai ocr config set model claude-sonnet-5 ocr config set providers.openai.url https://aicentos.com/v1 ocr config set providers.openai.api_key your_api_key_here -
Если удобнее графический мастер, запустите
ocr config providerиocr config model: в TUI выберите провайдера, введите ключ, выберите модель — по завершении автоматически выполнится проверка соединения.
Проверка
Сначала отдельно проверьте эндпоинт:
ocr llm testПосле успеха выполните настоящий запуск ревью в любом Git-репозитории:
ocr reviewПримечания
- В URL указывайте только до
/v1, не дописывайте полный путь/chat/completions. - Для резолвера конфигурации нужны все три составляющие: URL, ключ и модель; одного
exportпеременных окружения недостаточно — недостающее всё равно нужно записать в config.json, иначе вернётся 401. - Можно временно переопределить через переменные окружения — у них наивысший приоритет:
OCR_LLM_URL/OCR_LLM_TOKEN/OCR_LLM_MODEL. - У встроенного провайдера поля называются
providers.<name>.url, у кастомного —custom_providers.<name>.url; не перепутайте эти две мапы. - При нехватке баланса на счёте ошибка выглядит как 401 / 403 — сначала проверьте баланс на странице кошелька.
- Официальный репозиторий:
https://github.com/alibaba/open-code-review