PR Review 2026-05-31 17:42:26

docs: 添加 API 文档、架构文档和许可证文件 #16

Luo-root/PRism · opened by Luo-root

Change Summary
5 files · +1748 · -2

本次 PR 为项目补充了完整的 API 接口文档(docs/api.md)、系统架构文档(docs/architecture.md)和 Apache 2.0 许可证文件(LICENSE),同时从 go.mod 中清理了未使用的间接依赖 github.com/agent-infra/sandbox-sdk-go。整体属于项目文档规范化和完善许可证的工程实践,变更风险较低。

Impact 本次变更影响范围集中在文档和项目配置层面,不涉及业务逻辑代码。API 文档覆盖健康检查、GitHub Webhook、手动审查、REST API、SSE 流等全部接口;架构文档描述系统整体设计。go.mod 的依赖清理需关注构建一致性,但对运行时行为无直接影响。
1
Critical
4
Warning
8
Suggestion
2
Nitpick
Critical 1
Critical high LICENSE:192 许可证文本被截断,内容不完整

第 192 行文本 "Derivative Works that You di" 明显被截断,完整的 Apache License 2.0 第 4(b) 条应为 "Derivative Works that You distribute" 起始的完整段落。许可证文本不完整会影响法律效力,这是所有开源项目的基础法律文件,必须确保内容完整准确。建议用标准 Apache License 2.0 模板替换该文件,确保全文完整无截断。

Current
+          Derivative Works that You di
Suggested Fix
+          Derivative Works that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work, excluding those notices
+          that do not pertain to any part of the Derivative Works; and
Warning 4
Warning high README.md:76 Go 版本号 1.26.3 不存在

文档环境要求中声明 Go 1.26.3+,但 Go 语言截至目前最新稳定版本为 1.24.x 系列,1.26.3 是一个不存在的版本号。这会导致用户无法安装指定版本而困惑。如果是笔误,应更正为项目实际使用的 Go 版本;如果是内部版本号,也应注明。go.mod 中的 go 指令也应与之保持一致。

Current
- **Go** 1.26.3+
Suggested Fix
- **Go** 1.22+(推荐使用最新稳定版本)
Warning high README.md:205 环境变量表格缺失多个关键变量

文档中提到 DB_PATH、MAX_HISTORY_MESSAGES、RESERVE_TOKENS 等变量(如"最大历史消息数""预留Token数"等),但在下方的环境变量说明表格中未列出这些变量。表格仅包含 12 个变量,而项目实际使用的环境变量远不止这些。缺失的变量包括:EMBEDDING_DIMENSION、CHUNK_SIZE、DB_PATH、MAX_HISTORY_MESSAGES、RESERVE_TOKENS、MAX_TOOL_ROUNDS、PROMPT_PATH、SKILLS_PATH、PR_REVIEW_OUTPUT_DIR 等。这会导致用户遗漏重要配置项。

Current
| `PRISM_SCHEME` | 否 | `https` | 协议 |
| `FEISHU_WEBHOOKS` | 否 | — | 飞书 Webhook,格式:`名称|URL|密钥;...` |
Suggested Fix
| `EMBEDDING_DIMENSION` | 否 | `768` | 嵌入向量维度 |
| `CHUNK_SIZE` | 否 | `1000` | 分块大小 |
| `DB_PATH` | 否 | `./prism.db` | 数据库文件路径 |
| `MAX_HISTORY_MESSAGES` | 否 | `50` | 最大历史消息数 |
| `RESERVE_TOKENS` | 否 | `4096` | 预留 Token 数 |
| `MAX_TOOL_ROUNDS` | 否 | `50` | 最大工具调用轮数 |
| `PROMPT_PATH` | 否 | `./prompts` | 提示词文件路径 |
| `SKILLS_PATH` | 否 | `./skills` | 技能文件路径 |
| `PR_REVIEW_OUTPUT_DIR` | 否 | `output/pr-reviews` | 报告输出目录 |
| `PRISM_HOST` | 否 | — | 服务域名,用于拼接报告链接 |
| `PRISM_SCHEME` | 否 | `https` | 协议 |
| `FEISHU_WEBHOOKS` | 否 | — | 飞书 Webhook,格式:`名称|URL|密钥;...` |
Warning high docs/api.md:319 SSE Event Types 表格不完整

SSE Event Types 表格被截断,仅显示了 start 事件的部分内容。SSE 事件类型是开发者集成实时审查进度的关键参考,表格不完整会导致开发者无法正确处理各阶段的事件。建议补全所有事件类型(start、progress、complete、error 等)及其数据结构说明。

Current
| `start` 
... [truncated]
Suggested Fix
| Event | Description | Data |
|-------|-------------|------|
| `start` | 审查任务开始 | `{"pr_url": "https://..."}` |
| `progress` | 审查进度更新 | `{"step": "...", "progress": 0.5}` |
| `complete` | 审查完成 | `{"report_url": "..."}` |
| `error` | 审查出错 | `{"error": "..."}` |
Suggestion 8
Nitpick 2