@alibaba-group/open-code-review 1.2.2 → 1.2.4

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.
@@ -0,0 +1,218 @@
1
+ # OpenCodeReviewへのコントリビューション
2
+
3
+ OpenCodeReviewへのコントリビューションに興味を持っていただきありがとうございます!タイポの修正、バグ報告、新機能の実装など、あらゆる貢献が重要です。
4
+
5
+ [English Version](CONTRIBUTING.md) | [简体中文版](CONTRIBUTING.zh-CN.md)
6
+
7
+ ## 行動規範
8
+
9
+ このプロジェクトに参加することで、敬意と包摂性のある環境を維持することに同意したことになります。すべてのやり取りにおいて、親切かつ建設的であるよう心がけてください。
10
+
11
+ ## コントリビューションの方法
12
+
13
+ コードを書く以外にも、さまざまな貢献の方法があります:
14
+
15
+ - **バグ報告** — 何か壊れているものを見つけましたか?再現手順を添えてissueを開いてください。
16
+ - **機能提案** — 改善のアイデアがありますか?[GitHub Discussions](https://github.com/alibaba/open-code-review/discussions/categories/ideas)で会話を始めるか、[Feature Request](https://github.com/alibaba/open-code-review/issues/new?template=feature_request.yml) issueを開くことができます。
17
+ - **ドキュメントの改善** — タイポの修正、説明の明確化、例の追加など。問題の報告には[Documentation Issue](https://github.com/alibaba/open-code-review/issues/new?template=docs_report.yml)を開くこともできます。
18
+ - **プルリクエストのレビュー** — 他のコントリビューターのコードレビューを手伝ってください。
19
+ - **コードを書く** — バグ修正、機能追加、パフォーマンス改善など。
20
+
21
+ ## はじめに
22
+
23
+ ### 前提条件
24
+
25
+ - [Go 1.25+](https://go.dev/dl/)
26
+ - [Git](https://git-scm.com/)
27
+ - [Make](https://www.gnu.org/software/make/)
28
+
29
+ ### セットアップ
30
+
31
+ ```bash
32
+ # 1. GitHubでリポジトリをフォーク
33
+
34
+ # 2. フォークをクローン
35
+ git clone https://github.com/<your-username>/open-code-review.git
36
+ cd open-code-review
37
+
38
+ # 3. upstreamリモートを追加(メインリポジトリから更新を同期するため)
39
+ git remote add upstream https://github.com/alibaba/open-code-review.git
40
+
41
+ # 4. プロジェクトをビルド
42
+ make build
43
+
44
+ # 5. テストを実行
45
+ make test
46
+ ```
47
+
48
+ すべてパスすれば、コントリビューションの準備完了です。
49
+
50
+ > **注意:** `upstream`リモートはコントリビューターにとって読み取り専用です — メインリポジトリから最新の変更を取得するために使います。upstreamに直接プッシュすることはできません。すべてのコントリビューションは自分のフォーク(`origin`)にプッシュし、Pull Request経由で提出する必要があります。
51
+
52
+ ## 開発ワークフロー
53
+
54
+ ### ブランチ運用
55
+
56
+ `main`からフィーチャーブランチを作成します:
57
+
58
+ ```bash
59
+ git checkout main
60
+ git pull upstream main
61
+ git checkout -b feat/your-feature-name
62
+ ```
63
+
64
+ 変更の種類を示すプレフィックスを使用してください:
65
+
66
+ | プレフィックス | 用途 |
67
+ | ----------- | ------------------------------------- |
68
+ | `feat/` | 新機能 |
69
+ | `fix/` | バグ修正 |
70
+ | `docs/` | ドキュメントのみ |
71
+ | `refactor/` | コードのリファクタリング(動作変更なし) |
72
+ | `test/` | テストの追加・更新 |
73
+ | `chore/` | ビルド、CI、ツーリングの変更 |
74
+
75
+ ### コミットメッセージ
76
+
77
+ [Conventional Commits](https://www.conventionalcommits.org/)形式に従ってください:
78
+
79
+ ```
80
+ <type>(<scope>): <short summary>
81
+
82
+ [optional body]
83
+ ```
84
+
85
+ 例:
86
+
87
+ ```
88
+ feat(agent): add support for custom tool definitions
89
+ fix(llm): handle timeout errors in Anthropic API calls
90
+ docs(README): update configuration examples
91
+ ```
92
+
93
+ ### コード品質
94
+
95
+ 変更を提出する前に、すべてのチェックをパスすることを確認してください:
96
+
97
+ ```bash
98
+ # フォーマットとリント(Go標準ツーリング)
99
+ go fmt ./...
100
+ go vet ./...
101
+
102
+ # レース検出付きでテストを実行
103
+ make test
104
+
105
+ # ビルドが成功すること
106
+ make build
107
+ ```
108
+
109
+ ### プロジェクト構成
110
+
111
+ ```
112
+ ├── cmd/opencodereview/ # CLIエントリーポイント
113
+ ├── internal/
114
+ │ ├── agent/ # レビューエージェントのロジック
115
+ │ ├── config/ # 設定管理
116
+ │ ├── diff/ # Git diffのパース
117
+ │ ├── llm/ # LLM APIクライアント(Anthropic & OpenAI)
118
+ │ ├── model/ # データモデル
119
+ │ ├── session/ # レビューセッション管理
120
+ │ ├── tool/ # 組み込みツール(file_read、code_searchなど)
121
+ │ ├── telemetry/ # OpenTelemetry統合
122
+ │ └── viewer/ # WebUIセッションビューアー
123
+ ├── pages/ # WebUIフロントエンド
124
+ ├── scripts/ # ビルド & インストールスクリプト
125
+ └── bin/ # NPMラッパー
126
+ ```
127
+
128
+ ## ドキュメントへのコントリビューション
129
+
130
+ ドキュメントはOpenCodeReviewの重要な一部です。READMEファイル、インラインコードコメント、設定例、その他ユーザー向けテキストの改善を歓迎します。
131
+
132
+ ### ドキュメントコントリビューションに該当するもの
133
+
134
+ - タイポ、文法エラー、リンク切れの修正
135
+ - 分かりにくい説明の明確化や不足しているコンテキストの追加
136
+ - コマンドや設定オプションの使用例の追加
137
+ - 古くなった内容の更新(機能変更後など)
138
+ - 中国語ドキュメント(`README.zh-CN.md`、`CONTRIBUTING.zh-CN.md`)の翻訳や改善
139
+
140
+ ### ドキュメントのワークフロー
141
+
142
+ 1. 問題を見つけたが自分で修正する予定がない場合は、[Documentation Issue](https://github.com/alibaba/open-code-review/issues/new?template=docs_report.yml)を開いてください。
143
+ 2. 自分で修正したい場合は、リポジトリをフォークし、変更を加え、`docs/`ブランチプレフィックス(例:`docs/fix-config-example`)でPRを提出してください。
144
+ 3. ドキュメントのみのPRにテストの変更は不要ですが、含めるコマンドやコードスニペットが正確であることを確認してください。
145
+
146
+ ### ドキュメントファイル
147
+
148
+ | ファイル | 用途 |
149
+ | ----------------------- | ------------------------------------ |
150
+ | `README.md` | メインのプロジェクトドキュメント(英語) |
151
+ | `README.zh-CN.md` | 中国語訳 |
152
+ | `CONTRIBUTING.md` | コントリビューションガイド(英語) |
153
+ | `CONTRIBUTING.zh-CN.md` | コントリビューションガイド(中国語) |
154
+
155
+ ## 変更の提出
156
+
157
+ ### Issueを開く
158
+
159
+ 大きな変更に取り組む前に、まずissueを開いてアプローチについて議論してください。これにより、作業の重複を防ぎ、コントリビューションがプロジェクトの方向性と一致することを確認できます。
160
+
161
+ バグを報告する際は、以下を含めてください:
162
+
163
+ 1. OpenCodeReviewのバージョン(`ocr version`)
164
+ 2. OSとアーキテクチャ
165
+ 3. 再現手順
166
+ 4. 期待される動作と実際の動作
167
+ 5. 関連するログやエラーメッセージ
168
+
169
+ ### Pull Requestのプロセス
170
+
171
+ 1. **PRはフォーカスを絞る** — 1つのPRには1つの論理的な変更のみ。複数の独立した変更がある場合は、別々のPRとして提出してください。
172
+ 2. **テストを書く** — 動作の変更にはテストを追加・更新してください。
173
+ 3. **ドキュメントを更新する** — 変更がユーザー向けの動作に影響する場合は、関連ドキュメントを更新してください。
174
+ 4. **CLAに署名する** — すべてのコントリビューターは、PRがマージされる前にContributor License Agreementに署名する必要があります(下記参照)。
175
+ 5. **PRテンプレートに記入する** — 変更の内容と理由を記述してください。
176
+
177
+ ### PRタイトルの形式
178
+
179
+ コミットメッセージと同じConventional Commits形式を使用してください:
180
+
181
+ ```
182
+ feat(agent): add support for custom tool definitions
183
+ ```
184
+
185
+ ### レビュープロセス
186
+
187
+ - メンテナーがPRをレビューします。通常は数営業日以内です。
188
+ - 変更をお願いすることがあります — これは通常の協力的なプロセスであり、敵対的なものではありません。
189
+ - 承認されると、メンテナーがPRをマージします。
190
+
191
+ ## Contributor License Agreement(CLA)
192
+
193
+ コントリビューションをマージする前に、すべてのコントリビューターにAlibaba Open Source Contributor License Agreementへの署名をお願いしています。これにより、プロジェクトがライセンス条項の下で配布できることが保証されます。
194
+
195
+ 最初のPRを開くと、CLAボットが手順を記載したコメントを投稿します。リンクをたどって電子署名するだけです — 1分もかかりません。
196
+
197
+ ## 初めてのコントリビューター
198
+
199
+ プロジェクトは初めてですか?以下のラベルが付いたissueを探してみてください:
200
+
201
+ - [`good first issue`](https://github.com/alibaba/open-code-review/labels/good%20first%20issue) — 始めるのに最適な、小さくスコープが明確なタスク。
202
+ - [`help wanted`](https://github.com/alibaba/open-code-review/labels/help%20wanted) — コミュニティの協力を歓迎するissue。
203
+
204
+ 始めるのに適した領域:
205
+
206
+ - エラーメッセージやCLI出力の改善
207
+ - テストされていないコードパスへのテストの作成
208
+ - ドキュメントの改善
209
+
210
+ ## コミュニティ
211
+
212
+ - **バグ報告** — [GitHub Issues](https://github.com/alibaba/open-code-review/issues)
213
+ - **機能提案** — [GitHub Discussions (Ideas)](https://github.com/alibaba/open-code-review/discussions/categories/ideas)または[Feature Request Issue](https://github.com/alibaba/open-code-review/issues/new?template=feature_request.yml)
214
+ - **質問 & ヘルプ** — OpenCodeReviewの使い方について質問があれば、お気軽に[GitHub Discussions](https://github.com/alibaba/open-code-review/discussions)で質問してください
215
+
216
+ ## ライセンス
217
+
218
+ OpenCodeReviewにコントリビューションすることで、あなたのコントリビューションが[Apache License 2.0](LICENSE)の下でライセンスされることに同意したことになります。
package/CONTRIBUTING.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Thank you for your interest in contributing to OpenCodeReview! Every contribution matters — whether it's fixing a typo, reporting a bug, or implementing a new feature.
4
4
 
5
- [简体中文版](CONTRIBUTING.zh-CN.md)
5
+ [简体中文版](CONTRIBUTING.zh-CN.md) | [日本語版](CONTRIBUTING.ja-JP.md)
6
6
 
7
7
  ## Code of Conduct
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  感谢你对 OpenCodeReview 的关注!无论是修复拼写错误、报告 Bug,还是实现新功能,每一份贡献都很有价值。
4
4
 
5
- [English version](CONTRIBUTING.md)
5
+ [English version](CONTRIBUTING.md) | [日本語版](CONTRIBUTING.ja-JP.md)
6
6
 
7
7
  ## 行为准则
8
8
 
@@ -0,0 +1,379 @@
1
+ <p align="center">
2
+ <a href="https://alibaba.github.io/open-code-review/">
3
+ <img src="imgs/logo.svg" alt="OpenCodeReview logo" width="240" height="240">
4
+ </a>
5
+ </p>
6
+ <p align="center">オープンソースのAIコードレビューエージェント。</p>
7
+ <p align="center">
8
+ <a href="https://www.npmjs.com/package/@alibaba-group/open-code-review"><img alt="npm" src="https://img.shields.io/npm/v/@alibaba-group/open-code-review?style=flat-square" /></a>
9
+ <a href="https://github.com/alibaba/open-code-review/actions/workflows/release.yml"><img alt="Build status" src="https://img.shields.io/github/actions/workflow/status/alibaba/open-code-review/release.yml?style=flat-square" /></a>
10
+ <a href="https://github.com/alibaba/open-code-review/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/alibaba/open-code-review?style=flat-square" /></a>
11
+ </p>
12
+ <p align="center">
13
+ <a href="README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | 日本語
14
+ </p>
15
+
16
+ ---
17
+
18
+ ## Open Code Reviewとは?
19
+
20
+ Open Code ReviewはAIを活用したコードレビューCLIツールです。もともとはAlibaba Group社内の公式AIコードレビューアシスタントとして誕生し、過去2年間で数万人の開発者にサービスを提供し、数百万件のコード欠陥を発見してきました。大規模な環境で徹底的に検証された後、コミュニティ向けのオープンソースプロジェクトとして公開されました。モデルのエンドポイントを設定するだけで使い始められます。
21
+
22
+ Gitのdiffを読み取り、変更されたファイルをツール利用機能を持つエージェント経由で設定可能なLLMに送信し、行レベルの精度で構造化されたレビューコメントを生成します。エージェントはファイル全体の内容を読み取り、コードベースを検索し、コンテキストのために他の変更ファイルを参照し、深いレビューを生成できます — 単なる表面的なdiffへのフィードバックではありません。
23
+
24
+ ![Highlights](imgs/highlights-en.png)
25
+
26
+ ## なぜOpen Code Reviewなのか?
27
+
28
+ ### 汎用エージェントの問題点
29
+
30
+ Claude CodeのSkillsのような汎用エージェントをコードレビューに使ったことがあれば、次のような課題に直面したことがあるはずです:
31
+
32
+ - **不完全なカバレッジ** — 大きな変更セットでは、エージェントが「手を抜き」、一部のファイルだけを選択的にレビューして他を見落としがちです。
33
+ - **位置のずれ** — 報告された問題が実際のコード位置と一致せず、行番号やファイル参照がターゲットからずれることが頻繁にあります。
34
+ - **不安定な品質** — 自然言語駆動のSkillsはデバッグが難しく、わずかなプロンプトの違いでレビュー品質が大きく変動します。
35
+
36
+ 根本原因は、純粋に言語駆動のアーキテクチャにはレビュープロセスに対するハードな制約が欠けていることです。
37
+
38
+ ### コア設計: 決定論的エンジニアリング × エージェントのハイブリッド
39
+
40
+ Open Code Reviewのコア哲学は、決定論的エンジニアリングとエージェントを組み合わせ、それぞれが得意とする領域を担当させることです。
41
+
42
+ **決定論的エンジニアリング — ハードな制約**
43
+
44
+ *絶対に間違えてはならない*レビューステップについては、言語モデルではなくエンジニアリングロジックが正しさを保証します:
45
+
46
+ - **正確なファイル選択** — どのファイルをレビューし、どのファイルをフィルタリングすべきかを正確に決定し、重要な変更が見落とされないようにします。
47
+ - **スマートなファイルバンドル** — 関連するファイルを単一のレビューユニットにグループ化します(例:`message_en.properties`と`message_zh.properties`はまとめてバンドルされます)。各バンドルは分離されたコンテキストを持つサブエージェントとして実行されます — 非常に大きな変更セットでも安定する分割統治戦略で、自然に並行レビューもサポートします。
48
+ - **きめ細かなルールマッチング** — 各ファイルの特性に応じてレビュールールをマッチングし、モデルの注意を鋭く集中させ、情報ノイズを発生源から排除します。純粋に言語駆動のルール誘導と比べて、テンプレートエンジンベースのルールマッチングはより安定的で予測可能です。
49
+ - **外部の位置特定・リフレクションモジュール** — 独立したコメント位置特定モジュールとコメントリフレクションモジュールにより、AIフィードバックの位置精度と内容精度の両方を体系的に向上させます。
50
+
51
+ **エージェント — 動的な意思決定**
52
+
53
+ エージェントの強みは、最も重要な領域 — 動的な意思決定と動的なコンテキスト取得 — に集中させています:
54
+
55
+ - **シナリオに最適化されたプロンプト** — コードレビュー向けに深く最適化されたプロンプトテンプレートにより、効果を高めつつトークン消費を削減します。
56
+ - **シナリオに最適化されたツールセット** — 大規模な本番データにおけるツール呼び出しトレースの詳細な分析 — 呼び出し頻度の分布、ツールごとの繰り返し率、新しいツールが呼び出しチェーン全体に与える影響など — から抽出された、汎用エージェントツールキットよりもコードレビューにおいて安定的で予測可能な専用ツールセットです。
57
+
58
+ ## 使い方
59
+
60
+ ### CLI
61
+
62
+ #### インストール
63
+
64
+ **NPM経由(推奨)**
65
+
66
+ ```bash
67
+ npm install -g @alibaba-group/open-code-review
68
+ ```
69
+
70
+ インストール後、`ocr`コマンドがグローバルに利用可能になります。
71
+
72
+ **GitHub Releaseから**
73
+
74
+ [GitHub Releases](https://github.com/alibaba/open-code-review/releases)から最新のバイナリをダウンロードします:
75
+
76
+ ```bash
77
+ # macOS (Apple Silicon)
78
+ curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-arm64
79
+ chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
80
+
81
+ # macOS (Intel)
82
+ curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-darwin-amd64
83
+ chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
84
+
85
+ # Linux (x86_64)
86
+ curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-amd64
87
+ chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
88
+
89
+ # Linux (ARM64)
90
+ curl -Lo ocr https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-linux-arm64
91
+ chmod +x ocr && sudo mv ocr /usr/local/bin/ocr
92
+
93
+ # Windows (x86_64) — ocr.exe を PATH の通ったディレクトリに移動してください
94
+ curl -Lo ocr.exe https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-windows-amd64.exe
95
+
96
+ # Windows (ARM64) — ocr.exe を PATH の通ったディレクトリに移動してください
97
+ curl -Lo ocr.exe https://github.com/alibaba/open-code-review/releases/latest/download/opencodereview-windows-arm64.exe
98
+ ```
99
+
100
+ **ソースから**
101
+
102
+ ```bash
103
+ git clone https://github.com/alibaba/open-code-review.git
104
+ cd open-code-review
105
+ make build
106
+ sudo cp dist/opencodereview /usr/local/bin/ocr
107
+ ```
108
+
109
+ #### クイックスタート
110
+
111
+ **1. LLMの設定**
112
+
113
+ **コードレビューの前に必ずLLMを設定する必要があります。**
114
+
115
+ ```bash
116
+ # オプションA: 対話的な設定
117
+ ocr config set llm.url https://api.anthropic.com/v1/messages
118
+ ocr config set llm.auth_token your-api-key-here
119
+ ocr config set llm.model claude-opus-4-6
120
+ ocr config set llm.use_anthropic true
121
+
122
+ # オプションB: 環境変数(最優先)
123
+ export OCR_LLM_URL=https://api.anthropic.com/v1/messages
124
+ export OCR_LLM_TOKEN=your-api-key-here
125
+ export OCR_LLM_MODEL=claude-opus-4-6
126
+ export OCR_USE_ANTHROPIC=true
127
+ ```
128
+
129
+ 設定は`~/.opencodereview/config.json`に保存されます。
130
+
131
+ また、Claude Codeの環境変数(`ANTHROPIC_BASE_URL`、`ANTHROPIC_AUTH_TOKEN`、`ANTHROPIC_MODEL`)とも互換性があり、`~/.zshrc` / `~/.bashrc`からこれらのexportをパースします。
132
+
133
+ > **CC-Switchユーザー向けの注意**: [CC-Switch](https://github.com/farion1231/cc-switch)を[ルーティングサービス](https://www.ccswitch.io/en/docs?section=proxy&item=service)有効で使用している場合、追加設定なしで`llm.url`をCC-Switchのプロキシアドレスに向けることができます:
134
+ > - **Claude**プロバイダーの場合: `llm.url`を`http://127.0.0.1:15721`に設定
135
+ > - **CodeX**プロバイダーの場合: `llm.url`を`http://127.0.0.1:15721/v1`に設定
136
+ > - `llm.model`はプロバイダー設定に応じて設定
137
+ > - `llm.auth_token`は任意の値で構いません
138
+ > - `extra_body`設定は引き続き有効です
139
+
140
+ **2. 疎通テスト**
141
+
142
+ ```bash
143
+ ocr llm test
144
+ ```
145
+
146
+ **3. レビュー**
147
+
148
+ ```bash
149
+ cd your-project
150
+
151
+ # ワークスペースモード — ステージ済み・未ステージ・未追跡のすべての変更をレビュー
152
+ ocr review
153
+
154
+ # ブランチ範囲 — 2つのrefを比較
155
+ ocr review --from main --to feature-branch
156
+
157
+ # 単一コミット
158
+ ocr review --commit abc123
159
+ ```
160
+
161
+ ### コーディングエージェントとの統合
162
+
163
+ OCRはスラッシュコマンドとしてAIコーディングエージェントにシームレスに統合でき、エージェントのワークフロー内で直接コードレビューが可能になります。
164
+
165
+ #### オプション1: Skillとしてインストール
166
+
167
+ `npx`を使ってOCRスキルをプロジェクトにインストールします:
168
+
169
+ ```bash
170
+ npx skills add alibaba/open-code-review --skill open-code-review
171
+ ```
172
+
173
+ これにより、[skillsレジストリ](skills/open-code-review/SKILL.md)から`open-code-review`スキルがインストールされ、コーディングエージェントにコードレビューのための`ocr`の呼び出し方、優先度による問題の分類、必要に応じた修正の適用を教えます。
174
+
175
+ #### オプション2: Claude Codeプラグインとしてインストール
176
+
177
+ [Claude Code](https://docs.anthropic.com/en/docs/claude-code)の場合、Claude Code内で以下のコマンドを実行してコマンドプラグインをインストールします:
178
+
179
+ ```bash
180
+ /plugin marketplace add alibaba/open-code-review
181
+ /plugin install open-code-review@open-code-review
182
+ ```
183
+
184
+ これにより`/open-code-review:review`スラッシュコマンドが登録され、OCRを実行して問題を自動的にフィルタリング・修正します。
185
+
186
+ #### オプション3: コマンドファイルを直接コピー
187
+
188
+ パッケージマネージャーを使わずに素早くセットアップしたい場合は、コマンドファイルをコピーするだけでClaude Codeで`/open-code-review`スラッシュコマンドを使えるようになります。
189
+
190
+ **プロジェクトレベル**(gitでチームと共有):
191
+
192
+ ```bash
193
+ mkdir -p .claude/commands
194
+ curl -o .claude/commands/open-code-review.md \
195
+ https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/commands/review.md
196
+ ```
197
+
198
+ **ユーザーレベル**(全プロジェクトで個人用にグローバル利用):
199
+
200
+ ```bash
201
+ mkdir -p ~/.claude/commands
202
+ curl -o ~/.claude/commands/open-code-review.md \
203
+ https://raw.githubusercontent.com/alibaba/open-code-review/main/plugins/open-code-review/commands/review.md
204
+ ```
205
+
206
+ > **前提条件**: すべての統合方法において、`ocr` CLIのインストールとLLMの設定が必要です。上記の[インストール](#インストール)と[LLMの設定](#1-llmの設定)を参照してください。
207
+
208
+ ### CI/CD統合
209
+
210
+ OCRをCI/CDパイプラインに統合して、Merge Request / Pull Requestのコードレビューを自動化できます。
211
+
212
+ CI統合のコアコマンド:
213
+
214
+ ```bash
215
+ ocr review \
216
+ --from "origin/main" \
217
+ --to "origin/feature-branch" \
218
+ --format json
219
+ ```
220
+
221
+ `--format json`フラグは、CIスクリプトでのパースに適した機械可読な結果を出力します。
222
+
223
+ 統合例は[`examples/`](./examples/)ディレクトリを参照してください:
224
+
225
+ - [`github_actions/`](./examples/github_actions/) — GitHub Actions統合の例
226
+ - [`gitlab_ci/`](./examples/gitlab_ci/) — GitLab CI統合の例
227
+
228
+ ## コマンド
229
+
230
+ | コマンド | エイリアス | 説明 |
231
+ |---------|-------|-------------|
232
+ | `ocr review` | `ocr r` | コードレビューを開始 |
233
+ | `ocr rules check <file>` | — | ファイルパスに適用されるレビュールールをプレビュー |
234
+ | `ocr config set <key> <value>` | — | 設定値をセット |
235
+ | `ocr llm test` | — | LLMの疎通テスト |
236
+ | `ocr viewer` | `ocr v` | `localhost:5483`でWebUIセッションビューアーを起動 |
237
+ | `ocr version` | — | バージョン情報を表示 |
238
+
239
+ ### `ocr review`のフラグ
240
+
241
+ | フラグ | 短縮形 | デフォルト | 説明 |
242
+ |------|-----------|---------|-------------|
243
+ | `--repo` | — | カレントディレクトリ | Gitリポジトリのルート |
244
+ | `--from` | — | — | ソースref(例:`main`) |
245
+ | `--to` | — | — | ターゲットref(例:`feature-branch`) |
246
+ | `--commit` | `-c` | — | レビュー対象の単一コミット |
247
+ | `--preview` | `-p` | `false` | LLMを実行せずにレビュー対象ファイルをプレビュー |
248
+ | `--format` | `-f` | `text` | 出力形式:`text`または`json` |
249
+ | `--concurrency` | — | `8` | ファイルレビューの最大同時実行数 |
250
+ | `--timeout` | — | `10` | 同時実行タスクのタイムアウト(分) |
251
+ | `--audience` | — | `human` | `human`(進捗を表示)または`agent`(サマリーのみ) |
252
+ | `--rule` | — | — | カスタムJSONレビュールールへのパス |
253
+ | `--max-tools` | — | 組み込み値 | ファイルごとのツール呼び出しラウンドの上限。テンプレートのデフォルトより大きい場合のみ有効 |
254
+ | `--max-git-procs` | — | 組み込み値 | gitサブプロセスの最大同時実行数 |
255
+ | `--tools` | — | — | カスタムJSONツール設定へのパス |
256
+
257
+ ## 例
258
+
259
+ ```bash
260
+ # レビュー対象ファイルをプレビュー(LLM呼び出しなし)
261
+ ocr review --preview
262
+ ocr review -c abc123 -p
263
+
264
+ # デフォルト設定でワークスペースの変更をレビュー
265
+ ocr review
266
+
267
+ # 高めの同時実行数でブランチのdiffをレビュー
268
+ ocr review --from main --to my-feature --concurrency 4
269
+
270
+ # 特定のコミットを詳細なJSON出力でレビュー
271
+ ocr review --commit abc123 --format json --audience agent
272
+
273
+ # カスタムレビュールールを使用
274
+ ocr review --rule /path/to/my-rules.json
275
+
276
+ # ファイルに適用されるルールをプレビュー
277
+ ocr rules check src/main/java/com/example/Foo.java
278
+ ocr rules check --rule custom.json src/main/resources/mapper/UserMapper.xml
279
+
280
+ # ブラウザでレビューセッション履歴を表示
281
+ ocr viewer
282
+ ocr viewer --addr :3000
283
+ ```
284
+
285
+ ### ビューアーのセキュリティ
286
+
287
+ ビューアーはセッションのJSONLコンテンツ(LLMリクエストメッセージとレスポンス)をHTTPで配信します。すべてのリクエストに対してHostヘッダーの許可リストを強制します:ループバック名(`localhost`、`127.0.0.0/8`、`::1`)と実際のバインドホストは常に許可されます。ワイルドカードバインド(`--addr :3000`、`--addr 0.0.0.0:3000`)やその他の非ループバックのホスト名は、環境変数`OCR_VIEWER_ALLOWED_HOSTS`(カンマ区切り)で追加する必要があります:
288
+
289
+ ```bash
290
+ OCR_VIEWER_ALLOWED_HOSTS=review.internal,ocr.lan ocr viewer --addr :3000
291
+ ```
292
+
293
+ これにより、ローカルビューアーに対するDNSリバインディング攻撃をブロックします。
294
+
295
+ ## レビュールール
296
+
297
+ OCRは4層の優先度チェーンを使ってレビュールールを解決します。各層はファーストマッチ優先です:ファイルパスがパターンにマッチすればそのルールが使われ、マッチしなければ次の層にフォールスルーします。
298
+
299
+ | 優先度 | ソース | パス | 説明 |
300
+ |----------|--------|------|-------------|
301
+ | 1(最高) | `--rule`フラグ | ユーザー指定パス | CLIによる明示的なオーバーライド |
302
+ | 2 | プロジェクト設定 | `<repoDir>/.opencodereview/rule.json` | プロジェクトごとのルール。gitにコミット可能 |
303
+ | 3 | グローバル設定 | `~/.opencodereview/rule.json` | ユーザー全体の個人設定 |
304
+ | 4(最低) | システムデフォルト | 組み込みの`system_rules.json` | 一般的な言語とファイルタイプをカバーする組み込みルール |
305
+
306
+ ### ルールファイルの形式
307
+
308
+ 第1〜3層は同じJSON形式を共有します:
309
+
310
+ ```json
311
+ {
312
+ "rules": [
313
+ {
314
+ "path": "force-api/**/*.java",
315
+ "rule": "All new methods must validate required parameters for null values"
316
+ },
317
+ {
318
+ "path": "**/*mapper*.xml",
319
+ "rule": "Check SQL for injection risks, parameter errors, and missing closing tags"
320
+ }
321
+ ]
322
+ }
323
+ ```
324
+
325
+ - `path`は`**`による再帰マッチと`{java,kt}`のブレース展開をサポートします。
326
+ - 各層の中では、ルールは宣言順に評価されます — 最初にマッチしたものが採用されます。
327
+ - ルールファイルが存在しない場合は、何も出力せずスキップされます。
328
+
329
+ ## 設定リファレンス
330
+
331
+ 設定ファイル:`~/.opencodereview/config.json`
332
+
333
+ | キー | 型 | 例 |
334
+ |-----|------|---------|
335
+ | `llm.url` | string | `https://api.openai.com/v1/chat/completions` |
336
+ | `llm.auth_token` | string | `sk-xxxxxxx` |
337
+ | `llm.model` | string | `claude-opus-4-6` |
338
+ | `llm.use_anthropic` | boolean | `true` \| `false` |
339
+ | `language` | string | `English` \| `Chinese`(デフォルト:Chinese) |
340
+ | `telemetry.enabled` | boolean | `true` \| `false` |
341
+ | `telemetry.exporter` | string | `console` \| `otlp` |
342
+ | `telemetry.otlp_endpoint` | string | OTLPコレクターのアドレス |
343
+ | `telemetry.content_logging` | boolean | テレメトリーにプロンプトを含める |
344
+
345
+ 環境変数は設定ファイルより優先されます。
346
+
347
+ ### 環境変数
348
+
349
+ | 変数 | 用途 |
350
+ |----------|---------|
351
+ | `OCR_LLM_URL` | LLM APIエンドポイントURL |
352
+ | `OCR_LLM_TOKEN` | APIキー / 認証トークン |
353
+ | `OCR_LLM_MODEL` | モデル名 |
354
+ | `OCR_USE_ANTHROPIC` | `true` = Anthropic、`false` = OpenAI |
355
+
356
+
357
+ ## テレメトリー
358
+
359
+ 可観測性(スパン、メトリクス)のためのOpenTelemetry統合。デフォルトでは無効です。
360
+
361
+ ```bash
362
+ ocr config set telemetry.enabled true
363
+ ocr config set telemetry.exporter otlp
364
+ ocr config set telemetry.otlp_endpoint localhost:4317
365
+ ```
366
+
367
+ エクスポートデータにLLMのプロンプトとレスポンスを含めるには、`telemetry.content_logging`を設定してください。
368
+
369
+ ## コントリビューション
370
+
371
+ 開発環境のセットアップ、コーディングガイドライン、プルリクエストの提出方法については[CONTRIBUTING.md](CONTRIBUTING.md)を参照してください。
372
+
373
+ ## Star History
374
+
375
+ [![Star History Chart](https://api.star-history.com/svg?repos=alibaba/open-code-review&type=Date)](https://star-history.com/#alibaba/open-code-review&Date)
376
+
377
+ ## ライセンス
378
+
379
+ [Apache-2.0](LICENSE) — Copyright 2026 Alibaba
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  <a href="https://github.com/alibaba/open-code-review/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/alibaba/open-code-review?style=flat-square" /></a>
11
11
  </p>
12
12
  <p align="center">
13
- English | <a href="README.zh-CN.md">简体中文</a>
13
+ English | <a href="README.zh-CN.md">简体中文</a> | <a href="README.ja-JP.md">日本語</a>
14
14
  </p>
15
15
 
16
16
  ---
package/README.zh-CN.md CHANGED
@@ -10,7 +10,7 @@
10
10
  <a href="https://github.com/alibaba/open-code-review/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/github/license/alibaba/open-code-review?style=flat-square" /></a>
11
11
  </p>
12
12
  <p align="center">
13
- <a href="README.md">English</a> | 简体中文
13
+ <a href="README.md">English</a> | 简体中文 | <a href="README.ja-JP.md">日本語</a>
14
14
  </p>
15
15
 
16
16
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alibaba-group/open-code-review",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "OpenCodeReview CLI — AI-powered code review tool",
5
5
  "bin": {
6
6
  "ocr": "bin/ocr.js"