@alibaba-group/open-code-review 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ja-JP.md CHANGED
@@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr
162
162
 
163
163
  **コードレビューの前に必ずLLMを設定する必要があります。**
164
164
 
165
+ OCRは統一された**プロバイダー(Provider)**システムでLLM設定を管理します。多数の主要プロバイダーが組み込まれており、プライベートデプロイメントやその他の互換エンドポイントに接続するためのカスタムプロバイダーの追加もサポートしています。設定は`~/.opencodereview/config.json`に保存されます。
166
+
165
167
  **オプションA: 対話的セットアップ(推奨)**
166
168
 
167
169
  ```bash
@@ -171,26 +173,47 @@ ocr config model # アクティブなプロバイダーのモデル
171
173
 
172
174
  ![Provider setup](imgs/providers.jpg)
173
175
 
174
- **オプションB: 手動設定**
176
+ 対話的UIがプロバイダーの選択、APIキーの入力、モデル設定をガイドし、完了後に自動的に接続テストを行います。
177
+
178
+ `ocr llm providers`を実行すると、すべてのビルトインプロバイダーを確認できます。ビルトインプロバイダーにはAPI URLとプロトコルがプリセットされているため、APIキーを提供するだけで使用できます。対応する環境変数(例:`ANTHROPIC_API_KEY`、`OPENAI_API_KEY`)が設定済みの場合、APIキーは自動的に読み取られます。
179
+
180
+ **カスタムプロバイダー**も対話的UIから追加できます — プロバイダー名、API URL、プロトコルタイプ(`anthropic`または`openai`)、APIキーを入力します。
181
+
182
+ **オプションB: CLIセットアップ(CI/CDなど非対話環境向け)**
183
+
184
+ `ocr config set`コマンドでプロバイダー設定を直接書き込みます。スクリプトや自動化に適しています。
185
+
186
+ ビルトインプロバイダーを使用する場合:
175
187
 
176
188
  ```bash
177
- ocr config set llm.url https://api.anthropic.com/v1/messages
178
- ocr config set llm.auth_token your-api-key-here
179
- ocr config set llm.model claude-opus-4-6
180
- ocr config set llm.use_anthropic true
189
+ ocr config set provider anthropic
190
+ ocr config set providers.anthropic.api_key your-api-key-here
191
+ ocr config set providers.anthropic.model claude-sonnet-4-6
181
192
  ```
182
193
 
183
- 設定は`~/.opencodereview/config.json`に保存されます。
184
-
185
- **`auth_header`(オプション):** Anthropic使用時にAPIキーを送信するHTTPヘッダーを制御します。省略時のデフォルトは`authorization`(Bearerトークン)です。標準の`sk-ant-*` APIキーを使用する場合は、`x-api-key`に設定する必要があります:
194
+ カスタムプロバイダーを使用する場合(プライベートゲートウェイやその他の互換エンドポイント):
186
195
 
187
196
  ```bash
188
- ocr config set llm.auth_header x-api-key
197
+ ocr config set provider my-gateway
198
+ ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1
199
+ ocr config set custom_providers.my-gateway.protocol openai
200
+ ocr config set custom_providers.my-gateway.api_key your-api-key-here
201
+ ocr config set custom_providers.my-gateway.model gpt-4o
189
202
  ```
190
203
 
191
- サポートされる値:`x-api-key`、`authorization`(エイリアス:`bearer`)。それ以外の値はエラーになります。
204
+ > カスタムプロバイダーでは`url`と`protocol`が必須です。サポートされるプロトコル:`anthropic`、`openai`。
205
+
206
+ オプション設定:
207
+
208
+ | キー | 説明 |
209
+ |------|------|
210
+ | `providers.<name>.auth_header` | 認証ヘッダー:`x-api-key`または`authorization`(デフォルト:`authorization`) |
211
+ | `providers.<name>.extra_body` | リクエストボディにマージされるカスタムJSONフィールド |
212
+ | `providers.<name>.models` | 対話的選択用のモデルリスト |
213
+
214
+ **環境変数(最優先)**
192
215
 
193
- **オプションC: 環境変数(最優先)**
216
+ 環境変数は設定ファイルの設定を上書きします。設定ファイルの書き込みが不便なCI/CDシナリオに適しています:
194
217
 
195
218
  ```bash
