diff --git a/README.ja-JP.md b/README.ja-JP.md index 84870d7..61e4a94 100644 --- a/README.ja-JP.md +++ b/README.ja-JP.md @@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr **コードレビューの前に必ずLLMを設定する必要があります。** +OCRは統一された**プロバイダー(Provider)**システムでLLM設定を管理します。多数の主要プロバイダーが組み込まれており、プライベートデプロイメントやその他の互換エンドポイントに接続するためのカスタムプロバイダーの追加もサポートしています。設定は`~/.opencodereview/config.json`に保存されます。 + **オプションA: 対話的セットアップ(推奨)** ```bash @@ -171,26 +173,47 @@ ocr config model # アクティブなプロバイダーのモデル ![Provider setup](imgs/providers.jpg) -**オプションB: 手動設定** +対話的UIがプロバイダーの選択、APIキーの入力、モデル設定をガイドし、完了後に自動的に接続テストを行います。 + +`ocr llm providers`を実行すると、すべてのビルトインプロバイダーを確認できます。ビルトインプロバイダーにはAPI URLとプロトコルがプリセットされているため、APIキーを提供するだけで使用できます。対応する環境変数(例:`ANTHROPIC_API_KEY`、`OPENAI_API_KEY`)が設定済みの場合、APIキーは自動的に読み取られます。 + +**カスタムプロバイダー**も対話的UIから追加できます — プロバイダー名、API URL、プロトコルタイプ(`anthropic`または`openai`)、APIキーを入力します。 + +**オプションB: CLIセットアップ(CI/CDなど非対話環境向け)** + +`ocr config set`コマンドでプロバイダー設定を直接書き込みます。スクリプトや自動化に適しています。 + +ビルトインプロバイダーを使用する場合: ```bash -ocr config set llm.url https://api.anthropic.com/v1/messages -ocr config set llm.auth_token your-api-key-here -ocr config set llm.model claude-opus-4-6 -ocr config set llm.use_anthropic true +ocr config set provider anthropic +ocr config set providers.anthropic.api_key your-api-key-here +ocr config set providers.anthropic.model claude-sonnet-4-6 ``` -設定は`~/.opencodereview/config.json`に保存されます。 - -**`auth_header`(オプション):** Anthropic使用時にAPIキーを送信するHTTPヘッダーを制御します。省略時のデフォルトは`authorization`(Bearerトークン)です。標準の`sk-ant-*` APIキーを使用する場合は、`x-api-key`に設定する必要があります: +カスタムプロバイダーを使用する場合(プライベートゲートウェイやその他の互換エンドポイント): ```bash -ocr config set llm.auth_header x-api-key +ocr config set provider my-gateway +ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1 +ocr config set custom_providers.my-gateway.protocol openai +ocr config set custom_providers.my-gateway.api_key your-api-key-here +ocr config set custom_providers.my-gateway.model gpt-4o ``` -サポートされる値:`x-api-key`、`authorization`(エイリアス:`bearer`)。それ以外の値はエラーになります。 +> カスタムプロバイダーでは`url`と`protocol`が必須です。サポートされるプロトコル:`anthropic`、`openai`。 -**オプションC: 環境変数(最優先)** +オプション設定: + +| キー | 説明 | +|------|------| +| `providers..auth_header` | 認証ヘッダー:`x-api-key`または`authorization`(デフォルト:`authorization`) | +| `providers..extra_body` | リクエストボディにマージされるカスタムJSONフィールド | +| `providers..models` | 対話的選択用のモデルリスト | + +**環境変数(最優先)** + +環境変数は設定ファイルの設定を上書きします。設定ファイルの書き込みが不便なCI/CDシナリオに適しています: ```bash export OCR_LLM_URL=https://api.anthropic.com/v1/messages @@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6 export OCR_USE_ANTHROPIC=true ``` -また、Claude Codeの環境変数(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`)とも互換性があり、`~/.zshrc` / `~/.bashrc`からこれらのexportをパースします。 +Claude Codeの環境変数(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`)とも互換性があり、`~/.zshrc` / `~/.bashrc`からこれらのexportをパースします。 -> **CC-Switchユーザー向けの注意**: [CC-Switch](https://github.com/farion1231/cc-switch)を[ルーティングサービス](https://www.ccswitch.io/en/docs?section=proxy&item=service)有効で使用している場合、追加設定なしで`llm.url`をCC-Switchのプロキシアドレスに向けることができます: -> - **Claude**プロバイダーの場合: `llm.url`を`http://127.0.0.1:15721`に設定 -> - **Codex**プロバイダーの場合: `llm.url`を`http://127.0.0.1:15721/v1`に設定 -> - `llm.model`はプロバイダー設定に応じて設定 -> - `llm.auth_token`は任意の値で構いません -> - `extra_body`設定は引き続き有効です +> **CC-Switchユーザー向けの注意**: [CC-Switch](https://github.com/farion1231/cc-switch)を[ルーティングサービス](https://www.ccswitch.io/en/docs?section=proxy&item=service)有効で使用している場合、プロバイダーの`url`をCC-Switchのプロキシアドレスに向けることで、追加設定なしで利用できます: +> - **Claude**プロバイダーの場合:`providers.anthropic.url`を`http://127.0.0.1:15721`に設定 +> - **Codex**プロバイダーの場合:対応するプロバイダーの`url`を`http://127.0.0.1:15721/v1`に設定 +> - `api_key`は任意の値で構いません。`extra_body`設定は引き続き有効です **2. 疎通テスト** diff --git a/README.ko-KR.md b/README.ko-KR.md index 4f87d10..5ec60fa 100644 --- a/README.ko-KR.md +++ b/README.ko-KR.md @@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr **코드 리뷰를 실행하기 전에 반드시 LLM을 설정해야 합니다.** +OCR은 통합 **Provider** 시스템으로 LLM 설정을 관리합니다. 다양한 주요 provider가 내장되어 있으며, 프라이빗 배포 또는 기타 호환 엔드포인트에 연결하기 위한 커스텀 provider 추가도 지원합니다. 설정은 `~/.opencodereview/config.json`에 저장됩니다. + **Option A: 대화형 설정 (권장)** ```bash @@ -171,26 +173,47 @@ ocr config model # 활성 provider의 model 선택 ![Provider setup](imgs/providers.jpg) -**Option B: 수동 설정** +대화형 UI가 provider 선택, API key 입력, model 설정을 안내하며, 완료 후 자동으로 연결 테스트를 수행합니다. + +`ocr llm providers`를 실행하면 모든 built-in provider를 확인할 수 있습니다. Built-in provider에는 API URL과 프로토콜이 사전 설정되어 있어 API key만 제공하면 바로 사용할 수 있습니다. 해당 환경 변수(예: `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`)가 이미 설정되어 있으면 API key가 자동으로 읽힙니다. + +**커스텀 provider**도 대화형 UI에서 추가할 수 있습니다 — provider 이름, API URL, 프로토콜 타입(`anthropic` 또는 `openai`), API key를 입력합니다. + +**Option B: CLI 설정 (CI/CD 등 비대화형 환경용)** + +`ocr config set` 명령으로 provider 설정을 직접 작성합니다. 스크립트 및 자동화에 적합합니다. + +Built-in provider 사용: ```bash -ocr config set llm.url https://api.anthropic.com/v1/messages -ocr config set llm.auth_token your-api-key-here -ocr config set llm.model claude-opus-4-6 -ocr config set llm.use_anthropic true +ocr config set provider anthropic +ocr config set providers.anthropic.api_key your-api-key-here +ocr config set providers.anthropic.model claude-sonnet-4-6 ``` -config는 `~/.opencodereview/config.json`에 저장됩니다. - -**`auth_header` (선택사항):** Anthropic 사용 시 API key를 전송할 HTTP header를 제어합니다. 생략하면 기본값은 `authorization` (Bearer token)입니다. 표준 `sk-ant-*` API key를 사용하는 경우 `x-api-key`로 설정해야 합니다: +커스텀 provider 사용 (프라이빗 게이트웨이 또는 기타 호환 엔드포인트): ```bash -ocr config set llm.auth_header x-api-key +ocr config set provider my-gateway +ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1 +ocr config set custom_providers.my-gateway.protocol openai +ocr config set custom_providers.my-gateway.api_key your-api-key-here +ocr config set custom_providers.my-gateway.model gpt-4o ``` -지원되는 값: `x-api-key`, `authorization` (별칭: `bearer`). 그 외 값은 오류로 처리됩니다. +> 커스텀 provider에서는 `url`과 `protocol`이 필수입니다. 지원 프로토콜: `anthropic`, `openai`. -**Option C: 환경 변수(가장 높은 우선순위)** +선택 설정: + +| 키 | 설명 | +|----|------| +| `providers..auth_header` | 인증 header: `x-api-key` 또는 `authorization` (기본값: `authorization`) | +| `providers..extra_body` | 요청 body에 병합되는 커스텀 JSON 필드 | +| `providers..models` | 대화형 선택용 model 목록 | + +**환경 변수 (가장 높은 우선순위)** + +환경 변수는 설정 파일의 값을 덮어씁니다. 설정 파일 작성이 불편한 CI/CD 시나리오에 적합합니다: ```bash export OCR_LLM_URL=https://api.anthropic.com/v1/messages @@ -201,12 +224,10 @@ export OCR_USE_ANTHROPIC=true Claude Code 환경 변수(`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`)와도 호환되며, `~/.zshrc` / `~/.bashrc`의 export도 파싱합니다. -> **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 주소로 지정할 수 있습니다. -> - **Claude** provider: `llm.url`을 `http://127.0.0.1:15721`로 설정 -> - **Codex** provider: `llm.url`을 `http://127.0.0.1:15721/v1`로 설정 -> - provider 설정에 맞게 `llm.model` 설정 -> - `llm.auth_token`은 아무 값이나 사용할 수 있음 -> - `extra_body` 설정은 그대로 적용됨 +> **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 주소로 지정하여 추가 설정 없이 사용할 수 있습니다: +> - **Claude** provider: `providers.anthropic.url`을 `http://127.0.0.1:15721`로 설정 +> - **Codex** provider: 해당 provider의 `url`을 `http://127.0.0.1:15721/v1`로 설정 +> - `api_key`는 아무 값이나 사용 가능, `extra_body` 설정은 그대로 적용됨 **2. 연결 테스트** diff --git a/README.md b/README.md index 770df03..ab6acd5 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr **You must configure an LLM before reviewing code.** +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`. + **Option A: Interactive setup (Recommended)** ```bash @@ -171,26 +173,47 @@ ocr config model # Pick a model for the active provider ![Provider setup](imgs/providers.jpg) -**Option B: Manual config** +The interactive UI guides you through provider selection, API key entry, and model configuration, then automatically tests connectivity. + +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. + +**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. + +**Option B: CLI setup (for CI/CD and non-interactive environments)** + +Use `ocr config set` to write provider configuration directly, suitable for scripts and automation. + +Using a built-in provider: ```bash -ocr config set llm.url https://api.anthropic.com/v1/messages -ocr config set llm.auth_token your-api-key-here -ocr config set llm.model claude-opus-4-6 -ocr config set llm.use_anthropic true +ocr config set provider anthropic +ocr config set providers.anthropic.api_key your-api-key-here +ocr config set providers.anthropic.model claude-sonnet-4-6 ``` -Config is stored in `~/.opencodereview/config.json`. - -**`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`: +Using a custom provider (private gateway or other compatible endpoint): ```bash -ocr config set llm.auth_header x-api-key +ocr config set provider my-gateway +ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1 +ocr config set custom_providers.my-gateway.protocol openai +ocr config set custom_providers.my-gateway.api_key your-api-key-here +ocr config set custom_providers.my-gateway.model gpt-4o ``` -Supported values: `x-api-key`, `authorization` (alias: `bearer`). Other values are rejected with an error. +> `url` and `protocol` are required for custom providers. Supported protocols: `anthropic`, `openai`. -**Option C: Environment variables (highest priority)** +Optional settings: + +| Key | Description | +|-----|-------------| +| `providers..auth_header` | Auth header: `x-api-key` or `authorization` (default: `authorization`) | +| `providers..extra_body` | Custom JSON fields merged into the request body | +| `providers..models` | Model list for interactive selection | + +**Environment variables (highest priority)** + +Environment variables override config file settings, useful in CI/CD where writing config files is inconvenient: ```bash export OCR_LLM_URL=https://api.anthropic.com/v1/messages @@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6 export OCR_USE_ANTHROPIC=true ``` -It is also compatible with Claude Code environment variables (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) and parses `~/.zshrc` / `~/.bashrc` for those exports. +Also compatible with Claude Code environment variables (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) and parses `~/.zshrc` / `~/.bashrc` for those exports. -> **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: -> - For **Claude** provider: set `llm.url` to `http://127.0.0.1:15721` -> - For **Codex** provider: set `llm.url` to `http://127.0.0.1:15721/v1` -> - Set `llm.model` according to your provider settings -> - `llm.auth_token` can be any value -> - `extra_body` settings still apply +> **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: +> - For **Claude** provider: set `providers.anthropic.url` to `http://127.0.0.1:15721` +> - For **Codex** provider: set the corresponding provider's `url` to `http://127.0.0.1:15721/v1` +> - `api_key` can be any value; `extra_body` settings still apply **2. Test Connectivity** diff --git a/README.ru-RU.md b/README.ru-RU.md index bd962a3..0b5a0df 100644 --- a/README.ru-RU.md +++ b/README.ru-RU.md @@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr **Перед запуском ревью необходимо настроить LLM.** +OCR управляет конфигурацией LLM через единую систему **провайдеров (Provider)**. Множество популярных провайдеров встроено, также поддерживается добавление пользовательских провайдеров для подключения к приватным развёртываниям или другим совместимым эндпоинтам. Конфигурация хранится в `~/.opencodereview/config.json`. + **Вариант A: интерактивная настройка (рекомендуется)** ```bash @@ -171,26 +173,47 @@ ocr config model # Выбрать модель для активно ![Provider setup](imgs/providers.jpg) -**Вариант B: ручная настройка** +Интерактивный UI проведёт вас через выбор провайдера, ввод API-ключа и настройку модели, после чего автоматически проверит подключение. + +Выполните `ocr llm providers`, чтобы увидеть все встроенные провайдеры. У встроенных провайдеров предустановлены URL API и протокол — достаточно указать API-ключ. Если соответствующая переменная окружения уже задана (например, `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`), API-ключ будет подхвачен автоматически. + +**Пользовательские провайдеры** также добавляются через интерактивный UI — потребуется указать имя, URL API, тип протокола (`anthropic` или `openai`) и API-ключ. + +**Вариант B: настройка через CLI (для CI/CD и неинтерактивных сред)** + +Используйте `ocr config set` для записи конфигурации провайдера напрямую — подходит для скриптов и автоматизации. + +Использование встроенного провайдера: ```bash -ocr config set llm.url https://api.anthropic.com/v1/messages -ocr config set llm.auth_token your-api-key-here -ocr config set llm.model claude-opus-4-6 -ocr config set llm.use_anthropic true +ocr config set provider anthropic +ocr config set providers.anthropic.api_key your-api-key-here +ocr config set providers.anthropic.model claude-sonnet-4-6 ``` -Конфигурация хранится в `~/.opencodereview/config.json`. - -**`auth_header` (необязательно):** определяет, в каком HTTP-заголовке передаётся API-ключ при работе с Anthropic. Если не задан, по умолчанию используется `authorization` (Bearer-токен). Если у вас стандартный API-ключ вида `sk-ant-*`, необходимо установить значение `x-api-key`: +Использование пользовательского провайдера (приватный шлюз или другой совместимый эндпоинт): ```bash -ocr config set llm.auth_header x-api-key +ocr config set provider my-gateway +ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1 +ocr config set custom_providers.my-gateway.protocol openai +ocr config set custom_providers.my-gateway.api_key your-api-key-here +ocr config set custom_providers.my-gateway.model gpt-4o ``` -Поддерживаемые значения: `x-api-key`, `authorization` (алиас: `bearer`). Прочие значения отклоняются с ошибкой. +> Для пользовательских провайдеров `url` и `protocol` обязательны. Поддерживаемые протоколы: `anthropic`, `openai`. -**Вариант C: переменные окружения (наивысший приоритет)** +Дополнительные настройки: + +| Ключ | Описание | +|------|----------| +| `providers..auth_header` | Заголовок аутентификации: `x-api-key` или `authorization` (по умолчанию: `authorization`) | +| `providers..extra_body` | Пользовательские JSON-поля, добавляемые в тело запроса | +| `providers..models` | Список моделей для интерактивного выбора | + +**Переменные окружения (наивысший приоритет)** + +Переменные окружения переопределяют настройки из файла конфигурации — удобно в CI/CD, где запись в конфиг-файл затруднена: ```bash export OCR_LLM_URL=https://api.anthropic.com/v1/messages @@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6 export OCR_USE_ANTHROPIC=true ``` -Инструмент также совместим с переменными окружения Claude Code (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) и разбирает `~/.zshrc` / `~/.bashrc` в поисках соответствующих export'ов. +Также совместим с переменными окружения Claude Code (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) и разбирает `~/.zshrc` / `~/.bashrc` в поисках соответствующих export'ов. -> **Примечание для пользователей 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 без дополнительной настройки: -> - для провайдера **Claude**: установите `llm.url` в `http://127.0.0.1:15721` -> - для провайдера **Codex**: установите `llm.url` в `http://127.0.0.1:15721/v1` -> - `llm.model` задайте в соответствии с настройками вашего провайдера -> - `llm.auth_token` может быть любым -> - настройки `extra_body` продолжают действовать +> **Примечание для пользователей 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 без дополнительной настройки: +> - Для провайдера **Claude**: установите `providers.anthropic.url` в `http://127.0.0.1:15721` +> - Для провайдера **Codex**: установите `url` соответствующего провайдера в `http://127.0.0.1:15721/v1` +> - `api_key` может быть любым, настройки `extra_body` продолжают действовать **2. Проверьте подключение** diff --git a/README.zh-CN.md b/README.zh-CN.md index 0fb720e..2f9311a 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -162,6 +162,8 @@ sudo cp dist/opencodereview /usr/local/bin/ocr **在审查代码之前,必须先配置 LLM。** +OCR 通过**供应商(Provider)**模式统一管理 LLM 配置,内置了多种主流供应商,也支持添加自定义供应商以对接私有部署或其他兼容端点。配置存储于 `~/.opencodereview/config.json`。 + **方式 A:交互式设置(推荐)** ```bash @@ -171,26 +173,47 @@ ocr config model # 为当前供应商选择模型 ![Provider setup](imgs/providers.jpg) -**方式 B:手动配置** +交互式界面会引导你完成供应商选择、API Key 输入和模型配置,完成后自动测试连通性。 + +运行 `ocr llm providers` 可查看所有内置供应商。内置供应商预设了 API 地址和协议,只需提供 API Key 即可使用。如果对应的环境变量已设置(如 `ANTHROPIC_API_KEY`、`OPENAI_API_KEY`),API Key 会自动读取,无需手动输入。 + +添加**自定义供应商**同样通过交互式界面完成 —— 需提供供应商名称、API 地址、协议类型(`anthropic` 或 `openai`)和 API Key。 + +**方式 B:命令行设置(适用于 CI/CD 等无交互环境)** + +通过 `ocr config set` 命令直接写入供应商配置,适用于脚本和自动化场景。 + +使用内置供应商: ```bash -ocr config set llm.url https://api.anthropic.com/v1/messages -ocr config set llm.auth_token your-api-key-here -ocr config set llm.model claude-opus-4-6 -ocr config set llm.use_anthropic true +ocr config set provider anthropic +ocr config set providers.anthropic.api_key your-api-key-here +ocr config set providers.anthropic.model claude-sonnet-4-6 ``` -配置存储于 `~/.opencodereview/config.json`。 - -**`auth_header`(可选):** 控制使用 Anthropic 时通过哪个 HTTP header 传递 API key。省略时默认为 `authorization`(Bearer token)。如果你使用标准 `sk-ant-*` API key,需要将其设为 `x-api-key`: +使用自定义供应商(对接私有网关或其他兼容端点): ```bash -ocr config set llm.auth_header x-api-key +ocr config set provider my-gateway +ocr config set custom_providers.my-gateway.url https://my-llm-gateway.internal/v1 +ocr config set custom_providers.my-gateway.protocol openai +ocr config set custom_providers.my-gateway.api_key your-api-key-here +ocr config set custom_providers.my-gateway.model gpt-4o ``` -支持的值:`x-api-key`、`authorization`(别名:`bearer`)。其他值会直接报错。 +> 自定义供应商的 `url` 和 `protocol` 为必填项。`protocol` 支持 `anthropic` 和 `openai` 两种。 -**方式 C:环境变量(优先级最高)** +可选配置项: + +| 键 | 描述 | +|----|------| +| `providers..auth_header` | 认证头:`x-api-key` 或 `authorization`(默认 `authorization`) | +| `providers..extra_body` | 合并到请求体的自定义 JSON 字段 | +| `providers..models` | 用于交互式选择的模型列表 | + +**环境变量(优先级最高)** + +环境变量会覆盖配置文件中的设置,适用于 CI/CD 场景中不便写入配置文件的情况: ```bash export OCR_LLM_URL=https://api.anthropic.com/v1/messages @@ -199,14 +222,12 @@ export OCR_LLM_MODEL=claude-opus-4-6 export OCR_USE_ANTHROPIC=true ``` -同时兼容了 Claude Code 环境变量(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`),并解析 `~/.zshrc` / `~/.bashrc` 中的相关导出。 +同时兼容 Claude Code 环境变量(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`),并解析 `~/.zshrc` / `~/.bashrc` 中的相关导出。 -> **CC-Switch 用户特别提醒**:如果你使用 [CC-Switch](https://github.com/farion1231/cc-switch) 并开启了[路由服务](https://www.ccswitch.io/zh/docs?section=proxy&item=service),可以将 `llm.url` 配置成 CC-Switch 启动的代理地址,无需额外配置: -> - 如果路由的是 **Claude** 供应商:设置 `llm.url` 为 `http://127.0.0.1:15721` -> - 如果路由的是 **Codex** 供应商:设置 `llm.url` 为 `http://127.0.0.1:15721/v1` -> - `llm.model` 根据你的供应商设置进行配置 -> - `llm.auth_token` 可以设置成任意值 -> - `extra_body` 设置依然生效 +> **CC-Switch 用户特别提醒**:如果你使用 [CC-Switch](https://github.com/farion1231/cc-switch) 并开启了[路由服务](https://www.ccswitch.io/zh/docs?section=proxy&item=service),可以将供应商的 `url` 配置成 CC-Switch 启动的代理地址,无需额外配置: +> - 路由 **Claude** 供应商:`providers.anthropic.url` 设为 `http://127.0.0.1:15721` +> - 路由 **Codex** 供应商:对应供应商的 `url` 设为 `http://127.0.0.1:15721/v1` +> - `api_key` 可设置为任意值,`extra_body` 设置依然生效 **2. 测试连通性** diff --git a/imgs/providers.jpg b/imgs/providers.jpg index efa3093..0c8cc9d 100644 Binary files a/imgs/providers.jpg and b/imgs/providers.jpg differ