smart-review 1.0.1 → 1.0.3

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.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Smart Review
2
2
 
3
+ > 语言 / Language: [中文](README.md) | [English](README.en-US.md)
4
+
3
5
  🚀 **AI智能代码审查工具** - 结合静态规则检测和AI智能分析,为你的代码提供全方位的安全和质量审查。
4
6
 
5
7
  ## ✨ 特性
@@ -441,36 +443,45 @@ Smart Reviewer 采用智能分批处理技术,能够高效处理超大文件
441
443
  ```json
442
444
  {
443
445
  "ai": {
444
- "maxRequestTokens": 8000, // 单次请求最大token数
445
- "maxChunkSizeKB": 400, // 单个分段最大大小
446
- "chunkOverlapLines": 20 // 分段重叠行数
446
+ "maxRequestTokens": 8000, // 单次请求最大 token
447
+ "chunkOverlapLines": 5, // 分段重叠行数
448
+ "minFilesPerBatch": 1, // 每批次最少文件数
449
+ "maxFilesPerBatch": 10 // 每批次最多文件数
447
450
  }
448
451
  }
449
452
  ```
450
453
 
451
454
  #### 性能优化建议
452
455
 
453
- 1. **合理设置分段大小**
456
+ 1. **合理设置批处理参数**
454
457
  ```json
455
458
  {
456
- "maxChunkSizeKB": 300, // 较小的分段,更快的响应
457
- "chunkOverlapLines": 15 // 适中的重叠,平衡上下文和性能
459
+ "ai": {
460
+ "maxRequestTokens": 6000,
461
+ "chunkOverlapLines": 10,
462
+ "minFilesPerBatch": 1,
463
+ "maxFilesPerBatch": 5
464
+ }
458
465
  }
459
466
  ```
460
467
 
461
468
  2. **启用并发处理**
462
469
  ```json
463
470
  {
464
- "concurrency": 3, // 并发AI请求数量,提升处理速度
465
- "maxFilesPerBatch": 5 // 控制批次文件数
471
+ "ai": {
472
+ "concurrency": 3, // 并发 AI 请求数量
473
+ "maxFilesPerBatch": 5 // 控制批次文件数
474
+ }
466
475
  }
467
476
  ```
468
477
 
469
- 3. **启用智能分批**
478
+ 3. **调整智能分批参数**
470
479
  ```json
471
480
  {
472
- "enableSmartBatching": true,
473
- "maxFilesPerBatch": 5 // 控制并发文件数
481
+ "ai": {
482
+ "minFilesPerBatch": 1,
483
+ "maxFilesPerBatch": 5
484
+ }
474
485
  }
475
486
  ```
476
487
 
@@ -551,45 +562,71 @@ const reviewer = new CodeReviewer(customConfig, defaultRules);
551
562
  ```bash
552
563
  # OpenAI API配置
553
564
  export OPENAI_API_KEY="your-api-key"
554
- export OPENAI_BASE_URL="https://api.openai.com/v1"
555
565
 
556
566
  # 调试模式
557
567
  export DEBUG_SMART_REVIEW=true
568
+
569
+ # 国际化(i18n)
570
+ # Windows PowerShell(当前会话)
571
+ $env:SMART_REVIEW_LOCALE='zh-CN' # 或 'en-US'
572
+
573
+ # macOS/Linux bash
574
+ export SMART_REVIEW_LOCALE=zh-CN # 或 en-US
575
+ ```
576
+
577
+ 如果需要使用自定义的 OpenAI 兼容服务,请在项目的配置文件中设置 `ai.baseURL`:
578
+
579
+ ```json
580
+ {
581
+ "ai": { "baseURL": "https://api.openai.com/v1" }
582
+ }
558
583
  ```
559
584
 
585
+ ## 🌍 国际化 (i18n)
586
+
587
+ - 配置项 `locale`:在 `.smart-review/smart-review.json` 顶层设置输出与模板语言,支持 `zh-CN`、`en-US`。示例:`{"locale": "en-US"}`。
588
+ - 环境变量 `SMART_REVIEW_LOCALE`:优先级最高,安装和复制模板时将按该值选择语言目录。
589
+ - 选择优先级:环境变量 > 项目配置 `.smart-review/smart-review.json` > 模板默认配置 `templates/smart-review.json` > `zh-CN`。
590
+ - 模板目录结构:`templates/rules/<locale>/security.js|performance.js|best-practices.js`;当指定语言缺失某文件时自动回退到 `zh-CN`。
591
+ - 控制台与 Git 钩子提示会随 `locale` 切换语言,无需额外配置。
592
+ - 切换示例:
593
+ - PowerShell:`$env:SMART_REVIEW_LOCALE='en-US'; node bin/install.js`
594
+ - Bash:`export SMART_REVIEW_LOCALE=en-US && node bin/install.js`
595
+
596
+ 如需新增语言(例如 `ja-JP`),在 `templates/rules/ja-JP/` 下添加三类规则模板文件,并在配置中设置 `"locale": "ja-JP"` 或通过环境变量切换即可。
597
+
560
598
  ## 🔧 命令行参数
561
599
 
