@alibaba-group/open-code-review 1.7.9 → 1.7.11
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 +79 -7
- package/README.ko-KR.md +79 -6
- package/README.md +79 -7
- package/README.ru-RU.md +79 -7
- package/README.zh-CN.md +77 -7
- package/package.json +7 -7
package/README.ja-JP.md
CHANGED
|
@@ -219,7 +219,7 @@ ocr config set custom_providers.my-gateway.api_key your-api-key-here
|
|
|
219
219
|
ocr config set custom_providers.my-gateway.model gpt-4o
|
|
220
220
|
```
|
|
221
221
|
|
|
222
|
-
> カスタムプロバイダーでは`url`と`protocol`が必須です。サポートされるプロトコル:`anthropic`、`openai`。
|
|
222
|
+
> カスタムプロバイダーでは`url`と`protocol`が必須です。サポートされるプロトコル:`anthropic`、`openai`、`openai-responses`。
|
|
223
223
|
|
|
224
224
|
オプション設定:
|
|
225
225
|
|
|
@@ -253,6 +253,17 @@ export OCR_LLM_MODEL=claude-opus-4-6
|
|
|
253
253
|
export OCR_USE_ANTHROPIC=true
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
+
OpenAI Responses API(GPT-5.x / o-シリーズモデル)を使うには、`OCR_USE_ANTHROPIC` の代わりに `OCR_LLM_PROTOCOL` を設定してください:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
export OCR_LLM_URL=https://api.openai.com/v1
|
|
260
|
+
export OCR_LLM_TOKEN=your-openai-key
|
|
261
|
+
export OCR_LLM_MODEL=gpt-5.4
|
|
262
|
+
export OCR_LLM_PROTOCOL=openai-responses
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
`OCR_LLM_PROTOCOL` は `anthropic`、`openai`、`openai-responses`を受け付け、`OCR_USE_ANTHROPIC` と同時に設定した場合は優先されます。
|
|
266
|
+
|
|
256
267
|
Claude Codeの環境変数(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`)とも互換性があり、`~/.zshrc` / `~/.bashrc`からこれらのexportをパースします。
|
|
257
268
|
|
|
258
269
|
> **CC-Switchユーザー向けの注意**: [CC-Switch](https://github.com/farion1231/cc-switch)を[ルーティングサービス](https://www.ccswitch.io/en/docs?section=proxy&item=service)有効で使用している場合、プロバイダーの`url`をCC-Switchのプロキシアドレスに向けることで、追加設定なしで利用できます:
|
|
@@ -287,6 +298,11 @@ ocr review --from main --to feature-branch --resume <session-id>
|
|
|
287
298
|
# フルファイルスキャン — diffではなくファイル全体をレビュー(git履歴不要)
|
|
288
299
|
ocr scan # リポジトリ全体をスキャン
|
|
289
300
|
ocr scan --path internal/agent # ディレクトリまたは特定のファイルをスキャン
|
|
301
|
+
|
|
302
|
+
# デリゲートモード — AI コーディングエージェントが自らレビューを実行
|
|
303
|
+
# OCR はファイル選択とルール解決を担当。LLM 設定不要
|
|
304
|
+
ocr delegate preview
|
|
305
|
+
ocr delegate rule src/main.go src/handler.go
|
|
290
306
|
```
|
|
291
307
|
|
|
292
308
|
### コーディングエージェントとの統合
|
|
@@ -303,6 +319,14 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
303
319
|
|
|
304
320
|
これにより、[skillsレジストリ](skills/open-code-review/SKILL.md)から`open-code-review`スキルがインストールされ、コーディングエージェントにコードレビューのための`ocr`の呼び出し方、優先度による問題の分類、必要に応じた修正の適用を教えます。
|
|
305
321
|
|
|
322
|
+
**デリゲートモード** — コーディングエージェント自身がレビューを実行する場合(OCR はファイル選択とルール解決のみを担当、OCR 側の LLM 設定不要):
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
npx skills add alibaba/open-code-review --skill open-code-review-delegate
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
詳細は [skills/open-code-review-delegate/SKILL.md](skills/open-code-review-delegate/SKILL.md) を参照。
|
|
329
|
+
|
|
306
330
|
#### オプション2: Claude Codeプラグインとしてインストール
|
|
307
331
|
|
|
308
332
|
[Claude Code](https://docs.anthropic.com/en/docs/claude-code)の場合、Claude Code内で以下のコマンドを実行してコマンドプラグインをインストールします:
|
|
@@ -312,7 +336,7 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
312
336
|
/plugin install open-code-review@open-code-review
|
|
313
337
|
```
|
|
314
338
|
|
|
315
|
-
これにより`/open-code-review:review`スラッシュコマンドが登録され、OCR
|
|
339
|
+
これにより`/open-code-review:review`スラッシュコマンドが登録され、OCRを実行して問題を自動的にフィルタリング・修正します。また、`/open-code-review:delegate-review` デリゲートモードコマンドも提供されます(エージェントが自身の能力でレビューを実行し、OCR はファイル選択とルール解決を担当)。
|
|
316
340
|
|
|
317
341
|
#### オプション3: Codexプラグインとしてインストール
|
|
318
342
|
|
|
@@ -402,7 +426,21 @@ curl -o ~/.claude/commands/open-code-review.md \
|
|
|
402
426
|
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md
|
|
403
427
|
```
|
|
404
428
|
|
|
405
|
-
|
|
429
|
+
デリゲートモード(OCR 側の LLM 設定不要):
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# プロジェクトレベル
|
|
433
|
+
mkdir -p .claude/commands
|
|
434
|
+
curl -o .claude/commands/open-code-review-delegate.md \
|
|
435
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
436
|
+
|
|
437
|
+
# ユーザーレベル
|
|
438
|
+
mkdir -p ~/.claude/commands
|
|
439
|
+
curl -o ~/.claude/commands/open-code-review-delegate.md \
|
|
440
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
> **前提条件**:すべての統合方法には `ocr` CLI のインストールが必要です。標準モードではさらに LLM の設定が必要です — 上記の[インストール](#インストール)と[LLM の設定](#1-llm-の設定)を参照。デリゲートモードでは OCR 側の LLM 設定は**不要**です。
|
|
406
444
|
|
|
407
445
|
### CI/CD統合
|
|
408
446
|
|
|
@@ -455,6 +493,8 @@ GitHub 向けに、本リポジトリはリポジトリルートにすぐ使え
|
|
|
455
493
|
|---------|-------|-------------|
|
|
456
494
|
| `ocr review` | `ocr r` | diffベースのコードレビューを開始 |
|
|
457
495
|
| `ocr scan` | `ocr s` | ファイル全体をレビュー(diff不要) |
|
|
496
|
+
| `ocr delegate preview` | `ocr d preview` | レビュー対象ファイル一覧をモード/参照メタデータ付きで出力(LLM 不要) |
|
|
497
|
+
| `ocr delegate rule <path...>` | `ocr d rule` | 内容別にグループ化されたレビュールールを出力(LLM 不要) |
|
|
458
498
|
| `ocr rules check <file>` | — | ファイルパスに適用されるレビュールールをプレビュー |
|
|
459
499
|
| `ocr config provider` | — | 対話的プロバイダーセットアップ(ビルトイン、カスタム、手動) |
|
|
460
500
|
| `ocr config model` | — | アクティブなプロバイダーの対話的モデル選択 |
|
|
@@ -546,6 +586,31 @@ ocr review --commit abc123 --resume <session-id>
|
|
|
546
586
|
|
|
547
587
|
各実行前に、`ocr scan` はおおまかなトークンコスト見積もりを表示します。`--preview` でまずファイルリストを確認し、`--max-tokens-budget` で大規模リポジトリの支出を制限できます。
|
|
548
588
|
|
|
589
|
+
### `ocr delegate` フラグ
|
|
590
|
+
|
|
591
|
+
`ocr delegate` は AI コーディングエージェント向けのデリゲートモードです。LLM を呼び出さずに
|
|
592
|
+
確定的なファイル選択とルール解決を提供します — 実際のレビューはホストエージェントが
|
|
593
|
+
自身の能力で実行します。
|
|
594
|
+
|
|
595
|
+
| サブコマンド | 説明 |
|
|
596
|
+
|-------------|------|
|
|
597
|
+
| `ocr delegate preview` | レビュー対象ファイル一覧をモード/参照メタデータ付きで出力 |
|
|
598
|
+
| `ocr delegate rule <path...>` | 内容別にグループ化されたレビュールールを出力 |
|
|
599
|
+
|
|
600
|
+
両サブコマンドは以下のフラグを共有します:
|
|
601
|
+
|
|
602
|
+
| フラグ | 短縮形 | デフォルト | 説明 |
|
|
603
|
+
|--------|--------|-----------|------|
|
|
604
|
+
| `--repo` | — | カレントディレクトリ | Git リポジトリルート |
|
|
605
|
+
| `--from` | — | — | ソース参照(例:`main`) |
|
|
606
|
+
| `--to` | — | — | ターゲット参照(例:`feature-branch`) |
|
|
607
|
+
| `--commit` | `-c` | — | 単一コミット |
|
|
608
|
+
| `--exclude` | — | — | カンマ区切りの gitignore スタイルの除外パターン |
|
|
609
|
+
| `--rule` | — | — | カスタム JSON レビュールールのパス |
|
|
610
|
+
| `--background` | `-b` | — | オプションの要件/ビジネスコンテキスト |
|
|
611
|
+
| `--background-file` | `-B` | — | Markdown ファイルからのビジネスコンテキスト |
|
|
612
|
+
| `--max-git-procs` | — | `16` | 最大並行 git サブプロセス数 |
|
|
613
|
+
|
|
549
614
|
## 例
|
|
550
615
|
|
|
551
616
|
```bash
|
|
@@ -611,6 +676,12 @@ ocr scan --repo /path/to/plain/dir --format json
|
|
|
611
676
|
# 最速スキャン:プランニング、重複排除、プロジェクトサマリーをスキップ
|
|
612
677
|
ocr scan --no-plan --no-dedup --no-summary
|
|
613
678
|
|
|
679
|
+
# デリゲートモード — AI エージェントがレビューを実行(LLM 設定不要)
|
|
680
|
+
ocr delegate preview
|
|
681
|
+
ocr delegate preview --from main --to feature-branch
|
|
682
|
+
ocr delegate preview --commit abc123
|
|
683
|
+
ocr delegate rule internal/handler.go internal/service.go cmd/main.go
|
|
684
|
+
|
|
614
685
|
# ブラウザでレビューセッション履歴を表示
|
|
615
686
|
ocr viewer
|
|
616
687
|
ocr viewer --addr :3000
|
|
@@ -752,7 +823,7 @@ OCRは4層の優先度チェーンを使ってレビュールールを解決し
|
|
|
752
823
|
| `provider` | string | `anthropic` \| `openai` \| `dashscope` \| `deepseek` \| `z-ai` |
|
|
753
824
|
| `providers.<name>.api_key` | string | プロバイダー固有のAPIキー |
|
|
754
825
|
| `providers.<name>.url` | string | プロバイダーのベースURLオーバーライド |
|
|
755
|
-
| `providers.<name>.protocol` | string | `anthropic` \| `openai` |
|
|
826
|
+
| `providers.<name>.protocol` | string | `anthropic` \| `openai` \| `openai-responses` |
|
|
756
827
|
| `providers.<name>.model` | string | プロバイダーのモデル名 |
|
|
757
828
|
| `providers.<name>.models` | array | 対話的選択に使う任意のプロバイダーモデル一覧 |
|
|
758
829
|
| `providers.<name>.auth_header` | string | `x-api-key` \| `authorization` |
|
|
@@ -767,7 +838,8 @@ OCRは4層の優先度チェーンを使ってレビュールールを解決し
|
|
|
767
838
|
| `llm.timeout_sec` | integer | リクエストごとのHTTPタイムアウト(秒)、デフォルト `300` |
|
|
768
839
|
| `llm.extra_headers` | string | カンマ区切りの `key=value` HTTPヘッダー |
|
|
769
840
|
| `llm.model` | string | `claude-opus-4-6` |
|
|
770
|
-
| `llm.
|
|
841
|
+
| `llm.protocol` | string | `anthropic` \| `openai` \| `openai-responses`;`llm.use_anthropic` より優先 |
|
|
842
|
+
| `llm.use_anthropic` | boolean | `true` \| `false`(レガシー;`llm.protocol` を推奨) |
|
|
771
843
|
| `mcp_servers.<name>.command` | string | MCPサーバーを起動するコマンド |
|
|
772
844
|
| `mcp_servers.<name>.args` | array | MCPサーバーのコマンドライン引数 |
|
|
773
845
|
| `mcp_servers.<name>.env` | array | 環境変数(`KEY=VALUE`形式) |
|
|
@@ -827,9 +899,9 @@ ocr config set mcp_servers.codegraph.setup 'codegraph init && codegraph index'
|
|
|
827
899
|
| `OCR_LLM_AUTH_HEADER` | Anthropic認証ヘッダー(`x-api-key`または`authorization`) |
|
|
828
900
|
| `OCR_LLM_EXTRA_HEADERS` | カンマ区切りの `key=value` HTTPヘッダー |
|
|
829
901
|
| `OCR_LLM_MODEL` | モデル名 |
|
|
902
|
+
| `OCR_LLM_PROTOCOL` | プロトコル:`anthropic` \| `openai` \| `openai-responses`;`OCR_USE_ANTHROPIC` より優先 |
|
|
830
903
|
| `OCR_LLM_TIMEOUT` | リクエストごとのHTTPタイムアウト(秒)、設定ファイルの `timeout_sec` を上書き |
|
|
831
|
-
| `OCR_USE_ANTHROPIC` | `true` = Anthropic、`false` = OpenAI |
|
|
832
|
-
|
|
904
|
+
| `OCR_USE_ANTHROPIC` | `true` = Anthropic、`false` = OpenAI Chat Completions(レガシー;`OCR_LLM_PROTOCOL` を推奨) |
|
|
833
905
|
|
|
834
906
|
## テレメトリー
|
|
835
907
|
|
package/README.ko-KR.md
CHANGED
|
@@ -219,7 +219,7 @@ ocr config set custom_providers.my-gateway.api_key your-api-key-here
|
|
|
219
219
|
ocr config set custom_providers.my-gateway.model gpt-4o
|
|
220
220
|
```
|
|
221
221
|
|
|
222
|
-
> 커스텀 provider에서는 `url`과 `protocol`이 필수입니다. 지원 프로토콜: `anthropic`, `openai
|
|
222
|
+
> 커스텀 provider에서는 `url`과 `protocol`이 필수입니다. 지원 프로토콜: `anthropic`, `openai`, `openai-responses`
|
|
223
223
|
|
|
224
224
|
선택 설정:
|
|
225
225
|
|
|
@@ -253,6 +253,17 @@ export OCR_LLM_MODEL=claude-opus-4-6
|
|
|
253
253
|
export OCR_USE_ANTHROPIC=true
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
+
OpenAI Responses API(GPT-5.x / o-시리즈 모델)를 사용하려면 `OCR_USE_ANTHROPIC` 대신 `OCR_LLM_PROTOCOL`을 사용하세요:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
export OCR_LLM_URL=https://api.openai.com/v1
|
|
260
|
+
export OCR_LLM_TOKEN=your-openai-key
|
|
261
|
+
export OCR_LLM_MODEL=gpt-5.4
|
|
262
|
+
export OCR_LLM_PROTOCOL=openai-responses
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
`OCR_LLM_PROTOCOL`은 `anthropic`, `openai`, `openai-responses`를 허용하며, `OCR_USE_ANTHROPIC`과 함께 설정하면 우선 적용됩니다.
|
|
266
|
+
|
|
256
267
|
Claude Code 환경 변수(`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`)와도 호환되며, `~/.zshrc` / `~/.bashrc`의 export도 파싱합니다.
|
|
257
268
|
|
|
258
269
|
> **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 주소로 지정하여 추가 설정 없이 사용할 수 있습니다:
|
|
@@ -287,6 +298,11 @@ ocr review --from main --to feature-branch --resume <session-id>
|
|
|
287
298
|
# 전체 파일 스캔 — diff 대신 파일 전체를 리뷰 (git 이력 불필요)
|
|
288
299
|
ocr scan # 전체 repository 스캔
|
|
289
300
|
ocr scan --path internal/agent # 디렉터리 또는 특정 파일 스캔
|
|
301
|
+
|
|
302
|
+
# 위임 모드 — AI 코딩 에이전트가 직접 리뷰 수행
|
|
303
|
+
# OCR은 파일 선택과 규칙 해석만 담당; LLM 설정 불필요
|
|
304
|
+
ocr delegate preview
|
|
305
|
+
ocr delegate rule src/main.go src/handler.go
|
|
290
306
|
```
|
|
291
307
|
|
|
292
308
|
### Coding Agent와 통합
|
|
@@ -303,6 +319,14 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
303
319
|
|
|
304
320
|
이 명령은 [skills registry](skills/open-code-review/SKILL.md)의 `open-code-review` skill을 설치합니다. 이 skill은 coding agent가 `ocr`을 호출해 코드 리뷰를 수행하고, issue를 우선순위별로 분류하며, 필요한 경우 fix를 적용하는 방법을 알려줍니다.
|
|
305
321
|
|
|
322
|
+
**위임 모드** — 코딩 에이전트가 직접 리뷰를 수행하길 원하는 경우 (OCR은 파일 선택과 규칙 해석만 담당, OCR 측 LLM 설정 불필요):
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
npx skills add alibaba/open-code-review --skill open-code-review-delegate
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
자세한 내용은 [skills/open-code-review-delegate/SKILL.md](skills/open-code-review-delegate/SKILL.md)를 참조하세요.
|
|
329
|
+
|
|
306
330
|
#### Option 2: Claude Code Plugin으로 설치
|
|
307
331
|
|
|
308
332
|
[Claude Code](https://docs.anthropic.com/en/docs/claude-code)에서는 Claude Code 안에서 다음 명령으로 command plugin을 설치합니다.
|
|
@@ -312,7 +336,7 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
312
336
|
/plugin install open-code-review@open-code-review
|
|
313
337
|
```
|
|
314
338
|
|
|
315
|
-
이렇게 하면 OCR을 실행하고 issue를 자동으로 필터링 및 수정하는 `/open-code-review:review` slash command가 등록됩니다.
|
|
339
|
+
이렇게 하면 OCR을 실행하고 issue를 자동으로 필터링 및 수정하는 `/open-code-review:review` slash command가 등록됩니다. 또한 `/open-code-review:delegate-review` 위임 모드 명령도 제공됩니다 (에이전트가 자체 능력으로 리뷰를 수행하고, OCR은 파일 선택과 규칙 해석을 담당).
|
|
316
340
|
|
|
317
341
|
#### Option 3: Codex Plugin으로 설치
|
|
318
342
|
|
|
@@ -402,7 +426,21 @@ curl -o ~/.claude/commands/open-code-review.md \
|
|
|
402
426
|
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md
|
|
403
427
|
```
|
|
404
428
|
|
|
405
|
-
|
|
429
|
+
위임 모드 (OCR 측 LLM 설정 불필요):
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# 프로젝트 수준
|
|
433
|
+
mkdir -p .claude/commands
|
|
434
|
+
curl -o .claude/commands/open-code-review-delegate.md \
|
|
435
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
436
|
+
|
|
437
|
+
# 사용자 수준
|
|
438
|
+
mkdir -p ~/.claude/commands
|
|
439
|
+
curl -o ~/.claude/commands/open-code-review-delegate.md \
|
|
440
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
> **전제 조건**: 모든 통합 방식은 `ocr` CLI 설치가 필요합니다. 표준 모드는 추가로 LLM 설정이 필요합니다 — 위의 [설치](#설치) 및 [LLM 설정](#1-llm-설정)을 참조하세요. 위임 모드는 OCR 측 LLM 설정이 **필요 없습니다**.
|
|
406
444
|
|
|
407
445
|
### CI/CD 통합
|
|
408
446
|
|
|
@@ -455,6 +493,8 @@ GitHub의 경우, 이 리포지터리는 루트에 바로 사용할 수 있는 c
|
|
|
455
493
|
|---------|-------|-------------|
|
|
456
494
|
| `ocr review` | `ocr r` | diff 기반 코드 리뷰 시작 |
|
|
457
495
|
| `ocr scan` | `ocr s` | 전체 파일 리뷰 (diff 불필요) |
|
|
496
|
+
| `ocr delegate preview` | `ocr d preview` | 리뷰 대상 파일 목록을 모드/참조 메타데이터와 함께 출력 (LLM 불필요) |
|
|
497
|
+
| `ocr delegate rule <path...>` | `ocr d rule` | 내용별로 그룹화된 리뷰 규칙 출력 (LLM 불필요) |
|
|
458
498
|
| `ocr rules check <file>` | - | 파일 경로에 적용될 리뷰 rule 미리보기 |
|
|
459
499
|
| `ocr config provider` | - | 대화형 provider 설정 (built-in, custom, 수동) |
|
|
460
500
|
| `ocr config model` | - | 활성 provider의 대화형 model 선택 |
|
|
@@ -546,6 +586,31 @@ Resume은 의도적으로 엄격합니다. branch range와 단일 commit review
|
|
|
546
586
|
|
|
547
587
|
각 실행 전에 `ocr scan`은 대략적인 토큰 비용 추정치를 출력합니다. `--preview`로 먼저 파일 목록을 확인하고, `--max-tokens-budget`으로 대규모 repository의 비용을 제한할 수 있습니다.
|
|
548
588
|
|
|
589
|
+
### `ocr delegate` 플래그
|
|
590
|
+
|
|
591
|
+
`ocr delegate`는 AI 코딩 에이전트를 위한 위임 모드입니다. LLM을 호출하지 않고
|
|
592
|
+
결정론적인 파일 선택과 규칙 해석을 제공합니다 — 실제 리뷰는 호스트 에이전트가
|
|
593
|
+
자체 능력으로 수행합니다.
|
|
594
|
+
|
|
595
|
+
| 하위 명령 | 설명 |
|
|
596
|
+
|-----------|------|
|
|
597
|
+
| `ocr delegate preview` | 리뷰 대상 파일 목록을 모드/참조 메타데이터와 함께 출력 |
|
|
598
|
+
| `ocr delegate rule <path...>` | 내용별로 그룹화된 리뷰 규칙 출력 |
|
|
599
|
+
|
|
600
|
+
두 하위 명령은 다음 플래그를 공유합니다:
|
|
601
|
+
|
|
602
|
+
| 플래그 | 축약형 | 기본값 | 설명 |
|
|
603
|
+
|--------|--------|--------|------|
|
|
604
|
+
| `--repo` | — | 현재 디렉터리 | Git 저장소 루트 |
|
|
605
|
+
| `--from` | — | — | 소스 참조 (예: `main`) |
|
|
606
|
+
| `--to` | — | — | 대상 참조 (예: `feature-branch`) |
|
|
607
|
+
| `--commit` | `-c` | — | 단일 커밋 |
|
|
608
|
+
| `--exclude` | — | — | 쉼표로 구분된 gitignore 스타일 제외 패턴 |
|
|
609
|
+
| `--rule` | — | — | 커스텀 JSON 리뷰 규칙 경로 |
|
|
610
|
+
| `--background` | `-b` | — | 선택적 요구사항/비즈니스 컨텍스트 |
|
|
611
|
+
| `--background-file` | `-B` | — | Markdown 파일에서 비즈니스 컨텍스트 로드 |
|
|
612
|
+
| `--max-git-procs` | — | `16` | 최대 동시 git 하위 프로세스 수 |
|
|
613
|
+
|
|
549
614
|
## Examples
|
|
550
615
|
|
|
551
616
|
```bash
|
|
@@ -611,6 +676,12 @@ ocr scan --repo /path/to/plain/dir --format json
|
|
|
611
676
|
# 가장 빠른 스캔: planning, 중복 제거, 프로젝트 요약 건너뛰기
|
|
612
677
|
ocr scan --no-plan --no-dedup --no-summary
|
|
613
678
|
|
|
679
|
+
# 위임 모드 — AI 에이전트가 리뷰 수행 (LLM 설정 불필요)
|
|
680
|
+
ocr delegate preview
|
|
681
|
+
ocr delegate preview --from main --to feature-branch
|
|
682
|
+
ocr delegate preview --commit abc123
|
|
683
|
+
ocr delegate rule internal/handler.go internal/service.go cmd/main.go
|
|
684
|
+
|
|
614
685
|
# browser에서 review session history 보기
|
|
615
686
|
ocr viewer
|
|
616
687
|
ocr viewer --addr :3000
|
|
@@ -710,7 +781,7 @@ Config file: `~/.opencodereview/config.json`
|
|
|
710
781
|
| `provider` | string | `anthropic` \| `openai` \| `dashscope` \| `deepseek` \| `z-ai` |
|
|
711
782
|
| `providers.<name>.api_key` | string | Provider별 API key |
|
|
712
783
|
| `providers.<name>.url` | string | Provider base URL override |
|
|
713
|
-
| `providers.<name>.protocol` | string | `anthropic` \| `openai` |
|
|
784
|
+
| `providers.<name>.protocol` | string | `anthropic` \| `openai` \| `openai-responses` |
|
|
714
785
|
| `providers.<name>.model` | string | Provider의 model 이름 |
|
|
715
786
|
| `providers.<name>.models` | array | 대화형 선택에 사용할 optional provider model 목록 |
|
|
716
787
|
| `providers.<name>.auth_header` | string | `x-api-key` \| `authorization` |
|
|
@@ -725,7 +796,8 @@ Config file: `~/.opencodereview/config.json`
|
|
|
725
796
|
| `llm.timeout_sec` | integer | 요청당 HTTP timeout(초), 기본값 `300` |
|
|
726
797
|
| `llm.extra_headers` | string | 쉼표로 구분된 `key=value` HTTP 헤더 |
|
|
727
798
|
| `llm.model` | string | `claude-opus-4-6` |
|
|
728
|
-
| `llm.
|
|
799
|
+
| `llm.protocol` | string | `anthropic` \| `openai` \| `openai-responses`; `llm.use_anthropic`보다 우선 |
|
|
800
|
+
| `llm.use_anthropic` | boolean | `true` \| `false` (레거시; `llm.protocol` 권장) |
|
|
729
801
|
| `mcp_servers.<name>.command` | string | MCP 서버를 시작하는 명령어 |
|
|
730
802
|
| `mcp_servers.<name>.args` | array | MCP 서버의 커맨드라인 인수 |
|
|
731
803
|
| `mcp_servers.<name>.env` | array | 환경 변수 (`KEY=VALUE` 형식) |
|
|
@@ -785,8 +857,9 @@ ocr config set mcp_servers.codegraph.setup 'codegraph init && codegraph index'
|
|
|
785
857
|
| `OCR_LLM_AUTH_HEADER` | Anthropic auth header (`x-api-key` 또는 `authorization`) |
|
|
786
858
|
| `OCR_LLM_EXTRA_HEADERS` | 쉼표로 구분된 `key=value` HTTP 헤더 |
|
|
787
859
|
| `OCR_LLM_MODEL` | Model name |
|
|
860
|
+
| `OCR_LLM_PROTOCOL` | 프로토콜: `anthropic` \| `openai` \| `openai-responses`; `OCR_USE_ANTHROPIC`보다 우선 |
|
|
788
861
|
| `OCR_LLM_TIMEOUT` | 요청당 HTTP timeout(초), config file의 `timeout_sec`를 override |
|
|
789
|
-
| `OCR_USE_ANTHROPIC` | `true` = Anthropic, `false` = OpenAI |
|
|
862
|
+
| `OCR_USE_ANTHROPIC` | `true` = Anthropic, `false` = OpenAI Chat Completions (레거시; `OCR_LLM_PROTOCOL` 권장) |
|
|
790
863
|
|
|
791
864
|
## Telemetry
|
|
792
865
|
|
package/README.md
CHANGED
|
@@ -219,7 +219,7 @@ ocr config set custom_providers.my-gateway.api_key your-api-key-here
|
|
|
219
219
|
ocr config set custom_providers.my-gateway.model gpt-4o
|
|
220
220
|
```
|
|
221
221
|
|
|
222
|
-
> `url` and `protocol` are required for custom providers. Supported protocols: `anthropic`, `openai`.
|
|
222
|
+
> `url` and `protocol` are required for custom providers. Supported protocols: `anthropic`, `openai`, `openai-responses`.
|
|
223
223
|
|
|
224
224
|
Optional settings:
|
|
225
225
|
|
|
@@ -253,6 +253,17 @@ export OCR_LLM_MODEL=claude-opus-4-6
|
|
|
253
253
|
export OCR_USE_ANTHROPIC=true
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
+
To use the OpenAI Responses API (GPT-5.x / o-series), set `OCR_LLM_PROTOCOL` instead of `OCR_USE_ANTHROPIC`:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
export OCR_LLM_URL=https://api.openai.com/v1
|
|
260
|
+
export OCR_LLM_TOKEN=your-openai-key
|
|
261
|
+
export OCR_LLM_MODEL=gpt-5.4
|
|
262
|
+
export OCR_LLM_PROTOCOL=openai-responses
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
`OCR_LLM_PROTOCOL` accepts `anthropic`, `openai`, `openai-responses`, and takes priority over `OCR_USE_ANTHROPIC` when both are set.
|
|
266
|
+
|
|
256
267
|
Also compatible with Claude Code environment variables (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) and parses `~/.zshrc` / `~/.bashrc` for those exports.
|
|
257
268
|
|
|
258
269
|
> **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:
|
|
@@ -287,6 +298,11 @@ ocr review --from main --to feature-branch --resume <session-id>
|
|
|
287
298
|
# Full-file scan — review whole files instead of a diff (no git history needed)
|
|
288
299
|
ocr scan # scan the entire repository
|
|
289
300
|
ocr scan --path internal/agent # scan a directory or specific files
|
|
301
|
+
|
|
302
|
+
# Delegation mode — let your AI coding agent perform the review itself
|
|
303
|
+
# OCR handles file selection and rule resolution; no LLM configuration needed
|
|
304
|
+
ocr delegate preview
|
|
305
|
+
ocr delegate rule src/main.go src/handler.go
|
|
290
306
|
```
|
|
291
307
|
|
|
292
308
|
### Integrate with Coding Agents
|
|
@@ -303,6 +319,14 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
303
319
|
|
|
304
320
|
This installs the `open-code-review` skill from the [skills registry](skills/open-code-review/SKILL.md), which teaches your coding agent how to invoke `ocr` for code review, classify issues by priority, and optionally apply fixes.
|
|
305
321
|
|
|
322
|
+
**Delegation mode** — if you want your coding agent to perform the review itself (using OCR only for file selection and rule resolution, no LLM configuration needed on the OCR side):
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
npx skills add alibaba/open-code-review --skill open-code-review-delegate
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
See [skills/open-code-review-delegate/SKILL.md](skills/open-code-review-delegate/SKILL.md) for details.
|
|
329
|
+
|
|
306
330
|
#### Option 2: Install as a Claude Code Plugin
|
|
307
331
|
|
|
308
332
|
For [Claude Code](https://docs.anthropic.com/en/docs/claude-code), install the command plugin through the following command in Claude Code:
|
|
@@ -312,7 +336,7 @@ For [Claude Code](https://docs.anthropic.com/en/docs/claude-code), install the c
|
|
|
312
336
|
/plugin install open-code-review@open-code-review
|
|
313
337
|
```
|
|
314
338
|
|
|
315
|
-
This registers the `/open-code-review:review` slash command, which runs OCR and automatically filters and fixes issues.
|
|
339
|
+
This registers the `/open-code-review:review` slash command, which runs OCR and automatically filters and fixes issues. It also provides `/open-code-review:delegate-review` for delegation mode (the agent reviews using its own capabilities while OCR handles file selection and rules).
|
|
316
340
|
|
|
317
341
|
#### Option 3: Install as a Codex Plugin
|
|
318
342
|
|
|
@@ -402,7 +426,21 @@ curl -o ~/.claude/commands/open-code-review.md \
|
|
|
402
426
|
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md
|
|
403
427
|
```
|
|
404
428
|
|
|
405
|
-
|
|
429
|
+
For delegation mode (no LLM configuration needed on OCR side):
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# Project-level
|
|
433
|
+
mkdir -p .claude/commands
|
|
434
|
+
curl -o .claude/commands/open-code-review-delegate.md \
|
|
435
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
436
|
+
|
|
437
|
+
# User-level
|
|
438
|
+
mkdir -p ~/.claude/commands
|
|
439
|
+
curl -o ~/.claude/commands/open-code-review-delegate.md \
|
|
440
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
> **Prerequisite**: All integration methods require the `ocr` CLI to be installed. Standard mode additionally requires an LLM configured — see [Install](#install) and [Configure LLM](#1-configure-llm) above. Delegation mode does **not** require LLM configuration on the OCR side.
|
|
406
444
|
|
|
407
445
|
### CI/CD Integration
|
|
408
446
|
|
|
@@ -457,6 +495,8 @@ Pin to a version tag or commit SHA for reproducibility. See the [`examples/githu
|
|
|
457
495
|
|---------|-------|-------------|
|
|
458
496
|
| `ocr review` | `ocr r` | Start a diff-based code review |
|
|
459
497
|
| `ocr scan` | `ocr s` | Review whole files (no diff required) |
|
|
498
|
+
| `ocr delegate preview` | `ocr d preview` | Preview reviewable files with mode/ref metadata (no LLM required) |
|
|
499
|
+
| `ocr delegate rule <path...>` | `ocr d rule` | Output resolved review rules grouped by content (no LLM required) |
|
|
460
500
|
| `ocr rules check <file>` | — | Preview which review rule applies to a file path |
|
|
461
501
|
| `ocr config provider` | — | Interactive provider setup (built-in, custom, or manual) |
|
|
462
502
|
| `ocr config model` | — | Interactive model selection for the active provider |
|
|
@@ -553,6 +593,31 @@ non-git directories too (it falls back to a filesystem walk that honors `.gitign
|
|
|
553
593
|
Before each run, `ocr scan` prints a rough token-cost estimate. Use `--preview` to see the
|
|
554
594
|
file list first, and `--max-tokens-budget` to cap spend on large repositories.
|
|
555
595
|
|
|
596
|
+
### `ocr delegate` Flags
|
|
597
|
+
|
|
598
|
+
`ocr delegate` is the delegation mode for AI coding agents. It provides deterministic
|
|
599
|
+
file selection and rule resolution without calling any LLM — the host agent performs
|
|
600
|
+
the actual review using its own capabilities.
|
|
601
|
+
|
|
602
|
+
| Sub-command | Description |
|
|
603
|
+
|-------------|-------------|
|
|
604
|
+
| `ocr delegate preview` | Output reviewable file list with mode/ref metadata |
|
|
605
|
+
| `ocr delegate rule <path...>` | Output resolved review rules grouped by content |
|
|
606
|
+
|
|
607
|
+
Both sub-commands share these flags:
|
|
608
|
+
|
|
609
|
+
| Flag | Shorthand | Default | Description |
|
|
610
|
+
|------|-----------|---------|-------------|
|
|
611
|
+
| `--repo` | — | current dir | Git repository root |
|
|
612
|
+
| `--from` | — | — | Source ref (e.g., `main`) |
|
|
613
|
+
| `--to` | — | — | Target ref (e.g., `feature-branch`) |
|
|
614
|
+
| `--commit` | `-c` | — | Single commit to review |
|
|
615
|
+
| `--exclude` | — | — | Comma-separated gitignore-style patterns to skip |
|
|
616
|
+
| `--rule` | — | — | Path to custom JSON review rules |
|
|
617
|
+
| `--background` | `-b` | — | Optional requirement/business context |
|
|
618
|
+
| `--background-file` | `-B` | — | Business context from a Markdown file |
|
|
619
|
+
| `--max-git-procs` | — | `16` | Max concurrent git subprocesses |
|
|
620
|
+
|
|
556
621
|
## Examples
|
|
557
622
|
|
|
558
623
|
```bash
|
|
@@ -618,6 +683,12 @@ ocr scan --repo /path/to/plain/dir --format json
|
|
|
618
683
|
# Fastest scan: skip planning, dedup, and the project summary
|
|
619
684
|
ocr scan --no-plan --no-dedup --no-summary
|
|
620
685
|
|
|
686
|
+
# Delegation mode — let your AI agent drive the review (no LLM config needed)
|
|
687
|
+
ocr delegate preview
|
|
688
|
+
ocr delegate preview --from main --to feature-branch
|
|
689
|
+
ocr delegate preview --commit abc123
|
|
690
|
+
ocr delegate rule internal/handler.go internal/service.go cmd/main.go
|
|
691
|
+
|
|
621
692
|
# View review session history in browser
|
|
622
693
|
ocr viewer
|
|
623
694
|
ocr viewer --addr :3000
|
|
@@ -759,7 +830,7 @@ Config file: `~/.opencodereview/config.json`
|
|
|
759
830
|
| `provider` | string | `anthropic` \| `openai` \| `dashscope` \| `deepseek` \| `z-ai` |
|
|
760
831
|
| `providers.<name>.api_key` | string | Provider-specific API key |
|
|
761
832
|
| `providers.<name>.url` | string | Provider base URL override |
|
|
762
|
-
| `providers.<name>.protocol` | string | `anthropic` \| `openai` |
|
|
833
|
+
| `providers.<name>.protocol` | string | `anthropic` \| `openai` \| `openai-responses` |
|
|
763
834
|
| `providers.<name>.model` | string | Model name for the provider |
|
|
764
835
|
| `providers.<name>.models` | array | Optional provider model list for interactive selection |
|
|
765
836
|
| `providers.<name>.auth_header` | string | `x-api-key` \| `authorization` |
|
|
@@ -774,7 +845,8 @@ Config file: `~/.opencodereview/config.json`
|
|
|
774
845
|
| `llm.timeout_sec` | integer | Per-request HTTP timeout in seconds (default: `300`) |
|
|
775
846
|
| `llm.extra_headers` | string | Comma-separated `key=value` HTTP headers |
|
|
776
847
|
| `llm.model` | string | `claude-opus-4-6` |
|
|
777
|
-
| `llm.
|
|
848
|
+
| `llm.protocol` | string | `anthropic` \| `openai` \| `openai-responses`; takes priority over `llm.use_anthropic` |
|
|
849
|
+
| `llm.use_anthropic` | boolean | `true` \| `false` (legacy; prefer `llm.protocol`) |
|
|
778
850
|
| `mcp_servers.<name>.command` | string | Command to start the MCP server |
|
|
779
851
|
| `mcp_servers.<name>.args` | array | Command-line arguments for the MCP server |
|
|
780
852
|
| `mcp_servers.<name>.env` | array | Environment variables in `KEY=VALUE` format |
|
|
@@ -834,9 +906,9 @@ ocr config set mcp_servers.codegraph.setup 'codegraph init && codegraph index'
|
|
|
834
906
|
| `OCR_LLM_AUTH_HEADER` | Anthropic auth header (`x-api-key` or `authorization`) |
|
|
835
907
|
| `OCR_LLM_EXTRA_HEADERS` | Comma-separated `key=value` HTTP headers |
|
|
836
908
|
| `OCR_LLM_MODEL` | Model name |
|
|
909
|
+
| `OCR_LLM_PROTOCOL` | Protocol: `anthropic` \| `openai` \| `openai-responses`; takes priority over `OCR_USE_ANTHROPIC` |
|
|
837
910
|
| `OCR_LLM_TIMEOUT` | Per-request HTTP timeout in seconds (overrides config file `timeout_sec`) |
|
|
838
|
-
| `OCR_USE_ANTHROPIC` | `true` = Anthropic, `false` = OpenAI |
|
|
839
|
-
|
|
911
|
+
| `OCR_USE_ANTHROPIC` | `true` = Anthropic, `false` = OpenAI Chat Completions (legacy; prefer `OCR_LLM_PROTOCOL`) |
|
|
840
912
|
|
|
841
913
|
## Telemetry
|
|
842
914
|
|
package/README.ru-RU.md
CHANGED
|
@@ -219,7 +219,7 @@ ocr config set custom_providers.my-gateway.api_key your-api-key-here
|
|
|
219
219
|
ocr config set custom_providers.my-gateway.model gpt-4o
|
|
220
220
|
```
|
|
221
221
|
|
|
222
|
-
> Для пользовательских провайдеров `url` и `protocol` обязательны. Поддерживаемые протоколы: `anthropic`, `openai`.
|
|
222
|
+
> Для пользовательских провайдеров `url` и `protocol` обязательны. Поддерживаемые протоколы: `anthropic`, `openai`, `openai-responses`.
|
|
223
223
|
|
|
224
224
|
Дополнительные настройки:
|
|
225
225
|
|
|
@@ -253,6 +253,17 @@ export OCR_LLM_MODEL=claude-opus-4-6
|
|
|
253
253
|
export OCR_USE_ANTHROPIC=true
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
+
Чтобы использовать OpenAI Responses API (модели GPT-5.x / o-series), задайте `OCR_LLM_PROTOCOL` вместо `OCR_USE_ANTHROPIC`:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
export OCR_LLM_URL=https://api.openai.com/v1
|
|
260
|
+
export OCR_LLM_TOKEN=your-openai-key
|
|
261
|
+
export OCR_LLM_MODEL=gpt-5.4
|
|
262
|
+
export OCR_LLM_PROTOCOL=openai-responses
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
`OCR_LLM_PROTOCOL` принимает значения `anthropic`, `openai`, `openai-responses` и имеет приоритет над `OCR_USE_ANTHROPIC`, если заданы обе переменные.
|
|
266
|
+
|
|
256
267
|
Также совместим с переменными окружения Claude Code (`ANTHROPIC_BASE_URL`, `ANTHROPIC_AUTH_TOKEN`, `ANTHROPIC_MODEL`) и разбирает `~/.zshrc` / `~/.bashrc` в поисках соответствующих export'ов.
|
|
257
268
|
|
|
258
269
|
> **Примечание для пользователей 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 без дополнительной настройки:
|
|
@@ -287,6 +298,11 @@ ocr review --from main --to feature-branch --resume <session-id>
|
|
|
287
298
|
# Полнофайловое сканирование — ревью целых файлов вместо диффа (история git не нужна)
|
|
288
299
|
ocr scan # сканировать весь репозиторий
|
|
289
300
|
ocr scan --path internal/agent # сканировать каталог или конкретные файлы
|
|
301
|
+
|
|
302
|
+
# Режим делегирования — AI-агент сам выполняет ревью
|
|
303
|
+
# OCR отвечает за выбор файлов и разрешение правил; настройка LLM не требуется
|
|
304
|
+
ocr delegate preview
|
|
305
|
+
ocr delegate rule src/main.go src/handler.go
|
|
290
306
|
```
|
|
291
307
|
|
|
292
308
|
### Интеграция с кодинг-агентами
|
|
@@ -303,6 +319,14 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
303
319
|
|
|
304
320
|
Это установит скилл `open-code-review` из [реестра скиллов](skills/open-code-review/SKILL.md), который объясняет вашему кодинг-агенту, как вызывать `ocr` для код-ревью, классифицировать найденные проблемы по приоритету и при необходимости применять исправления.
|
|
305
321
|
|
|
322
|
+
**Режим делегирования** — если вы хотите, чтобы AI-агент сам выполнял ревью (OCR отвечает только за выбор файлов и разрешение правил, настройка LLM на стороне OCR не требуется):
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
npx skills add alibaba/open-code-review --skill open-code-review-delegate
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
Подробнее см. [skills/open-code-review-delegate/SKILL.md](skills/open-code-review-delegate/SKILL.md).
|
|
329
|
+
|
|
306
330
|
#### Вариант 2: установка как плагин Claude Code
|
|
307
331
|
|
|
308
332
|
Для [Claude Code](https://docs.anthropic.com/en/docs/claude-code) установите плагин с командой, выполнив в Claude Code:
|
|
@@ -312,7 +336,7 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
312
336
|
/plugin install open-code-review@open-code-review
|
|
313
337
|
```
|
|
314
338
|
|
|
315
|
-
Это зарегистрирует slash-команду `/open-code-review:review`, которая запускает OCR и автоматически фильтрует и исправляет найденные проблемы.
|
|
339
|
+
Это зарегистрирует slash-команду `/open-code-review:review`, которая запускает OCR и автоматически фильтрует и исправляет найденные проблемы. Также предоставляется команда `/open-code-review:delegate-review` для режима делегирования (агент выполняет ревью своими силами, OCR отвечает за выбор файлов и разрешение правил).
|
|
316
340
|
|
|
317
341
|
#### Вариант 3: установка как плагин Codex
|
|
318
342
|
|
|
@@ -402,7 +426,21 @@ curl -o ~/.claude/commands/open-code-review.md \
|
|
|
402
426
|
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md
|
|
403
427
|
```
|
|
404
428
|
|
|
405
|
-
|
|
429
|
+
Режим делегирования (настройка LLM на стороне OCR не требуется):
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# Уровень проекта
|
|
433
|
+
mkdir -p .claude/commands
|
|
434
|
+
curl -o .claude/commands/open-code-review-delegate.md \
|
|
435
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
436
|
+
|
|
437
|
+
# Уровень пользователя
|
|
438
|
+
mkdir -p ~/.claude/commands
|
|
439
|
+
curl -o ~/.claude/commands/open-code-review-delegate.md \
|
|
440
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
> **Требования**: Все способы интеграции требуют установки CLI `ocr`. Стандартный режим дополнительно требует настройки LLM — см. [Установка](#установка) и [Настройка LLM](#1-настройка-llm) выше. Режим делегирования **не требует** настройки LLM на стороне OCR.
|
|
406
444
|
|
|
407
445
|
### Интеграция с CI/CD
|
|
408
446
|
|
|
@@ -457,6 +495,8 @@ ocr review \
|
|
|
457
495
|
|---------|-------|----------|
|
|
458
496
|
| `ocr review` | `ocr r` | Запустить код-ревью на основе диффа |
|
|
459
497
|
| `ocr scan` | `ocr s` | Ревью целых файлов (дифф не нужен) |
|
|
498
|
+
| `ocr delegate preview` | `ocr d preview` | Предварительный просмотр файлов для ревью с метаданными режима/ссылок (LLM не требуется) |
|
|
499
|
+
| `ocr delegate rule <path...>` | `ocr d rule` | Вывод правил ревью, сгруппированных по содержимому (LLM не требуется) |
|
|
460
500
|
| `ocr rules check <file>` | — | Показать, какое правило ревью применяется к пути файла |
|
|
461
501
|
| `ocr config provider` | — | Интерактивная настройка провайдера (встроенный, пользовательский или ручной) |
|
|
462
502
|
| `ocr config model` | — | Интерактивный выбор модели для активного провайдера |
|
|
@@ -550,6 +590,31 @@ ocr review --commit abc123 --resume <session-id>
|
|
|
550
590
|
|
|
551
591
|
Перед каждым запуском `ocr scan` выводит приблизительную оценку стоимости в токенах. Используйте `--preview`, чтобы сначала посмотреть список файлов, и `--max-tokens-budget`, чтобы ограничить расход на больших репозиториях.
|
|
552
592
|
|
|
593
|
+
### Флаги `ocr delegate`
|
|
594
|
+
|
|
595
|
+
`ocr delegate` — режим делегирования для AI-агентов. Он обеспечивает детерминированный
|
|
596
|
+
выбор файлов и разрешение правил без вызова LLM — фактическое ревью выполняет
|
|
597
|
+
хост-агент своими силами.
|
|
598
|
+
|
|
599
|
+
| Подкоманда | Описание |
|
|
600
|
+
|------------|----------|
|
|
601
|
+
| `ocr delegate preview` | Вывод списка файлов для ревью с метаданными режима/ссылок |
|
|
602
|
+
| `ocr delegate rule <path...>` | Вывод правил ревью, сгруппированных по содержимому |
|
|
603
|
+
|
|
604
|
+
Обе подкоманды используют общие флаги:
|
|
605
|
+
|
|
606
|
+
| Флаг | Сокращение | По умолчанию | Описание |
|
|
607
|
+
|------|-----------|--------------|----------|
|
|
608
|
+
| `--repo` | — | текущий каталог | Корень Git-репозитория |
|
|
609
|
+
| `--from` | — | — | Исходная ссылка (например, `main`) |
|
|
610
|
+
| `--to` | — | — | Целевая ссылка (например, `feature-branch`) |
|
|
611
|
+
| `--commit` | `-c` | — | Один коммит |
|
|
612
|
+
| `--exclude` | — | — | Паттерны исключения в стиле gitignore через запятую |
|
|
613
|
+
| `--rule` | — | — | Путь к файлу с пользовательскими JSON-правилами |
|
|
614
|
+
| `--background` | `-b` | — | Необязательный контекст требований/бизнеса |
|
|
615
|
+
| `--background-file` | `-B` | — | Бизнес-контекст из Markdown-файла |
|
|
616
|
+
| `--max-git-procs` | — | `16` | Макс. параллельных подпроцессов git |
|
|
617
|
+
|
|
553
618
|
## Примеры
|
|
554
619
|
|
|
555
620
|
```bash
|
|
@@ -615,6 +680,12 @@ ocr scan --repo /path/to/plain/dir --format json
|
|
|
615
680
|
# Самое быстрое сканирование: пропустить планирование, дедупликацию и сводку проекта
|
|
616
681
|
ocr scan --no-plan --no-dedup --no-summary
|
|
617
682
|
|
|
683
|
+
# Режим делегирования — AI-агент выполняет ревью (настройка LLM не требуется)
|
|
684
|
+
ocr delegate preview
|
|
685
|
+
ocr delegate preview --from main --to feature-branch
|
|
686
|
+
ocr delegate preview --commit abc123
|
|
687
|
+
ocr delegate rule internal/handler.go internal/service.go cmd/main.go
|
|
688
|
+
|
|
618
689
|
# Открыть историю сессий ревью в браузере
|
|
619
690
|
ocr viewer
|
|
620
691
|
ocr viewer --addr :3000
|
|
@@ -756,7 +827,7 @@ OCR разрешает правила ревью по цепочке приор
|
|
|
756
827
|
| `provider` | string | `anthropic` \| `openai` \| `dashscope` \| `deepseek` \| `z-ai` |
|
|
757
828
|
| `providers.<name>.api_key` | string | API-ключ провайдера |
|
|
758
829
|
| `providers.<name>.url` | string | Переопределение base URL провайдера |
|
|
759
|
-
| `providers.<name>.protocol` | string | `anthropic` \| `openai` |
|
|
830
|
+
| `providers.<name>.protocol` | string | `anthropic` \| `openai` \| `openai-responses` |
|
|
760
831
|
| `providers.<name>.model` | string | Имя модели провайдера |
|
|
761
832
|
| `providers.<name>.models` | array | Необязательный список моделей для интерактивного выбора |
|
|
762
833
|
| `providers.<name>.auth_header` | string | `x-api-key` \| `authorization` |
|
|
@@ -771,7 +842,8 @@ OCR разрешает правила ревью по цепочке приор
|
|
|
771
842
|
| `llm.timeout_sec` | integer | Таймаут HTTP-запроса в секундах, по умолчанию `300` |
|
|
772
843
|
| `llm.extra_headers` | string | HTTP-заголовки `key=value` через запятую |
|
|
773
844
|
| `llm.model` | string | `claude-opus-4-6` |
|
|
774
|
-
| `llm.
|
|
845
|
+
| `llm.protocol` | string | `anthropic` \| `openai` \| `openai-responses`; имеет приоритет над `llm.use_anthropic` |
|
|
846
|
+
| `llm.use_anthropic` | boolean | `true` \| `false` (устаревшее; предпочтительнее `llm.protocol`) |
|
|
775
847
|
| `mcp_servers.<name>.command` | string | Команда для запуска MCP-сервера |
|
|
776
848
|
| `mcp_servers.<name>.args` | array | Аргументы командной строки для MCP-сервера |
|
|
777
849
|
| `mcp_servers.<name>.env` | array | Переменные окружения в формате `KEY=VALUE` |
|
|
@@ -831,9 +903,9 @@ ocr config set mcp_servers.codegraph.setup 'codegraph init && codegraph index'
|
|
|
831
903
|
| `OCR_LLM_AUTH_HEADER` | Заголовок авторизации Anthropic (`x-api-key` или `authorization`) |
|
|
832
904
|
| `OCR_LLM_EXTRA_HEADERS` | HTTP-заголовки `key=value` через запятую |
|
|
833
905
|
| `OCR_LLM_MODEL` | Имя модели |
|
|
906
|
+
| `OCR_LLM_PROTOCOL` | Протокол: `anthropic` \| `openai` \| `openai-responses`; имеет приоритет над `OCR_USE_ANTHROPIC` |
|
|
834
907
|
| `OCR_LLM_TIMEOUT` | Таймаут HTTP-запроса в секундах (переопределяет `timeout_sec` из файла конфигурации) |
|
|
835
|
-
| `OCR_USE_ANTHROPIC` | `true` = Anthropic, `false` = OpenAI |
|
|
836
|
-
|
|
908
|
+
| `OCR_USE_ANTHROPIC` | `true` = Anthropic, `false` = OpenAI Chat Completions (устаревшее; предпочтительнее `OCR_LLM_PROTOCOL`) |
|
|
837
909
|
|
|
838
910
|
## Телеметрия
|
|
839
911
|
|
package/README.zh-CN.md
CHANGED
|
@@ -219,7 +219,7 @@ ocr config set custom_providers.my-gateway.api_key your-api-key-here
|
|
|
219
219
|
ocr config set custom_providers.my-gateway.model gpt-4o
|
|
220
220
|
```
|
|
221
221
|
|
|
222
|
-
> 自定义供应商的 `url` 和 `protocol` 为必填项。`protocol` 支持 `anthropic
|
|
222
|
+
> 自定义供应商的 `url` 和 `protocol` 为必填项。`protocol` 支持 `anthropic`、`openai`、`openai-responses`。
|
|
223
223
|
|
|
224
224
|
可选配置项:
|
|
225
225
|
|
|
@@ -253,6 +253,17 @@ export OCR_LLM_MODEL=claude-opus-4-6
|
|
|
253
253
|
export OCR_USE_ANTHROPIC=true
|
|
254
254
|
```
|
|
255
255
|
|
|
256
|
+
若要走 OpenAI Responses API(GPT-5.x / o-系列模型),请改用 `OCR_LLM_PROTOCOL`:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
export OCR_LLM_URL=https://api.openai.com/v1
|
|
260
|
+
export OCR_LLM_TOKEN=your-openai-key
|
|
261
|
+
export OCR_LLM_MODEL=gpt-5.4
|
|
262
|
+
export OCR_LLM_PROTOCOL=openai-responses
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
`OCR_LLM_PROTOCOL` 接受 `anthropic`、`openai`、`openai-responses`,与 `OCR_USE_ANTHROPIC` 同时设置时优先使用前者。
|
|
266
|
+
|
|
256
267
|
同时兼容 Claude Code 环境变量(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`),并解析 `~/.zshrc` / `~/.bashrc` 中的相关导出。
|
|
257
268
|
|
|
258
269
|
> **CC-Switch 用户特别提醒**:如果你使用 [CC-Switch](https://github.com/farion1231/cc-switch) 并开启了[路由服务](https://www.ccswitch.io/zh/docs?section=proxy&item=service),可以将供应商的 `url` 配置成 CC-Switch 启动的代理地址,无需额外配置:
|
|
@@ -287,6 +298,11 @@ ocr review --from main --to feature-branch --resume <session-id>
|
|
|
287
298
|
# 全量文件扫描 —— 审查整个文件而非 diff(无需 git 历史)
|
|
288
299
|
ocr scan # 扫描整个仓库
|
|
289
300
|
ocr scan --path internal/agent # 扫描指定目录或文件
|
|
301
|
+
|
|
302
|
+
# 委托模式 — 让你的 AI 编程 agent 自己执行评审
|
|
303
|
+
# OCR 负责文件选择和规则解析;无需配置 LLM
|
|
304
|
+
ocr delegate preview
|
|
305
|
+
ocr delegate rule src/main.go src/handler.go
|
|
290
306
|
```
|
|
291
307
|
|
|
292
308
|
### 集成到编程 Agent
|
|
@@ -303,6 +319,14 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
303
319
|
|
|
304
320
|
此命令从 [skills 注册表](skills/open-code-review/SKILL.md)安装 `open-code-review` skill,教会你的编程 Agent 如何调用 `ocr` 进行代码审查、按优先级分类问题,并可选择性地应用修复。
|
|
305
321
|
|
|
322
|
+
**委托模式** — 如果你希望编程 agent 自身执行评审(OCR 仅负责文件选择和规则解析,OCR 侧无需配置 LLM):
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
npx skills add alibaba/open-code-review --skill open-code-review-delegate
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
详见 [skills/open-code-review-delegate/SKILL.md](skills/open-code-review-delegate/SKILL.md)。
|
|
329
|
+
|
|
306
330
|
#### 方式二:作为 Claude Code Plugin 安装
|
|
307
331
|
|
|
308
332
|
对于 [Claude Code](https://docs.anthropic.com/en/docs/claude-code),在 Claude Code 中通过以下命令安装命令插件:
|
|
@@ -312,7 +336,7 @@ npx skills add alibaba/open-code-review --skill open-code-review
|
|
|
312
336
|
/plugin install open-code-review@open-code-review
|
|
313
337
|
```
|
|
314
338
|
|
|
315
|
-
此命令注册 `/open-code-review:review` 斜杠命令,运行 OCR
|
|
339
|
+
此命令注册 `/open-code-review:review` 斜杠命令,运行 OCR 并自动过滤和修复问题。同时提供 `/open-code-review:delegate-review` 委托模式命令(agent 使用自身能力进行评审,OCR 负责文件选择和规则解析)。
|
|
316
340
|
|
|
317
341
|
#### 方式三:作为 Codex Plugin 安装
|
|
318
342
|
|
|
@@ -402,7 +426,21 @@ curl -o ~/.claude/commands/open-code-review.md \
|
|
|
402
426
|
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/review.md
|
|
403
427
|
```
|
|
404
428
|
|
|
405
|
-
|
|
429
|
+
委托模式(OCR 侧无需配置 LLM):
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
# 项目级
|
|
433
|
+
mkdir -p .claude/commands
|
|
434
|
+
curl -o .claude/commands/open-code-review-delegate.md \
|
|
435
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
436
|
+
|
|
437
|
+
# 用户级
|
|
438
|
+
mkdir -p ~/.claude/commands
|
|
439
|
+
curl -o ~/.claude/commands/open-code-review-delegate.md \
|
|
440
|
+
https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/claude-code/commands/delegate-review.md
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
> **前提条件**:所有集成方式都需要安装 `ocr` CLI。标准模式还需要配置 LLM — 参见上文[安装](#安装)和[配置 LLM](#1-配置-llm)。委托模式 OCR 侧**不需要** LLM 配置。
|
|
406
444
|
|
|
407
445
|
### CI/CD 集成
|
|
408
446
|
|
|
@@ -455,6 +493,8 @@ ocr review \
|
|
|
455
493
|
|------|------|------|
|
|
456
494
|
| `ocr review` | `ocr r` | 开始基于 diff 的代码审查 |
|
|
457
495
|
| `ocr scan` | `ocr s` | 审查整个文件(无需 diff) |
|
|
496
|
+
| `ocr delegate preview` | `ocr d preview` | 预览可评审文件列表及模式/引用元数据(无需 LLM) |
|
|
497
|
+
| `ocr delegate rule <path...>` | `ocr d rule` | 输出按内容分组的评审规则(无需 LLM) |
|
|
458
498
|
| `ocr rules check <file>` | — | 预览某个文件路径生效的审查规则 |
|
|
459
499
|
| `ocr config provider` | — | 交互式供应商设置(内置、自定义或手动) |
|
|
460
500
|
| `ocr config model` | — | 为当前供应商交互式选择模型 |
|
|
@@ -545,6 +585,29 @@ ocr review --commit abc123 --resume <session-id>
|
|
|
545
585
|
|
|
546
586
|
每次运行前,`ocr scan` 会打印粗略的 token 费用估算。使用 `--preview` 先查看文件列表,使用 `--max-tokens-budget` 限制大型仓库的开销。
|
|
547
587
|
|
|
588
|
+
### `ocr delegate` 参数
|
|
589
|
+
|
|
590
|
+
`ocr delegate` 是面向 AI 编程 agent 的委托模式。它提供确定性的文件选择和规则解析,不调用任何 LLM — 由宿主 agent 使用自身能力执行实际评审。
|
|
591
|
+
|
|
592
|
+
| 子命令 | 说明 |
|
|
593
|
+
|--------|------|
|
|
594
|
+
| `ocr delegate preview` | 输出可评审文件列表及模式/引用元数据 |
|
|
595
|
+
| `ocr delegate rule <path...>` | 输出按内容分组的评审规则 |
|
|
596
|
+
|
|
597
|
+
两个子命令共享以下参数:
|
|
598
|
+
|
|
599
|
+
| 参数 | 缩写 | 默认值 | 说明 |
|
|
600
|
+
|------|------|--------|------|
|
|
601
|
+
| `--repo` | — | 当前目录 | Git 仓库根目录 |
|
|
602
|
+
| `--from` | — | — | 源引用(如 `main`) |
|
|
603
|
+
| `--to` | — | — | 目标引用(如 `feature-branch`) |
|
|
604
|
+
| `--commit` | `-c` | — | 单次提交 |
|
|
605
|
+
| `--exclude` | — | — | 逗号分隔的 gitignore 风格排除模式 |
|
|
606
|
+
| `--rule` | — | — | 自定义 JSON 评审规则路径 |
|
|
607
|
+
| `--background` | `-b` | — | 可选的需求/业务上下文 |
|
|
608
|
+
| `--background-file` | `-B` | — | 从 Markdown 文件读取业务上下文 |
|
|
609
|
+
| `--max-git-procs` | — | `16` | 最大并发 git 子进程数 |
|
|
610
|
+
|
|
548
611
|
## 示例
|
|
549
612
|
|
|
550
613
|
```bash
|
|
@@ -610,6 +673,12 @@ ocr scan --repo /path/to/plain/dir --format json
|
|
|
610
673
|
# 最快扫描:跳过规划、去重和项目总结
|
|
611
674
|
ocr scan --no-plan --no-dedup --no-summary
|
|
612
675
|
|
|
676
|
+
# 委托模式 — 让 AI agent 驱动评审(无需 LLM 配置)
|
|
677
|
+
ocr delegate preview
|
|
678
|
+
ocr delegate preview --from main --to feature-branch
|
|
679
|
+
ocr delegate preview --commit abc123
|
|
680
|
+
ocr delegate rule internal/handler.go internal/service.go cmd/main.go
|
|
681
|
+
|
|
613
682
|
# 在浏览器中查看审查会话历史
|
|
614
683
|
ocr viewer
|
|
615
684
|
ocr viewer --addr :3000
|
|
@@ -741,7 +810,7 @@ OCR 通过四层优先级链解析评审规则。每层采用首次匹配原则
|
|
|
741
810
|
| `provider` | string | `anthropic` \| `openai` \| `dashscope` \| `deepseek` \| `z-ai` |
|
|
742
811
|
| `providers.<name>.api_key` | string | 供应商 API 密钥 |
|
|
743
812
|
| `providers.<name>.url` | string | 供应商 Base URL 覆盖 |
|
|
744
|
-
| `providers.<name>.protocol` | string | `anthropic` \| `openai` |
|
|
813
|
+
| `providers.<name>.protocol` | string | `anthropic` \| `openai` \| `openai-responses` |
|
|
745
814
|
| `providers.<name>.model` | string | 供应商模型名称 |
|
|
746
815
|
| `providers.<name>.models` | array | 用于交互式选择的可选供应商模型列表 |
|
|
747
816
|
| `providers.<name>.auth_header` | string | `x-api-key` \| `authorization` |
|
|
@@ -756,7 +825,8 @@ OCR 通过四层优先级链解析评审规则。每层采用首次匹配原则
|
|
|
756
825
|
| `llm.timeout_sec` | integer | 每次请求的 HTTP 超时时间(秒),默认 `300` |
|
|
757
826
|
| `llm.extra_headers` | string | 逗号分隔的 `key=value` HTTP 头 |
|
|
758
827
|
| `llm.model` | string | `claude-opus-4-6` |
|
|
759
|
-
| `llm.
|
|
828
|
+
| `llm.protocol` | string | `anthropic` \| `openai` \| `openai-responses`;优先级高于 `llm.use_anthropic` |
|
|
829
|
+
| `llm.use_anthropic` | boolean | `true` \| `false`(兼容字段,推荐改用 `llm.protocol`) |
|
|
760
830
|
| `mcp_servers.<name>.command` | string | 启动 MCP 服务器的命令 |
|
|
761
831
|
| `mcp_servers.<name>.args` | array | MCP 服务器的命令行参数 |
|
|
762
832
|
| `mcp_servers.<name>.env` | array | 环境变量,`KEY=VALUE` 格式 |
|
|
@@ -816,9 +886,9 @@ ocr config set mcp_servers.codegraph.setup 'codegraph init && codegraph index'
|
|
|
816
886
|
| `OCR_LLM_AUTH_HEADER` | Anthropic 认证头(`x-api-key` 或 `authorization`) |
|
|
817
887
|
| `OCR_LLM_EXTRA_HEADERS` | 逗号分隔的 `key=value` HTTP 头 |
|
|
818
888
|
| `OCR_LLM_MODEL` | 模型名称 |
|
|
889
|
+
| `OCR_LLM_PROTOCOL` | 协议:`anthropic` \| `openai` \| `openai-responses`;优先级高于 `OCR_USE_ANTHROPIC` |
|
|
819
890
|
| `OCR_LLM_TIMEOUT` | 每次请求的 HTTP 超时时间(秒),覆盖配置文件中的 `timeout_sec` |
|
|
820
|
-
| `OCR_USE_ANTHROPIC` | `true` = Anthropic,`false` = OpenAI |
|
|
821
|
-
|
|
891
|
+
| `OCR_USE_ANTHROPIC` | `true` = Anthropic,`false` = OpenAI Chat Completions(兼容字段,推荐改用 `OCR_LLM_PROTOCOL`) |
|
|
822
892
|
|
|
823
893
|
## 遥测
|
|
824
894
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alibaba-group/open-code-review",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.11",
|
|
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.7.
|
|
32
|
-
"@alibaba-group/ocr-darwin-x64": "1.7.
|
|
33
|
-
"@alibaba-group/ocr-linux-arm64": "1.7.
|
|
34
|
-
"@alibaba-group/ocr-linux-x64": "1.7.
|
|
35
|
-
"@alibaba-group/ocr-win32-arm64": "1.7.
|
|
36
|
-
"@alibaba-group/ocr-win32-x64": "1.7.
|
|
31
|
+
"@alibaba-group/ocr-darwin-arm64": "1.7.11",
|
|
32
|
+
"@alibaba-group/ocr-darwin-x64": "1.7.11",
|
|
33
|
+
"@alibaba-group/ocr-linux-arm64": "1.7.11",
|
|
34
|
+
"@alibaba-group/ocr-linux-x64": "1.7.11",
|
|
35
|
+
"@alibaba-group/ocr-win32-arm64": "1.7.11",
|
|
36
|
+
"@alibaba-group/ocr-win32-x64": "1.7.11"
|
|
37
37
|
},
|
|
38
38
|
"engines": {
|
|
39
39
|
"node": ">=14"
|