diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 3152767..f89d390 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -50,6 +50,8 @@ PR 创建时,Store 自动生成 `ReviewEntry[]`,包含所有其他 Agent 作 所有发往 engine 的 review 相关命令(`submit-for-review` / `submit-review` / `merge-pr`)都必须携带当前 GitHub Token;engine 的 `canMerge` / `mergePr` 根据 token 是否存在决定走真实 GitHub API 还是 mock 路径,缺失 token 会导致真实 PR 走到 mock merge。 +`submit-review` 命令携带 `comment` 字段(来自自动审阅的 `review.comment`),确保 fix 闭环能获取具体审阅意见而非 fallback「审阅未通过」。 + **自动合并的 mock 区分**:`handleReviewVerdict` 在 reviewer 全 approved 后,**仅当有 GitHub Token 时**才主动调 `mergePr` 自动合并;mock 模式(无 token)不自动合并,UI「合并」按钮仍可点,由用户决定时机手动合并——避免 mock merge 跟 GitHub 现实状态脱钩造成误判。 **审阅失败上限**:`ReviewEntry` 加 `status='failed'` 枚举 + `attempts` + `failureReason` 字段。`retryDeferredReviews` 给 `performReview` 传 `onFailed` 回调,累加 attempts;达 `MAX_REVIEW_ATTEMPTS=3` 后 status 置 `failed`,retry 自然停止。`handleReviewVerdict` 看到 `hasFailed=true` 时跳过 `fixBasedOnReviews`——「审阅多次跑不通」≠「内容拒绝」,不应让 agent 改代码方向,等用户手动处置(重试 / 改派 / 强制合并 / 打回)。 diff --git a/docs/COMPONENT_PATTERNS.md b/docs/COMPONENT_PATTERNS.md index c9d8667..8606be5 100644 --- a/docs/COMPONENT_PATTERNS.md +++ b/docs/COMPONENT_PATTERNS.md @@ -35,7 +35,7 @@ const emit = defineEmits<{...}>() - `CreateTaskModal.vue` — 表单弹窗组件:收集 name / repoUrl / tokenBudget 创建 Agent,Vue `` 原生过渡动画 - `SwarmConfirmModal.vue` — 确认弹窗组件:类型化图标 + 双按钮确认/取消,配合 useConfirm composable - `SwarmToast.vue` — Toast 通知组件:类型化图标 + 进度条 + 自动消失,配合 useToast composable -- `AgentDetail.vue` — 聊天式多轮对话组件:Header + Info + PR 审阅 + 文件变更 + 聊天消息区(input/output/think 支持 **Markdown 渲染 + 代码语法高亮**,基于 `marked` + `highlight.js` + `dompurify` XSS 过滤;tool_call/mcp/tool_result 为可折叠气泡保持等宽纯文本,默认收起,点击展开查看完整内容)+ `