196
219
  export OCR_LLM_URL=https://api.anthropic.com/v1/messages
@@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6
199
222
  export OCR_USE_ANTHROPIC=true
200
223
  ```
201
224
 
202
- また、Claude Codeの環境変数(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`)とも互換性があり、`~/.zshrc` / `~/.bashrc`からこれらのexportをパースします。
225
+ Claude Codeの環境変数(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`)とも互換性があり、`~/.zshrc` / `~/.bashrc`からこれらのexportをパースします。
203
226
 
204
- > **CC-Switchユーザー向けの注意**: [CC-Switch](https://github.com/farion1231/cc-switch)を[ルーティングサービス](https://www.ccswitch.io/en/docs?section=proxy&item=service)有効で使用している場合、追加設定なしで`llm.url`をCC-Switchのプロキシアドレスに向けることができます:
205
- > - **Claude**プロバイダーの場合: `llm.url`を`http://127.0.0.1:15721`に設定
206
- > - **Codex**プロバイダーの場合: `llm.url`を`http://127.0.0.1:15721/v1`に設定
207
- > - `llm.model`はプロバイダー設定に応じて設定
208
- > - `llm.auth_token`は任意の値で構いません
209
- > - `extra_body`設定は引き続き有効です
227
+ > **CC-Switchユーザー向けの注意**: [CC-Switch](https://github.com/farion1231/cc-switch)を[ルーティングサービス](https://www.ccswitch.io/en/docs?section=proxy&item=service)有効で使用している場合、プロバイダーの`url`をCC-Switchのプロキシアドレスに向けることで、追加設定なしで利用できます:
228
+ > - **Claude**プロバイダーの場合:`providers.anthropic.url`を`http://127.0.0.1:15721`に設定
229
+ > - **Codex**プロバイダーの場合:対応するプロバイダーの`url`を`http://127.0.0.1:15721/v1`に設定
230
+ > - `api_key`は任意の値で構いません。`extra_body`設定は引き続き有効です
210
231
 
211
232
  **2. 疎通テスト**
212
233
 
package/README.ko-KR.md CHANGED
@@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr
162
162
 
163
163
  **코드 리뷰를 실행하기 전에 반드시 LLM을 설정해야 합니다.**
164
164
 
165
+ OCR은 통합 **Provider** 시스템으로 LLM 설정을 관리합니다. 다양한 주요 provider가 내장되어 있으며, 프라이빗 배포 또는 기타 호환 엔드포인트에 연결하기 위한 커스텀 provider 추가도 지원합니다. 설정은 `~/.opencodereview/config.json`에 저장됩니다.
166
+
165
167
  **Option A: 대화형 설정 (권장)**
166
168
 
167
169
  ```bash
@@ -171,26 +173,47 @@ ocr config model # 활성 provider의 model 선택
171
173
 
172
174
  ![Provider setup](imgs/providers.jpg)
173
175
 
174
- **Option B: 수동 설정**
176
+ 대화형 UI가 provider 선택, API key 입력, model 설정을 안내하며, 완료 후 자동으로 연결 테스트를 수행합니다.
177
+
178
+ `ocr llm providers`를 실행하면 모든 built-in provider를 확인할 수 있습니다. Built-in provider에는 API URL과 프로토콜이 사전 설정되어 있어 API key만 제공하면 바로 사용할 수 있습니다. 해당 환경 변수(예: `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`)가 이미 설정되어 있으면 API key가 자동으로 읽힙니다.
179
+
180
+ **커스텀 provider**도 대화형 UI에서 추가할 수 있습니다 — provider 이름, API URL, 프로토콜 타입(`anthropic` 또는 `openai`), API key를 입력합니다.
181
+
182
+ **Option B: CLI 설정 (CI/CD 등 비대화형 환경용)**
183
+
184
+ `ocr config set` 명령으로 provider 설정을 직접 작성합니다. 스크립트 및 자동화에 적합합니다.
185
+
186
+ Built-in provider 사용:
175
187
 
176
188
  ```bash
177
- ocr config set llm.url https://api.anthropic.com/v1/messages
178
- ocr config set llm.auth_token your-api-key-here
179
- ocr config set llm.model claude-opus-4-6
180
- ocr config set llm.use_anthropic true
189
+ ocr config set provider anthropic
190
+ ocr config set providers.anthropic.api_key your-api-key-here
191
+ ocr config set providers.anthropic.model claude-sonnet-4-6
181
192
  ```
182
193
 
183
- config는 `~/.opencodereview/config.json`에 저장됩니다.
184
-
185
- **`auth_header` (선택사항):** Anthropic 사용 시 API key를 전송할 HTTP header를 제어합니다. 생략하면 기본값은 `authorization` (Bearer token)입니다. 표준 `sk-ant-*` API key를 사용하는 경우 `x-api-key`로 설정해야 합니다:
194
+ 커스텀 provider 사용 (프라이빗 게이트웨이 또는 기타 호환 엔드포인트):
186
195
 
187
196
  ```bash
188
- ocr config set llm.auth_header x-api-key
197
+ ocr config set provider my-gateway
198
+ ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1
199
+ ocr config set custom_providers.my-gateway.protocol openai
200
+ ocr config set custom_providers.my-gateway.api_key your-api-key-here
201
+ ocr config set custom_providers.my-gateway.model gpt-4o
189
202
  ```
190
203
 
191
- 지원되는 값: `x-api-key`, `authorization` (별칭: `bearer`). 값은 오류로 처리됩니다.
204
+ > 커스텀 provider에서는 `url`과 `protocol`이 필수입니다. 지원 프로토콜: `anthropic`, `openai`.
205
+
206
+ 선택 설정:
207
+
208
+ | 키 | 설명 |
209
+ |----|------|
210
+ | `providers.<name>.auth_header` | 인증 header: `x-api-key` 또는 `authorization` (기본값: `authorization`) |
211
+ | `providers.<name>.extra_body` | 요청 body에 병합되는 커스텀 JSON 필드 |
212
+ | `providers.<name>.models` | 대화형 선택용 model 목록 |
213
+
214
+ **환경 변수 (가장 높은 우선순위)**
192
215
 
193
- **Option C: 환경 변수(가장 높은 우선순위)**
216
+ 환경 변수는 설정 파일의 값을 덮어씁니다. 설정 파일 작성이 불편한 CI/CD 시나리오에 적합합니다:
194
217
 
195
218
  ```bash
196
219
  export OCR_LLM_URL=https://api.anthropic.com/v1/messages
@@ -201,12 +224,10 @@ export OCR_USE_ANTHROPIC=true
201
224
 
202
225
  Claude Code 환경 변수(`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`)와도 호환되며, `~/.zshrc` / `~/.bashrc`의 export도 파싱합니다.
203
226
 
204
- > **CC-Switch 사용자 참고**: [CC-Switch](https://github.com/farion1231/cc-switch)를 [routing service](https://www.ccswitch.io/en/docs?section=proxy&item=service)와 함께 사용한다면, 추가 설정 없이 `llm.url`을 CC-Switch proxy 주소로 지정할있습니다.
205
- > - **Claude** provider: `llm.url`을 `http://127.0.0.1:15721`로 설정
206
- > - **Codex** provider: `llm.url`을 `http://127.0.0.1:15721/v1`로 설정
207
- > - provider 설정에 맞게 `llm.model` 설정
208
- > - `llm.auth_token`은 아무 값이나 사용할 수 있음
209
- > - `extra_body` 설정은 그대로 적용됨
227
+ > **CC-Switch 사용자 참고**: [CC-Switch](https://github.com/farion1231/cc-switch)를 [routing service](https://www.ccswitch.io/en/docs?section=proxy&item=service)와 함께 사용한다면, provider의 `url`을 CC-Switch proxy 주소로 지정하여 추가 설정 없이 사용할 있습니다:
228
+ > - **Claude** provider: `providers.anthropic.url`을 `http://127.0.0.1:15721`로 설정
229
+ > - **Codex** provider: 해당 provider의 `url`을 `http://127.0.0.1:15721/v1`로 설정
230
+ > - `api_key`는 아무 값이나 사용 가능, `extra_body` 설정은 그대로 적용됨
210
231
 
211
232
  **2. 연결 테스트**
212
233
 
package/README.md CHANGED
@@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr
162
162
 
163
163
  **You must configure an LLM before reviewing code.**
164
164
 
165
+ OCR manages LLM configuration through a unified **Provider** system. It ships with many popular built-in providers and also supports adding custom providers to connect to private deployments or other compatible endpoints. Config is stored in `~/.opencodereview/config.json`.
166
+
165
167
  **Option A: Interactive setup (Recommended)**
166
168
 
167
169
  ```bash
@@ -171,26 +173,47 @@ ocr config model # Pick a model for the active provider
171
173
 
172
174
  ![Provider setup](imgs/providers.jpg)
173
175
 
174
- **Option B: Manual config**
176
+ The interactive UI guides you through provider selection, API key entry, and model configuration, then automatically tests connectivity.
177
+
178
+ Run `ocr llm providers` to see all built-in providers. Built-in providers come with preset API URLs and protocols — just supply an API key to get started. If the corresponding environment variable is already set (e.g. `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`), the API key is picked up automatically.
179
+
180
+ **Custom providers** can also be added through the interactive UI — you'll need to provide a name, API URL, protocol type (`anthropic` or `openai`), and API key.
181
+
182
+ **Option B: CLI setup (for CI/CD and non-interactive environments)**
183
+
184
+ Use `ocr config set` to write provider configuration directly, suitable for scripts and automation.
185
+
186
+ Using a built-in provider:
175
187
 
176
188
  ```bash
177
- ocr config set llm.url https://api.anthropic.com/v1/messages
178
- ocr config set llm.auth_token your-api-key-here
179
- ocr config set llm.model claude-opus-4-6
180
- ocr config set llm.use_anthropic true
189
+ ocr config set provider anthropic
190
+ ocr config set providers.anthropic.api_key your-api-key-here
191
+ ocr config set providers.anthropic.model claude-sonnet-4-6
181
192
  ```
182
193
 
183
- Config is stored in `~/.opencodereview/config.json`.
184
-
185
- **`auth_header` (optional):** Controls which HTTP header carries the API key when using Anthropic. Defaults to `authorization` (Bearer token) if omitted. If you use a standard `sk-ant-*` API key, you must set it to `x-api-key`:
194
+ Using a custom provider (private gateway or other compatible endpoint):
186
195
 
187
196
  ```bash
188
- ocr config set llm.auth_header x-api-key
197
+ ocr config set provider my-gateway
198
+ ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1
199
+ ocr config set custom_providers.my-gateway.protocol openai
200
+ ocr config set custom_providers.my-gateway.api_key your-api-key-here
201
+ ocr config set custom_providers.my-gateway.model gpt-4o
189
202
  ```
190
203
 
191
- Supported values: `x-api-key`, `authorization` (alias: `bearer`). Other values are rejected with an error.
204
+ > `url` and `protocol` are required for custom providers. Supported protocols: `anthropic`, `openai`.
205
+
206
+ Optional settings:
207
+
208
+ | Key | Description |
209
+ |-----|-------------|
210
+ | `providers.<name>.auth_header` | Auth header: `x-api-key` or `authorization` (default: `authorization`) |
211
+ | `providers.<name>.extra_body` | Custom JSON fields merged into the request body |
212
+ | `providers.<name>.models` | Model list for interactive selection |
213
+
214
+ **Environment variables (highest priority)**
192
215
 
193
- **Option C: Environment variables (highest priority)**
216
+ Environment variables override config file settings, useful in CI/CD where writing config files is inconvenient:
194
217
 
195
218
  ```bash
196
219
  export OCR_LLM_URL=https://api.anthropic.com/v1/messages
@@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6
199
222
  export OCR_USE_ANTHROPIC=true
200
223
  ```
201
224
 
202
- It is also compatible with Claude Code environment variables (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) and parses `~/.zshrc` / `~/.bashrc` for those exports.
225
+ Also compatible with Claude Code environment variables (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) and parses `~/.zshrc` / `~/.bashrc` for those exports.
203
226
 
204
- > **Note for CC-Switch Users**: If you are using [CC-Switch](https://github.com/farion1231/cc-switch) with [routing service](https://www.ccswitch.io/en/docs?section=proxy&item=service) enabled, you can point `llm.url` to the CC-Switch proxy address without additional configuration:
205
- > - For **Claude** provider: set `llm.url` to `http://127.0.0.1:15721`
206
- > - For **Codex** provider: set `llm.url` to `http://127.0.0.1:15721/v1`
207
- > - Set `llm.model` according to your provider settings
208
- > - `llm.auth_token` can be any value
209
- > - `extra_body` settings still apply
227
+ > **Note for CC-Switch Users**: If you are using [CC-Switch](https://github.com/farion1231/cc-switch) with [routing service](https://www.ccswitch.io/en/docs?section=proxy&item=service) enabled, you can point the provider's `url` to the CC-Switch proxy address without additional configuration:
228
+ > - For **Claude** provider: set `providers.anthropic.url` to `http://127.0.0.1:15721`
229
+ > - For **Codex** provider: set the corresponding provider's `url` to `http://127.0.0.1:15721/v1`
230
+ > - `api_key` can be any value; `extra_body` settings still apply
210
231
 
211
232
  **2. Test Connectivity**
212
233
 
package/README.ru-RU.md CHANGED
@@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr
162
162
 
163
163
  **Перед запуском ревью необходимо настроить LLM.**
164
164
 
165
+ OCR управляет конфигурацией LLM через единую систему **провайдеров (Provider)**. Множество популярных провайдеров встроено, также поддерживается добавление пользовательских провайдеров для подключения к приватным развёртываниям или другим совместимым эндпоинтам. Конфигурация хранится в `~/.opencodereview/config.json`.
166
+
165
167
  **Вариант A: интерактивная настройка (рекомендуется)**
166
168
 
167
169
  ```bash
@@ -171,26 +173,47 @@ ocr config model # Выбрать модель для активно
171
173
 
172
174
  ![Provider setup](imgs/providers.jpg)
173
175
 
174
- **Вариант B: ручная настройка**
176
+ Интерактивный UI проведёт вас через выбор провайдера, ввод API-ключа и настройку модели, после чего автоматически проверит подключение.
177
+
178
+ Выполните `ocr llm providers`, чтобы увидеть все встроенные провайдеры. У встроенных провайдеров предустановлены URL API и протокол — достаточно указать API-ключ. Если соответствующая переменная окружения уже задана (например, `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`), API-ключ будет подхвачен автоматически.
179
+
180
+ **Пользовательские провайдеры** также добавляются через интерактивный UI — потребуется указать имя, URL API, тип протокола (`anthropic` или `openai`) и API-ключ.
181
+
182
+ **Вариант B: настройка через CLI (для CI/CD и неинтерактивных сред)**
183
+
184
+ Используйте `ocr config set` для записи конфигурации провайдера напрямую — подходит для скриптов и автоматизации.
185
+
186
+ Использование встроенного провайдера:
175
187
 
176
188
  ```bash
177
- ocr config set llm.url https://api.anthropic.com/v1/messages
178
- ocr config set llm.auth_token your-api-key-here
179
- ocr config set llm.model claude-opus-4-6
180
- ocr config set llm.use_anthropic true
189
+ ocr config set provider anthropic
190
+ ocr config set providers.anthropic.api_key your-api-key-here
191
+ ocr config set providers.anthropic.model claude-sonnet-4-6
181
192
  ```
182
193
 
183
- Конфигурация хранится в `~/.opencodereview/config.json`.
184
-
185
- **`auth_header` (необязательно):** определяет, в каком HTTP-заголовке передаётся API-ключ при работе с Anthropic. Если не задан, по умолчанию используется `authorization` (Bearer-токен). Если у вас стандартный API-ключ вида `sk-ant-*`, необходимо установить значение `x-api-key`:
194
+ Использование пользовательского провайдера (приватный шлюз или другой совместимый эндпоинт):
186
195
 
187
196
  ```bash
188
- ocr config set llm.auth_header x-api-key
197
+ ocr config set provider my-gateway
198
+ ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1
199
+ ocr config set custom_providers.my-gateway.protocol openai
200
+ ocr config set custom_providers.my-gateway.api_key your-api-key-here
201
+ ocr config set custom_providers.my-gateway.model gpt-4o
189
202
  ```
190
203
 
191
- Поддерживаемые значения: `x-api-key`, `authorization` (алиас: `bearer`). Прочие значения отклоняются с ошибкой.
204
+ > Для пользовательских провайдеров `url` и `protocol` обязательны. Поддерживаемые протоколы: `anthropic`, `openai`.
205
+
206
+ Дополнительные настройки:
207
+
208
+ | Ключ | Описание |
209
+ |------|----------|
210
+ | `providers.<name>.auth_header` | Заголовок аутентификации: `x-api-key` или `authorization` (по умолчанию: `authorization`) |
211
+ | `providers.<name>.extra_body` | Пользовательские JSON-поля, добавляемые в тело запроса |
212
+ | `providers.<name>.models` | Список моделей для интерактивного выбора |
213
+
214
+ **Переменные окружения (наивысший приоритет)**
192
215
 
193
- **Вариант C: переменные окружения (наивысший приоритет)**
216
+ Переменные окружения переопределяют настройки из файла конфигурации — удобно в CI/CD, где запись в конфиг-файл затруднена:
194
217
 
195
218
  ```bash
196
219
  export OCR_LLM_URL=https://api.anthropic.com/v1/messages
@@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6
199
222
  export OCR_USE_ANTHROPIC=true
200
223
  ```
201
224
 
202
- Инструмент также совместим с переменными окружения Claude Code (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) и разбирает `~/.zshrc` / `~/.bashrc` в поисках соответствующих export'ов.
225
+ Также совместим с переменными окружения Claude Code (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) и разбирает `~/.zshrc` / `~/.bashrc` в поисках соответствующих export'ов.
203
226
 
204
- > **Примечание для пользователей CC-Switch**: если вы используете [CC-Switch](https://github.com/farion1231/cc-switch) с включённым [routing service](https://www.ccswitch.io/en/docs?section=proxy&item=service), можно указать в `llm.url` адрес прокси CC-Switch без дополнительной настройки:
205
- > - для провайдера **Claude**: установите `llm.url` в `http://127.0.0.1:15721`
206
- > - для провайдера **Codex**: установите `llm.url` в `http://127.0.0.1:15721/v1`
207
- > - `llm.model` задайте в соответствии с настройками вашего провайдера
208
- > - `llm.auth_token` может быть любым
209
- > - настройки `extra_body` продолжают действовать
227
+ > **Примечание для пользователей CC-Switch**: если вы используете [CC-Switch](https://github.com/farion1231/cc-switch) с включённым [routing service](https://www.ccswitch.io/en/docs?section=proxy&item=service), можно указать в `url` провайдера адрес прокси CC-Switch без дополнительной настройки:
228
+ > - Для провайдера **Claude**: установите `providers.anthropic.url` в `http://127.0.0.1:15721`
229
+ > - Для провайдера **Codex**: установите `url` соответствующего провайдера в `http://127.0.0.1:15721/v1`
230
+ > - `api_key` может быть любым, настройки `extra_body` продолжают действовать
210
231
 
211
232
  **2. Проверьте подключение**
212
233
 
package/README.zh-CN.md CHANGED
@@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr
162
162
 
163
163
  **在审查代码之前,必须先配置 LLM。**
164
164
 
165
+ OCR 通过**供应商(Provider)**模式统一管理 LLM 配置,内置了多种主流供应商,也支持添加自定义供应商以对接私有部署或其他兼容端点。配置存储于 `~/.opencodereview/config.json`。
166
+
165
167
  **方式 A:交互式设置(推荐)**
166
168
 
167
169
  ```bash
@@ -171,26 +173,47 @@ ocr config model # 为当前供应商选择模型
171
173
 
172
174
  ![Provider setup](imgs/providers.jpg)
173
175
 
174
- **方式 B:手动配置**
176
+ 交互式界面会引导你完成供应商选择、API Key 输入和模型配置,完成后自动测试连通性。
177
+
178
+ 运行 `ocr llm providers` 可查看所有内置供应商。内置供应商预设了 API 地址和协议,只需提供 API Key 即可使用。如果对应的环境变量已设置(如 `ANTHROPIC_API_KEY`、`OPENAI_API_KEY`),API Key 会自动读取,无需手动输入。
179
+
180
+ 添加**自定义供应商**同样通过交互式界面完成 —— 需提供供应商名称、API 地址、协议类型(`anthropic` 或 `openai`)和 API Key。
181
+
182
+ **方式 B:命令行设置(适用于 CI/CD 等无交互环境)**
183
+
184
+ 通过 `ocr config set` 命令直接写入供应商配置,适用于脚本和自动化场景。
185
+
186
+ 使用内置供应商:
175
187
 
176
188
  ```bash
177
- ocr config set llm.url https://api.anthropic.com/v1/messages
178
- ocr config set llm.auth_token your-api-key-here
179
- ocr config set llm.model claude-opus-4-6
180
- ocr config set llm.use_anthropic true
189
+ ocr config set provider anthropic
190
+ ocr config set providers.anthropic.api_key your-api-key-here
191
+ ocr config set providers.anthropic.model claude-sonnet-4-6
181
192
  ```
182
193
 
183
- 配置存储于 `~/.opencodereview/config.json`。
184
-
185
- **`auth_header`(可选):** 控制使用 Anthropic 时通过哪个 HTTP header 传递 API key。省略时默认为 `authorization`(Bearer token)。如果你使用标准 `sk-ant-*` API key,需要将其设为 `x-api-key`:
194
+ 使用自定义供应商(对接私有网关或其他兼容端点):
186
195
 
187
196
  ```bash
188
- ocr config set llm.auth_header x-api-key
197
+ ocr config set provider my-gateway
198
+ ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1
199
+ ocr config set custom_providers.my-gateway.protocol openai
200
+ ocr config set custom_providers.my-gateway.api_key your-api-key-here
201
+ ocr config set custom_providers.my-gateway.model gpt-4o
189
202
  ```
190
203
 
191
- 支持的值:`x-api-key`、`authorization`(别名:`bearer`)。其他值会直接报错。
204
+ > 自定义供应商的 `url` 和 `protocol` 为必填项。`protocol` 支持 `anthropic` 和 `openai` 两种。
205
+
206
+ 可选配置项:
207
+
208
+ | 键 | 描述 |
209
+ |----|------|
210
+ | `providers.<name>.auth_header` | 认证头:`x-api-key` 或 `authorization`(默认 `authorization`) |
211
+ | `providers.<name>.extra_body` | 合并到请求体的自定义 JSON 字段 |
212
+ | `providers.<name>.models` | 用于交互式选择的模型列表 |
213
+
214
+ **环境变量(优先级最高)**
192
215
 
193
- **方式 C:环境变量(优先级最高)**
216
+ 环境变量会覆盖配置文件中的设置,适用于 CI/CD 场景中不便写入配置文件的情况:
194
217
 
195
218
  ```bash
196
219
  export OCR_LLM_URL=https://api.anthropic.com/v1/messages
@@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6
199
222
  export OCR_USE_ANTHROPIC=true
200
223
  ```
201
224
 
202
- 同时兼容了 Claude Code 环境变量(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`),并解析 `~/.zshrc` / `~/.bashrc` 中的相关导出。
225
+ 同时兼容 Claude Code 环境变量(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`),并解析 `~/.zshrc` / `~/.bashrc` 中的相关导出。
203
226
 
204
- > **CC-Switch 用户特别提醒**:如果你使用 [CC-Switch](https://github.com/farion1231/cc-switch) 并开启了[路由服务](https://www.ccswitch.io/zh/docs?section=proxy&item=service),可以将 `llm.url` 配置成 CC-Switch 启动的代理地址,无需额外配置:
205
- > - 如果路由的是 **Claude** 供应商:设置 `llm.url` `http://127.0.0.1:15721`
206
- > - 如果路由的是 **Codex** 供应商:设置 `llm.url` `http://127.0.0.1:15721/v1`
207
- > - `llm.model` 根据你的供应商设置进行配置
208
- > - `llm.auth_token` 可以设置成任意值
209
- > - `extra_body` 设置依然生效
227
+ > **CC-Switch 用户特别提醒**:如果你使用 [CC-Switch](https://github.com/farion1231/cc-switch) 并开启了[路由服务](https://www.ccswitch.io/zh/docs?section=proxy&item=service),可以将供应商的 `url` 配置成 CC-Switch 启动的代理地址,无需额外配置:
228
+ > - 路由 **Claude** 供应商:`providers.anthropic.url` 设为 `http://127.0.0.1:15721`
229
+ > - 路由 **Codex** 供应商:对应供应商的 `url` 设为 `http://127.0.0.1:15721/v1`
230
+ > - `api_key` 可设置为任意值,`extra_body` 设置依然生效
210
231
 
211
232
  **2. 测试连通性**
212
233
 
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alibaba-group/open-code-review",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "OpenCodeReview CLI — AI-powered code review tool",
5
5
  "bin": {
6
6
  "ocr": "bin/ocr.js"
@@ -28,12 +28,12 @@
28
28
  "checksumPattern": "https://github.com/alibaba/open-code-review/releases/download/v{version}/sha256sum.txt"
29
29
  },
30
30
  "optionalDependencies": {
31
- "@alibaba-group/ocr-darwin-arm64": "1.6.1",
32
- "@alibaba-group/ocr-darwin-x64": "1.6.1",
33
- "@alibaba-group/ocr-linux-arm64": "1.6.1",
34
- "@alibaba-group/ocr-linux-x64": "1.6.1",
35
- "@alibaba-group/ocr-win32-arm64": "1.6.1",
36
- "@alibaba-group/ocr-win32-x64": "1.6.1"
31
+ "@alibaba-group/ocr-darwin-arm64": "1.6.2",
32
+ "@alibaba-group/ocr-darwin-x64": "1.6.2",
33
+ "@alibaba-group/ocr-linux-arm64": "1.6.2",
34
+ "@alibaba-group/ocr-linux-x64": "1.6.2",
35
+ "@alibaba-group/ocr-win32-arm64": "1.6.2",
36
+ "@alibaba-group/ocr-win32-x64": "1.6.2"
37
37
  },
38
38
  "engines": {
39
39
  "node": ">=14"