@smallfishworld/open-code-review-svn 1.11.2-svn.1
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/LICENSE +201 -0
- package/README.ja-JP.md +231 -0
- package/README.ko-KR.md +231 -0
- package/README.md +231 -0
- package/README.ru-RU.md +231 -0
- package/README.zh-CN.md +231 -0
- package/bin/ocr.js +85 -0
- package/imgs/benchmark-en.png +0 -0
- package/imgs/benchmark-ja.png +0 -0
- package/imgs/benchmark-ru.png +0 -0
- package/imgs/benchmark-zh.png +0 -0
- package/imgs/highlights-en.png +0 -0
- package/imgs/highlights-ja.png +0 -0
- package/imgs/highlights-ru.png +0 -0
- package/imgs/highlights-zh.png +0 -0
- package/imgs/logo-core.svg +1 -0
- package/imgs/logo.svg +1 -0
- package/imgs/providers.jpg +0 -0
- package/package.json +45 -0
- package/scripts/install.js +272 -0
- package/scripts/platform.js +69 -0
- package/scripts/update.js +170 -0
- package/scripts/version.js +45 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this definition, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to the Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a complaint) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that you distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act on
|
|
170
|
+
Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "{}"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the same
|
|
186
|
+
"printed page" as the copyright notice for easier identification within
|
|
187
|
+
third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright 2026 alibaba/open-code-review Contributors
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
package/README.ja-JP.md
ADDED
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<a href="https://open-codereview.ai">
|
|
3
|
+
<img src="imgs/logo-core.svg" alt="OpenCodeReview logo" width="180" />
|
|
4
|
+
</a>
|
|
5
|
+
<h1>OpenCodeReview</h1>
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://trendshift.io/repositories/41087?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-41087" target="_blank" rel="noopener noreferrer">
|
|
10
|
+
<img src="https://trendshift.io/api/badge/repositories/41087" alt="alibaba%2Fopen-code-review | Trendshift" style="width: 280px; height: 60px;" width="280" height="60" />
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://trendshift.io/repositories/41087" target="_blank">
|
|
13
|
+
<img src="https://trendshift.io/api/badge/trendshift/repositories/41087/weekly?language=Go" alt="alibaba%2Fopen-code-review | Trendshift" style="width: 280px; height: 60px;" width="280" height="60" />
|
|
14
|
+
</a>
|
|
15
|
+
</p>
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="https://www.npmjs.com/package/@smallfishworld/open-code-review-svn"><img alt="npm" src="https://img.shields.io/npm/v/@smallfishworld/open-code-review-svn?style=flat-square" /></a>
|
|
18
|
+
<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>
|
|
19
|
+
<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>
|
|
20
|
+
<a href="https://deepwiki.com/alibaba/open-code-review"><img alt="Ask DeepWiki" src="https://deepwiki.com/badge.svg" /></a>
|
|
21
|
+
<a href="https://www.bestpractices.dev/projects/13328"><img alt="OpenSSF Best Practices" src="https://img.shields.io/badge/OpenSSF-Gold-D4AF37?style=flat-square" /></a>
|
|
22
|
+
</p>
|
|
23
|
+
<p align="center">
|
|
24
|
+
<a href="#supported-platforms"><img alt="Windows" src="https://img.shields.io/badge/Windows-supported-blue.svg" /></a>
|
|
25
|
+
<a href="#supported-platforms"><img alt="macOS" src="https://img.shields.io/badge/macOS-supported-blue.svg" /></a>
|
|
26
|
+
<a href="#supported-platforms"><img alt="Linux" src="https://img.shields.io/badge/Linux-supported-blue.svg" /></a>
|
|
27
|
+
<a href="#supported-agents"><img alt="Claude Code" src="https://img.shields.io/badge/Claude_Code-supported-blueviolet.svg" /></a>
|
|
28
|
+
<a href="#supported-agents"><img alt="Codex" src="https://img.shields.io/badge/Codex-supported-blueviolet.svg" /></a>
|
|
29
|
+
<a href="#supported-agents"><img alt="Cursor" src="https://img.shields.io/badge/Cursor-supported-blueviolet.svg" /></a>
|
|
30
|
+
</p>
|
|
31
|
+
<p align="center">
|
|
32
|
+
<a href="README.md">English</a> | <a href="README.zh-CN.md">简体中文</a> | 日本語 | <a href="README.ko-KR.md">한국어</a> | <a href="README.ru-RU.md">Русский</a>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Open Code Reviewとは?
|
|
38
|
+
|
|
39
|
+
Open Code ReviewはAIを活用したコードレビューCLIツールです。もともとはAlibaba Group社内の公式AIコードレビューアシスタントとして誕生し、過去2年間で数万人の開発者にサービスを提供し、数百万件のコード欠陥を発見してきました。大規模な環境で徹底的に検証された後、コミュニティ向けのオープンソースプロジェクトとして公開されました。モデルのエンドポイントを設定するだけで使い始められます。
|
|
40
|
+
|
|
41
|
+
Gitのdiffを読み取り、変更されたファイルをツール利用機能を持つエージェント経由で設定可能なLLMに送信し、行レベルの精度で構造化されたレビューコメントを生成します。エージェントはファイル全体の内容を読み取り、コードベースを検索し、コンテキストのために他の変更ファイルを参照し、深いレビューを生成できます — 単なる表面的なdiffへのフィードバックではありません。diffレビュー以外にも、`ocr scan` はファイル全体をレビューできます。不慣れなコードベースの監査や、意味のあるdiffがないディレクトリの検査に便利です。
|
|
42
|
+
|
|
43
|
+
詳細は[公式サイト](https://open-codereview.ai)をご覧ください。
|
|
44
|
+
|
|
45
|
+

|
|
46
|
+
|
|
47
|
+
## ベンチマーク
|
|
48
|
+
|
|
49
|
+
> 汎用エージェント(Claude Code)と比較して、Open Code Reviewは同じ基盤モデルで有意に高い**精度(Precision)**と**F1スコア**を達成し、トークン消費量は**約1/9**にとどまり、レビューもより高速です。ただし、リコール(Recall)は汎用エージェントより低くなります——これはノイズを抑え精度を優先する設計上のトレードオフです。
|
|
50
|
+
|
|
51
|
+
実際のコードレビューに基づくベンチマーク。**50**の人気オープンソースリポジトリから**200**の実際のPull Requestを厳選し、**10**のプログラミング言語をカバー——80人以上のシニアエンジニアによるクロスバリデーション(**1,505**件のアノテーション済み欠陥)。
|
|
52
|
+
|
|
53
|
+
<a href="https://huggingface.co/datasets/Alibaba-Aone/aacr-bench"><img src="https://huggingface.co/favicon.ico" alt="Hugging Face" width="20" height="20" /> Hugging FaceでAACR-Benchデータセットを見る</a>。
|
|
54
|
+
|
|
55
|
+
| 指標 | 測定内容 | 重要性 |
|
|
56
|
+
|------|----------|--------|
|
|
57
|
+
| **F1** | 精度とリコールの調和平均 | レビュー品質を示す最良の単一指標 |
|
|
58
|
+
| **精度 (Precision)** | 報告された問題のうち実際の欠陥の割合 | 高い = 確認すべき偽陽性が少ない |
|
|
59
|
+
| **リコール (Recall)** | 実際の欠陥のうち発見された割合 | 高い = 見逃しが少ない |
|
|
60
|
+
| **平均時間 (Avg Time)** | レビューあたりの実時間 | CIパイプラインの待機時間に影響 |
|
|
61
|
+
| **平均トークン (Avg Token)** | レビューあたりの総トークン消費量 | APIコストに直接影響 |
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
## なぜOpen Code Reviewなのか?
|
|
66
|
+
|
|
67
|
+
### 汎用エージェントの問題点
|
|
68
|
+
|
|
69
|
+
Claude CodeのSkillsのような汎用エージェントをコードレビューに使ったことがあれば、次のような課題に直面したことがあるはずです:
|
|
70
|
+
|
|
71
|
+
- **不完全なカバレッジ** — 大きな変更セットでは、エージェントが「手を抜き」、一部のファイルだけを選択的にレビューして他を見落としがちです。
|
|
72
|
+
- **位置のずれ** — 報告された問題が実際のコード位置と一致せず、行番号やファイル参照がターゲットからずれることが頻繁にあります。
|
|
73
|
+
- **不安定な品質** — 自然言語駆動のSkillsはデバッグが難しく、わずかなプロンプトの違いでレビュー品質が大きく変動します。
|
|
74
|
+
|
|
75
|
+
根本原因は、純粋に言語駆動のアーキテクチャにはレビュープロセスに対するハードな制約が欠けていることです。
|
|
76
|
+
|
|
77
|
+
### コア設計: 決定論的エンジニアリング × エージェントのハイブリッド
|
|
78
|
+
|
|
79
|
+
Open Code Reviewのコア哲学は、決定論的エンジニアリングとエージェントを組み合わせ、それぞれが得意とする領域を担当させることです。
|
|
80
|
+
|
|
81
|
+
**決定論的エンジニアリング — ハードな制約**
|
|
82
|
+
|
|
83
|
+
*絶対に間違えてはならない*レビューステップについては、言語モデルではなくエンジニアリングロジックが正しさを保証します:
|
|
84
|
+
|
|
85
|
+
- **正確なファイル選択** — どのファイルをレビューし、どのファイルをフィルタリングすべきかを正確に決定し、重要な変更が見落とされないようにします。
|
|
86
|
+
- **スマートなファイルバンドル** — 関連するファイルを単一のレビューユニットにグループ化します(例:`message_en.properties`と`message_zh.properties`はまとめてバンドルされます)。各バンドルは分離されたコンテキストを持つサブエージェントとして実行されます — 非常に大きな変更セットでも安定する分割統治戦略で、自然に並行レビューもサポートします。
|
|
87
|
+
- **きめ細かなルールマッチング** — 各ファイルの特性に応じてレビュールールをマッチングし、モデルの注意を鋭く集中させ、情報ノイズを発生源から排除します。純粋に言語駆動のルール誘導と比べて、テンプレートエンジンベースのルールマッチングはより安定的で予測可能です。
|
|
88
|
+
- **外部の位置特定・リフレクションモジュール** — 独立したコメント位置特定モジュールとコメントリフレクションモジュールにより、AIフィードバックの位置精度と内容精度の両方を体系的に向上させます。
|
|
89
|
+
|
|
90
|
+
**エージェント — 動的な意思決定**
|
|
91
|
+
|
|
92
|
+
エージェントの強みは、最も重要な領域 — 動的な意思決定と動的なコンテキスト取得 — に集中させています:
|
|
93
|
+
|
|
94
|
+
- **シナリオに最適化されたプロンプト** — コードレビュー向けに深く最適化されたプロンプトテンプレートにより、効果を高めつつトークン消費を削減します。
|
|
95
|
+
- **シナリオに最適化されたツールセット** — 大規模な本番データにおけるツール呼び出しトレースの詳細な分析 — 呼び出し頻度の分布、ツールごとの繰り返し率、新しいツールが呼び出しチェーン全体に与える影響など — から抽出された、汎用エージェントツールキットよりもコードレビューにおいて安定的で予測可能な専用ツールセットです。
|
|
96
|
+
|
|
97
|
+
## 使い方
|
|
98
|
+
|
|
99
|
+
### 前提条件
|
|
100
|
+
|
|
101
|
+
- **Git >= 2.41** — Git ワークスペース、範囲、単一コミットのレビューに必要です。
|
|
102
|
+
- **SVN >= 1.9** — SVN ワーキングコピーの未コミット変更をレビューする場合のみ必要です。
|
|
103
|
+
|
|
104
|
+
### CLI
|
|
105
|
+
|
|
106
|
+
#### インストール
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install -g @smallfishworld/open-code-review-svn
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
インストール後、`ocr`コマンドがグローバルに利用可能になります。
|
|
113
|
+
|
|
114
|
+
その他のインストール方法(インストールスクリプト、GitHub Release バイナリ、ソースビルド)については、[インストールガイド](https://open-codereview.ai/docs/installation)を参照してください。
|
|
115
|
+
|
|
116
|
+
#### クイックスタート
|
|
117
|
+
|
|
118
|
+
**1. LLMの設定**
|
|
119
|
+
|
|
120
|
+
コードレビューの前にLLMの設定が必要です。[デリゲートモード](https://open-codereview.ai/docs/delegate)を使用する場合は不要です。
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
ocr config provider # ビルトインプロバイダーを選択またはカスタムプロバイダーを追加
|
|
124
|
+
ocr config model # アクティブなプロバイダーのモデルを選択
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+

|
|
128
|
+
|
|
129
|
+
対話的UIがプロバイダーの選択、APIキーの入力、モデル設定をガイドし、完了後に自動的に接続テストを行います。
|
|
130
|
+
|
|
131
|
+
CLIセットアップ、環境変数、カスタムプロバイダーなどの高度な設定については、[設定ガイド](https://open-codereview.ai/docs/configuration)を参照してください。
|
|
132
|
+
|
|
133
|
+
**2. レビュー**
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
cd your-project
|
|
137
|
+
|
|
138
|
+
# ワークスペースモード — ステージ済み・未ステージ・未追跡のすべての変更をレビュー
|
|
139
|
+
ocr review
|
|
140
|
+
|
|
141
|
+
# SVN ワークスペースモード — 変更、追加、削除、未管理ファイルをレビュー
|
|
142
|
+
# 範囲モードと単一コミットモードは現在 Git 専用です。
|
|
143
|
+
ocr review --repo /path/to/svn-working-copy
|
|
144
|
+
|
|
145
|
+
# ブランチ範囲 — main から分岐した後の feature-branch の変更をレビュー(マージベースモード)
|
|
146
|
+
ocr review --from main --to feature-branch
|
|
147
|
+
|
|
148
|
+
# 単一コミット
|
|
149
|
+
ocr review --commit abc123
|
|
150
|
+
|
|
151
|
+
# 中断した範囲または単一 commit レビューを再開
|
|
152
|
+
ocr session list
|
|
153
|
+
ocr review --from main --to feature-branch --resume <session-id>
|
|
154
|
+
|
|
155
|
+
# フルファイルスキャン — diffではなくファイル全体をレビュー(git履歴不要)
|
|
156
|
+
ocr scan # リポジトリ全体をスキャン
|
|
157
|
+
ocr scan --path internal/agent # ディレクトリまたは特定のファイルをスキャン
|
|
158
|
+
ocr scan --resume <session-id> # 中断したフルファイルスキャンを再開
|
|
159
|
+
|
|
160
|
+
# 結果をファイルに出力(AI ホストエージェント推奨)
|
|
161
|
+
ocr review --format json --output result.json
|
|
162
|
+
|
|
163
|
+
# デリゲートモード — AI コーディングエージェントが自らレビューを実行
|
|
164
|
+
# OCR はファイル選択とルール解決を担当。LLM 設定不要
|
|
165
|
+
ocr delegate preview
|
|
166
|
+
ocr delegate rule src/main.go src/handler.go
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### SVN ワーキングコピーのレビュー
|
|
170
|
+
|
|
171
|
+
このフォークは、SVN(Apache Subversion)ワーキングコピー内の未コミット変更をコミット前にレビューできます。OCR はワーキングコピーのルートを自動検出するため、ルートまたは任意のサブディレクトリから実行できます。
|
|
172
|
+
|
|
173
|
+
SVN ワークスペースモードでサポートされる内容:
|
|
174
|
+
|
|
175
|
+
- `svn status` が報告する変更済み、追加予定、削除予定のファイル。
|
|
176
|
+
- 未管理のファイルとディレクトリ(未管理ディレクトリ内のファイルも再帰的に検出)。
|
|
177
|
+
- テキストおよびバイナリの変更、空白を含むファイル名、Git ワークスペースレビューと同じルールおよび出力形式。
|
|
178
|
+
|
|
179
|
+
コミット前に現在の SVN ワーキングコピーをレビューします:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
cd /path/to/svn-working-copy
|
|
183
|
+
svn status
|
|
184
|
+
ocr review
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
ワーキングコピーを明示的に指定して結果を保存することもできます:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
ocr review --repo /path/to/svn-working-copy
|
|
191
|
+
ocr review --repo /path/to/svn-working-copy --format json --output svn-review.json
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
現在、SVN はワークスペースレビューのみをサポートします。`--from`、`--to`、`--commit`、セッション再開など Git 履歴に依存するモードは SVN ワーキングコピーでは使用できません。SVN によって無視されたファイルはレビューされないため、対象にする場合は `svn add` を実行するか SVN の ignore プロパティを調整してください。
|
|
195
|
+
|
|
196
|
+
## ドキュメント
|
|
197
|
+
|
|
198
|
+
完全なドキュメントは **[open-codereview.ai/docs](https://open-codereview.ai/docs)** にあります:
|
|
199
|
+
|
|
200
|
+
- [クイックスタート](https://open-codereview.ai/docs/quickstart) — インストールして最初のレビューを実行
|
|
201
|
+
- [インストール](https://open-codereview.ai/docs/installation) — すべてのプラットフォームとパッケージマネージャー
|
|
202
|
+
- [CLI リファレンス](https://open-codereview.ai/docs/cli-reference) — すべてのコマンドとフラグ
|
|
203
|
+
- [レビュールール](https://open-codereview.ai/docs/review-rules) — レビュールールのカスタマイズ、パスフィルタリングとターゲティング
|
|
204
|
+
- [設定](https://open-codereview.ai/docs/configuration) — 設定キーと環境変数
|
|
205
|
+
- [MCP サーバー](https://open-codereview.ai/docs/mcp) — 外部ツールでレビューエージェントを拡張
|
|
206
|
+
- コーディングエージェント連携 — 使用するプラットフォームを選択
|
|
207
|
+
- [Claude Code](plugins/open-code-review/README.md#claude-code) — レビュー用スラッシュコマンドを含むプラグインをインストール
|
|
208
|
+
- [Codex](plugins/open-code-review/README.md#codex) — 呼び出し可能なレビュースキルを含むプラグインをインストール
|
|
209
|
+
- [Cursor](plugins/open-code-review/README.md#cursor) — 移植可能なレビュースキルを含むプラグインをインストール
|
|
210
|
+
- [OpenCode](plugins/open-code-review/opencode/README.md) — ネイティブレビュー・ツールとスラッシュコマンドをインストール
|
|
211
|
+
- [QCA Forward](plugins/open-code-review/qca/README.md) — QCA ホストモデルと公開可能なテンプレートで委任モードを実行
|
|
212
|
+
- [Skill 対応エージェント](https://open-codereview.ai/docs/agent-skill) — 移植可能なエージェントスキルをインストール
|
|
213
|
+
- レビュー実行モード — 連携後、どの LLM がレビューを実行するかを選択
|
|
214
|
+
- [デフォルト(OCR が管理)](https://open-codereview.ai/docs/configuration) — OCR が設定済みの LLM を使用してレビューを実行
|
|
215
|
+
- [デリゲートモード](https://open-codereview.ai/docs/delegate) — コーディングエージェントが自身の LLM を使用してレビューを実行。OCR の API キーは不要
|
|
216
|
+
- [CI/CD 連携](https://open-codereview.ai/docs/cicd) — GitHub Actions、GitLab CI、GitFlic CI、Gerrit との統合
|
|
217
|
+
- [セッションビューアー](https://open-codereview.ai/docs/viewer) — ブラウザでレビューセッションを閲覧・再生
|
|
218
|
+
- [テレメトリー](https://open-codereview.ai/docs/telemetry) — 可観測性のためのOpenTelemetry統合
|
|
219
|
+
- [FAQ](https://open-codereview.ai/docs/faq) — よくある質問とトラブルシューティング
|
|
220
|
+
|
|
221
|
+
## コントリビューション
|
|
222
|
+
|
|
223
|
+
このプロジェクトは、貢献してくださるすべての方々のおかげで成り立っています。開発環境のセットアップ、コーディングガイドライン、プルリクエストの提出方法については[CONTRIBUTING.ja-JP.md](CONTRIBUTING.ja-JP.md)を参照してください。
|
|
224
|
+
|
|
225
|
+
<a href="https://github.com/alibaba/open-code-review/graphs/contributors">
|
|
226
|
+
<img src="https://contrib.rocks/image?repo=alibaba/open-code-review" />
|
|
227
|
+
</a>
|
|
228
|
+
|
|
229
|
+
## ライセンス
|
|
230
|
+
|
|
231
|
+
[Apache-2.0](LICENSE) — Copyright 2026 Alibaba
|