docs: add remaining review reports and docs
This commit is contained in:
45
docs/onmyoji_gacha_review.md
Normal file
45
docs/onmyoji_gacha_review.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# onmyoji_gacha Code Review Report
|
||||||
|
**Date**: 2026-05-10
|
||||||
|
**Files Reviewed**: 7 files, ~2318 lines
|
||||||
|
**Overall Grade**: B+ (Good quality, minor issues)
|
||||||
|
|
||||||
|
## Issues Found
|
||||||
|
|
||||||
|
### HIGH Priority
|
||||||
|
| # | File | Line | Category | Issue | Fix |
|
||||||
|
|---|------|------|----------|-------|-----|
|
||||||
|
| 1 | config.py | 107 | SECURITY | 硬编码默认ADMIN_TOKEN,生产环境安全风险 | 添加运行时检查,生产环境强制覆盖 |
|
||||||
|
| 2 | api_utils.py | 48 | RELIABILITY | requests.get() 无timeout,网络故障时阻塞 | 添加 timeout=10 参数 |
|
||||||
|
|
||||||
|
### MEDIUM Priority
|
||||||
|
| # | File | Line | Category | Issue | Fix |
|
||||||
|
|---|------|------|----------|-------|-----|
|
||||||
|
| 3 | web_api.py | 56 | RELIABILITY | session.execute() 无异常保护 | 添加 try/except |
|
||||||
|
| 4 | data_manager.py | N/A | CONCURRENCY | SQLite无线程锁保护 | 考虑添加 threading.Lock |
|
||||||
|
| 5 | __init__.py | N/A | CODE QUALITY | 全局实例无生命周期管理 | 现状可接受 |
|
||||||
|
|
||||||
|
### LOW Priority / Observations
|
||||||
|
- **Code Quality**: 整体代码结构良好,错误处理完善
|
||||||
|
- **Logging**: 日志覆盖合理,关键操作有日志记录
|
||||||
|
- **Comments**: 注释清晰,函数文档完整
|
||||||
|
- **Tests**: 建议添加单元测试覆盖核心抽卡逻辑
|
||||||
|
|
||||||
|
## Recommendations
|
||||||
|
1. **必须修复**: Issue #1, #2 (生产安全/稳定性)
|
||||||
|
2. **建议修复**: Issue #3 (API异常处理)
|
||||||
|
3. **可选改进**: Issue #4, #5
|
||||||
|
|
||||||
|
## Files Summary
|
||||||
|
| File | Lines | Issues | Grade |
|
||||||
|
|------|-------|--------|-------|
|
||||||
|
| config.py | 121 | 1 HIGH | B |
|
||||||
|
| utils.py | 42 | 0 | A- |
|
||||||
|
| api_utils.py | 252 | 1 HIGH | B |
|
||||||
|
| web_api.py | 200 | 1 MEDIUM | B+ |
|
||||||
|
| gacha.py | 307 | 0 | A- |
|
||||||
|
| data_manager.py | 594 | 1 MEDIUM | B+ |
|
||||||
|
| __init__.py | 802 | 1 MEDIUM | B+ |
|
||||||
|
|
||||||
|
---
|
||||||
|
**Reviewer**: Code Review Agent
|
||||||
|
**Next Steps**: Apply fixes for Issue #1, #2, #3
|
||||||
25
review_reports/auto_friend_accept_review.md
Normal file
25
review_reports/auto_friend_accept_review.md
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# auto_friend_accept 评审报告
|
||||||
|
|
||||||
|
## 修复前问题清单 (1项)
|
||||||
|
|
||||||
|
| # | 严重度 | 问题 | 文件 |
|
||||||
|
|---|--------|------|------|
|
||||||
|
| 1 | **低** | 无速率限制,恶意用户可连续发好友请求消耗API | auto_accept.py |
|
||||||
|
|
||||||
|
## 代码质量评估
|
||||||
|
|
||||||
|
| 维度 | 评级 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| 安全性 | A | 正确的 try/except 保护,用户ID/flag安全记录 |
|
||||||
|
| 异步处理 | A | asyncio.sleep 延迟发送欢迎消息,不阻塞 |
|
||||||
|
| 代码结构 | A- | 清晰简洁,46行,配置与逻辑分离 |
|
||||||
|
| 错误处理 | B+ | 发送失败仅记录日志,不重试(可接受) |
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
- [x] auto_accept_enabled 开关正确
|
||||||
|
- [x] 随机延迟防机器人检测
|
||||||
|
- [x] 无敏感信息泄露
|
||||||
|
- [x] 无同步阻塞调用
|
||||||
|
|
||||||
|
## 代码质量总结
|
||||||
|
评级:**A-** (简洁、安全、无关键bug)
|
||||||
31
review_reports/auto_recall_review.md
Normal file
31
review_reports/auto_recall_review.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# auto_recall 评审报告
|
||||||
|
|
||||||
|
## 修复前问题清单 (2项)
|
||||||
|
|
||||||
|
| # | 严重度 | 问题 | 文件 |
|
||||||
|
|---|--------|------|------|
|
||||||
|
| 1 | **低** | `@validator` 在 pydantic v2 中已 deprecated | config.py:7 |
|
||||||
|
| 2 | **低** | `recall_message_after_delay` 撤回失败仅日志记录,无重试 | __init__.py:57 |
|
||||||
|
|
||||||
|
## 代码质量评估
|
||||||
|
|
||||||
|
| 维度 | 评级 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| 安全性 | A | 无敏感数据处理 |
|
||||||
|
| 异步处理 | A | 正确使用 asyncio.create_task + done_callback 防GC |
|
||||||
|
| 代码结构 | A | 配置与逻辑分离,qqpush特殊路径清晰 |
|
||||||
|
| 错误处理 | B+ | 撤回失败仅记日志(可接受,撤回不保证成功) |
|
||||||
|
|
||||||
|
## 设计亮点
|
||||||
|
- `_recall_tasks` Set + `done_callback` 防止任务被GC回收
|
||||||
|
- Bot.on_called_api 钩子拦截所有消息发送,架构正确
|
||||||
|
- danding_qqpush 消息有独立的 qqpush_recall_delay 配置
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
- [x] Task GC保护正确
|
||||||
|
- [x] API钩子过滤逻辑正确
|
||||||
|
- [x] 无同步阻塞
|
||||||
|
- [x] config validator 在 pydantic v2 下兼容运行
|
||||||
|
|
||||||
|
## 代码质量总结
|
||||||
|
评级:**B+** (架构优秀,仅低优先级deprecation问题)
|
||||||
Reference in New Issue
Block a user