562
600
  ```bash
563
601
  smart-review [options]
564
602
 
565
603
  选项:
566
- --staged 审查Git暂存区文件
567
- --files <files> 审查指定文件 (逗号分隔)
568
- --ai 强制启用AI分析
569
- --no-ai 禁用AI分析
570
- --diff-only 强制启用Git Diff增量审查模式
571
- --full-file 禁用增量审查,审查完整文件内容
572
- --config <path> 指定配置文件路径
573
- --rules <path> 指定规则目录路径
574
- --output <format> 输出格式 (text|json)
575
- --verbose 详细输出
576
- --help 显示帮助信息
577
- ```
578
-
579
- **增量审查相关参数说明:**
580
- - `--diff-only`: 强制启用Git Diff增量审查模式,覆盖配置文件中的`reviewOnlyChanges`设置
581
- - `--full-file`: 禁用增量审查,审查完整文件内容,适用于需要全面审查的场景
604
+ --staged 审查 Git 暂存区文件
605
+ --files <files> 审查指定文件(逗号分隔)
606
+ --ai 强制启用 AI 分析
607
+ --no-ai 禁用 AI 分析
608
+ --diff-only 仅审查变更行(Git Diff 模式)
609
+ --debug 输出调试日志
610
+ ```
611
+
612
+ **增量审查相关说明:**
613
+ - `--diff-only`:仅审查变更行(Git Diff 模式),覆盖配置项 `ai.reviewOnlyChanges`
614
+ - 禁用增量审查:在 `.smart-review/smart-review.json` 将 `ai.reviewOnlyChanges` 设为 `false`,适用于需要全面审查的场景
582
615
 
583
616
  **使用示例:**
584
617
  ```bash
585
618
  # 强制使用增量审查模式
586
619
  smart-review --staged --diff-only
587
620
 
588
- # 强制审查完整文件内容
589
- smart-review --files src/important.js --full-file
621
+ # 审查完整文件内容(在配置中关闭增量)
622
+ # .smart-review/smart-review.json
623
+ {
624
+ "ai": { "reviewOnlyChanges": false }
625
+ }
626
+ smart-review --files src/important.js
590
627
 
591
628
  # 结合其他参数使用
592
- smart-review --staged --diff-only --verbose
629
+ smart-review --staged --diff-only --debug
593
630
  ```
594
631
 
595
632
  ## 🚀 CI/CD 集成
@@ -649,13 +686,13 @@ code_review:
649
686
  **解决方案**: 检查 `OPENAI_API_KEY` 环境变量或配置文件中的密钥
650
687
 
651
688
  4. **大文件处理超时**
652
- ```
653
- ❌ 文件分析超时
654
- ```
655
- **解决方案**:
656
- - 减小 `maxChunkSizeKB` 配置值
657
- - 增加 `chunkOverlapLines` 以减少分段数量
658
- - 检查网络连接稳定性
689
+ ```
690
+ ❌ 文件分析超时
691
+ ```
692
+ **解决方案**:
693
+ - 降低 `ai.maxRequestTokens` 或减少批次文件数(`maxFilesPerBatch`),并适当降低 `chunkOverlapLines`
694
+ - 增加 `chunkOverlapLines` 以减少分段数量
695
+ - 检查网络连接稳定性
659
696
 
660
697
  5. **分段分析结果不完整**
661
698
  ```
@@ -667,28 +704,30 @@ code_review:
667
704
  - 调整 `maxRequestTokens` 配置
668
705
 
669
706
  6. **内存占用过高**
670
- ```
671
- ❌ 内存不足错误
672
- ```
673
- **解决方案**:
674
- - 减少 `maxFilesPerBatch` 配置值
675
- - 启用 `enableSmartBatching` 智能分批
676
- - 添加更多文件到 `ignoreFiles` 列表
707
+ ```
708
+ ❌ 内存不足错误
709
+ ```
710
+ **解决方案**:
711
+ - 减少 `maxFilesPerBatch` 配置值
712
+ - 调整 `minFilesPerBatch`/`maxFilesPerBatch` 控制每批文件数量
713
+ - 添加更多文件到 `ignoreFiles` 列表
677
714
 
678
715
  7. **Token 限制错误**
679
- ```
680
- ❌ Request too large
681
- ```
682
- **解决方案**:
683
- - 降低 `maxRequestTokens` 配置值
684
- - 减小 `maxChunkSizeKB` 分段大小
685
- - 检查是否有超大的单行代码
716
+ ```
717
+ ❌ Request too large
718
+ ```
719
+ **解决方案**:
720
+ - 降低 `maxRequestTokens` 配置值
721
+ - 减少每批文件数量或启用增量审查 `--diff-only`
722
+ - 检查是否有超大的单行代码
686
723
 
687
724
  ### 调试模式
688
725
 
689
- 启用详细日志:
726
+ 启用调试日志:
690
727
  ```bash
691
- DEBUG_SMART_REVIEW=true smart-review --staged --verbose
728
+ DEBUG_SMART_REVIEW=true smart-review --staged
729
+ # 或
730
+ smart-review --staged --debug
692
731
  ```
693
732
 
694
733
  ## 🤝 贡献