# OpenCodeReview

出典: https://docs.aicentos.com/ja/clients/opencodereview

Language: ja

> OpenCodeReview（OCR）で aicentos を使う —— カスタム provider によるコードレビュー接続

OpenCodeReview（コマンド名 `ocr`）は Alibaba がオープンソースとして公開している AI コードレビュー CLI です：Git diff を読み取り、LLM を呼び出してレビュー意見を提示します。OpenAI 互換 provider を内蔵しており、カスタムの OpenAI 互換ゲートウェイにも対応しているため、リクエストを aicentos に転送できます。

## 準備

aicentos コンソールで専用のキーを 1 つ作成します（名前は `ocr-ci` のようにすると使用量の追跡に便利です）。OCR は OpenAI / Anthropic の 2 つのプロトコルのみ対応しており、ここでは OpenAI の Chat Completions パスを使います。コードレビューはモデルの **function calling** 能力に依存するため、ツール呼び出しに対応したモデルを選んでください。

## 設定値

| 項目       | 値                                                 |
| -------- | ------------------------------------------------- |
| provider | `openai`（内蔵、URL を上書き）またはカスタム provider             |
| protocol | `openai`（Chat Completions）                        |
| URL      | `https://aicentos.com/v1`                         |
| API Key  | コンソールで作成したキー                                      |
| モデル      | コンソール「モデル広場」のモデル名。function calling に対応している必要があります |

## 設定手順

* CLI をインストールします（Node.js が必要、macOS では Homebrew も可）：

  ```bash
  npm install -g open-code-review
  ```

* 非対話コマンドで設定を書き込みます。最終的に `~/.opencodereview/config.json` に保存されます：

  ```bash
  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
  ```

* GUI のガイドがよい場合は、`ocr config provider` と `ocr config model` をそのまま実行し、TUI で provider を選び、キーを入力し、モデルを選びます。終了すると接続チェックが自動で 1 回走ります。

## テスト

まずエンドポイントを単体で検証します：

```bash
ocr llm test
```

通ったら、任意の Git リポジトリで実際のレビューを 1 回実行します：

```bash
ocr review
```

## 注意事項

* URL は `/v1` まで入力し、`/chat/completions` の完全なパスに補わないでください。
* 設定の resolver には **URL・キー・モデル** の 3 点セットが必要です。環境変数を `export` するだけでは不十分で、足りない部分は config.json に書き込む必要があります。書かないと 401 が返ります。
* 環境変数で一時的に上書きすることもできます。優先順位は最高です：`OCR_LLM_URL` / `OCR_LLM_TOKEN` / `OCR_LLM_MODEL`。
* 内蔵 provider のフィールドは `providers.<name>.url` で、カスタム provider は `custom_providers.<name>.url` です。2 つの map を混在させないでください。
* アカウントの残高不足は 401 / 403 として現れます。先に[ウォレットページ](https://aicentos.com/wallet)で残高を確認してください。
* 公式リポジトリ：`https://github.com/alibaba/open-code-review`