From 83286712e5e383bb38ad809fd8f6ee68a62b8015 Mon Sep 17 00:00:00 2001 From: caoxiaozhu Date: Mon, 11 May 2026 06:32:49 +0000 Subject: [PATCH] docs(agent-plan): record day 2 rule center completion --- .../day_2_rule_center_integration.md | 305 ++++++++++-------- .../day_2_rule_center_integration.md | 7 + 2 files changed, 174 insertions(+), 138 deletions(-) diff --git a/document/development/agent plan/weekly_execution_details/day_2_rule_center_integration.md b/document/development/agent plan/weekly_execution_details/day_2_rule_center_integration.md index 855689d..aa06ca4 100644 --- a/document/development/agent plan/weekly_execution_details/day_2_rule_center_integration.md +++ b/document/development/agent plan/weekly_execution_details/day_2_rule_center_integration.md @@ -12,211 +12,240 @@ ## 0. 开始前检查 -- [ ] 确认 Day 1 API 已可访问。 -- [ ] 确认前端任务规则中心文件位置。 -- [ ] 确认现有路由名称和导航名称。 -- [ ] 确认现有 UI 风格,不重新做大改版。 -- [ ] 确认当前页面已有页签:规则、技能、MCP、任务。 -- [ ] 确认详情页隐藏顶部 title bar 的逻辑仍然有效。 -- [ ] 确认返回列表栏高度没有被重新拉高。 +- [x] ~~确认 Day 1 API 已可访问。~~ +- [x] ~~确认前端任务规则中心文件位置。~~ +- [x] ~~确认现有路由名称和导航名称。~~ +- [x] ~~确认现有 UI 风格,不重新做大改版。~~ +- [x] ~~确认当前页面已有页签:规则、技能、MCP、任务。~~ +- [x] ~~确认详情页隐藏顶部 title bar 的逻辑仍然有效。~~ +- [x] ~~确认返回列表栏高度没有被重新拉高。~~ ## 1. API Client -- [ ] 新增或扩展资产列表请求函数。 -- [ ] 新增资产详情请求函数。 -- [ ] 新增版本列表请求函数。 -- [ ] 新增规则 Markdown 保存请求函数。 -- [ ] 新增审核请求函数。 -- [ ] 新增上线请求函数。 -- [ ] 新增运行日志请求函数。 -- [ ] 给所有请求增加加载态。 -- [ ] 给所有请求增加错误态。 -- [ ] 给所有写请求增加成功提示。 +- [x] ~~新增或扩展资产列表请求函数。~~ +- [x] ~~新增资产详情请求函数。~~ +- [x] ~~新增版本列表请求函数。~~ +- [x] ~~新增规则 Markdown 保存请求函数。~~ +- [x] ~~新增审核请求函数。~~ +- [x] ~~新增上线请求函数。~~ +- [x] ~~新增运行日志请求函数。~~ +- [x] ~~给所有请求增加加载态。~~ +- [x] ~~给所有请求增加错误态。~~ +- [x] ~~给所有写请求增加成功提示。~~ 验收证据: -- [ ] 前端不再只依赖本地硬编码资产数据。 -- [ ] 后端不可用时页面有明确错误提示。 +- [x] ~~前端不再只依赖本地硬编码资产数据。~~ +- [x] ~~后端不可用时页面有明确错误提示。~~ ## 2. 列表页数据接入 -- [ ] 规则页签请求 `asset_type=rule`。 -- [ ] 技能页签请求 `asset_type=skill`。 -- [ ] MCP 页签请求 `asset_type=mcp`。 -- [ ] 任务页签请求 `asset_type=task`。 -- [ ] 搜索框传递关键词或本地过滤。 -- [ ] 类型下拉和搜索框可以同时生效。 -- [ ] 状态筛选可以过滤 `draft | review | active | disabled`。 -- [ ] 列表卡片展示名称。 -- [ ] 列表卡片展示摘要。 -- [ ] 列表卡片展示状态。 -- [ ] 列表卡片展示负责人。 -- [ ] 列表卡片展示最近更新时间。 -- [ ] 空数据时展示空态。 -- [ ] 加载中时展示骨架或加载状态。 +- [x] ~~规则页签请求 `asset_type=rule`。~~ +- [x] ~~技能页签请求 `asset_type=skill`。~~ +- [x] ~~MCP 页签请求 `asset_type=mcp`。~~ +- [x] ~~任务页签请求 `asset_type=task`。~~ +- [x] ~~搜索框传递关键词或本地过滤。~~ +- [x] ~~类型下拉和搜索框可以同时生效。~~ +- [x] ~~状态筛选可以过滤 `draft | review | active | disabled`。~~ +- [x] ~~列表卡片展示名称。~~ +- [x] ~~列表卡片展示摘要。~~ +- [x] ~~列表卡片展示状态。~~ +- [x] ~~列表卡片展示负责人。~~ +- [x] ~~列表卡片展示最近更新时间。~~ +- [x] ~~空数据时展示空态。~~ +- [x] ~~加载中时展示骨架或加载状态。~~ 验收证据: -- [ ] 四个页签都能切换。 -- [ ] 四个页签都有数据或空态。 -- [ ] 搜索和筛选不会互相覆盖。 +- [x] ~~四个页签都能切换。~~ +- [x] ~~四个页签都有数据或空态。~~ +- [x] ~~搜索和筛选不会互相覆盖。~~ ## 3. 规则详情页主信息 -- [ ] 打开规则资产时请求详情 API。 -- [ ] Hero title 展示规则名称。 -- [ ] Hero title 下方展示审核者。 -- [ ] Hero title 下方展示审核状态。 -- [ ] Hero title 下方展示上线条件。 -- [ ] Hero title 高度保持紧凑。 -- [ ] 详情页不显示外层顶部 title bar。 -- [ ] 返回列表栏高度保持原有紧凑高度。 +- [x] ~~打开规则资产时请求详情 API。~~ +- [x] ~~Hero title 展示规则名称。~~ +- [x] ~~Hero title 下方展示审核者。~~ +- [x] ~~Hero title 下方展示审核状态。~~ +- [x] ~~Hero title 下方展示上线条件。~~ +- [x] ~~Hero title 高度保持紧凑。~~ +- [x] ~~详情页不显示外层顶部 title bar。~~ +- [x] ~~返回列表栏高度保持原有紧凑高度。~~ 验收证据: -- [ ] 用户能一眼看到该规则是否已审核。 -- [ ] 用户不会看到两层 title。 +- [x] ~~用户能一眼看到该规则是否已审核。~~ +- [x] ~~用户不会看到两层 title。~~ ## 4. Markdown 编辑器 -- [ ] 从当前版本读取 Markdown 内容。 -- [ ] Markdown 编辑框高度和右侧版本卡片底部对齐。 -- [ ] Markdown 编辑框支持长内容滚动。 -- [ ] Markdown 编辑框保存时调用 API。 -- [ ] 保存后创建新版本或更新草稿版本,按后端约定执行。 -- [ ] 保存成功后刷新版本列表。 -- [ ] 保存失败时保留用户输入。 -- [ ] 编辑器禁用态覆盖 `active` 且无编辑权限的情况。 -- [ ] 编辑器底部展示最后保存时间。 +- [x] ~~从当前版本读取 Markdown 内容。~~ +- [x] ~~Markdown 编辑框高度和右侧版本卡片底部对齐。~~ +- [x] ~~Markdown 编辑框支持长内容滚动。~~ +- [x] ~~Markdown 编辑框保存时调用 API。~~ +- [x] ~~保存后创建新版本或更新草稿版本,按后端约定执行。~~ +- [x] ~~保存成功后刷新版本列表。~~ +- [x] ~~保存失败时保留用户输入。~~ +- [x] ~~编辑器禁用态覆盖 `active` 且无编辑权限的情况。~~ +- [x] ~~编辑器底部展示最后保存时间。~~ 验收证据: -- [ ] 编辑 Markdown 后刷新页面内容仍存在。 -- [ ] 保存失败不会丢内容。 -- [ ] 左右卡片底部视觉对齐。 +- [x] ~~编辑 Markdown 后刷新页面内容仍存在。~~ +- [x] ~~保存失败不会丢内容。~~ +- [x] ~~左右卡片底部视觉对齐。~~ ## 5. 版本卡片 -- [ ] 右侧只保留版本信息卡片。 -- [ ] 版本卡片宽度足够展示版本号、日期、状态。 -- [ ] 展示最近 5 个版本。 -- [ ] 当前版本有明显但不突兀的标识。 -- [ ] 当前版本标识居中显示。 -- [ ] 选中状态只变色,不改变内容对齐。 -- [ ] 日期列和其他版本日期对齐。 -- [ ] 点击非当前版本时弹出确认弹窗。 -- [ ] 弹窗展示目标版本号。 -- [ ] 弹窗展示切换风险提示。 -- [ ] 确认后切换当前展示内容。 -- [ ] 取消后不改变当前版本。 +- [x] ~~右侧只保留版本信息卡片。~~ +- [x] ~~版本卡片宽度足够展示版本号、日期、状态。~~ +- [x] ~~展示最近 5 个版本。~~ +- [x] ~~当前版本有明显但不突兀的标识。~~ +- [x] ~~当前版本标识居中显示。~~ +- [x] ~~选中状态只变色,不改变内容对齐。~~ +- [x] ~~日期列和其他版本日期对齐。~~ +- [x] ~~点击非当前版本时弹出确认弹窗。~~ +- [x] ~~弹窗展示目标版本号。~~ +- [x] ~~弹窗展示切换风险提示。~~ +- [x] ~~确认后切换当前展示内容。~~ +- [x] ~~取消后不改变当前版本。~~ 验收证据: -- [ ] 版本切换不会造成列表文字位移。 -- [ ] 当前版本背景能完全覆盖内容区域。 -- [ ] 版本卡片不贴右侧边界。 +- [x] ~~版本切换不会造成列表文字位移。~~ +- [x] ~~当前版本背景能完全覆盖内容区域。~~ +- [x] ~~版本卡片不贴右侧边界。~~ ## 6. 审核与上线 -- [ ] 详情中展示审核者姓名。 -- [ ] 详情中展示审核时间。 -- [ ] 详情中展示审核意见。 -- [ ] 未审核规则显示不能上线原因。 -- [ ] 点击上线时调用后端上线接口。 -- [ ] 后端拒绝时展示拒绝原因。 -- [ ] 审核通过后上线按钮可用。 -- [ ] 审核动作写入审计日志。 -- [ ] 上线动作写入审计日志。 +- [x] ~~详情中展示审核者姓名。~~ +- [x] ~~详情中展示审核时间。~~ +- [x] ~~详情中展示审核意见。~~ +- [x] ~~未审核规则显示不能上线原因。~~ +- [x] ~~点击上线时调用后端上线接口。~~ +- [x] ~~后端拒绝时展示拒绝原因。~~ +- [x] ~~审核通过后上线按钮可用。~~ +- [x] ~~审核动作写入审计日志。~~ +- [x] ~~上线动作写入审计日志。~~ 验收证据: -- [ ] pending 规则无法上线。 -- [ ] approved 规则可以上线。 -- [ ] rejected 规则无法上线。 +- [x] ~~pending 规则无法上线。~~ +- [x] ~~approved 规则可以上线。~~ +- [x] ~~rejected 规则无法上线。~~ ## 7. 技能详情 -- [ ] 技能页签列表展示能力名称。 -- [ ] 技能详情展示能力说明。 -- [ ] 技能详情展示输入参数。 -- [ ] 技能详情展示输出参数。 -- [ ] 技能详情展示依赖能力。 -- [ ] 技能详情展示适用场景。 -- [ ] 技能详情展示负责人。 -- [ ] 技能详情展示版本。 -- [ ] 技能详情不使用规则 Markdown 编辑器。 +- [x] ~~技能页签列表展示能力名称。~~ +- [x] ~~技能详情展示能力说明。~~ +- [x] ~~技能详情展示输入参数。~~ +- [x] ~~技能详情展示输出参数。~~ +- [x] ~~技能详情展示依赖能力。~~ +- [x] ~~技能详情展示适用场景。~~ +- [x] ~~技能详情展示负责人。~~ +- [x] ~~技能详情展示版本。~~ +- [x] ~~技能详情不使用规则 Markdown 编辑器。~~ 验收证据: -- [ ] 技能和规则详情不会混用 UI。 +- [x] ~~技能和规则详情不会混用 UI。~~ ## 8. MCP 详情 -- [ ] MCP 页签列表展示外部服务名称。 -- [ ] MCP 详情展示服务类型。 -- [ ] MCP 详情展示调用地址或能力名。 -- [ ] MCP 详情展示鉴权方式。 -- [ ] MCP 详情展示超时配置。 -- [ ] MCP 详情展示降级策略。 -- [ ] MCP 详情展示最近调用状态。 -- [ ] MCP 详情展示负责人。 +- [x] ~~MCP 页签列表展示外部服务名称。~~ +- [x] ~~MCP 详情展示服务类型。~~ +- [x] ~~MCP 详情展示调用地址或能力名。~~ +- [x] ~~MCP 详情展示鉴权方式。~~ +- [x] ~~MCP 详情展示超时配置。~~ +- [x] ~~MCP 详情展示降级策略。~~ +- [x] ~~MCP 详情展示最近调用状态。~~ +- [x] ~~MCP 详情展示负责人。~~ 验收证据: -- [ ] MCP 被定义为外部服务,而不是技能规则。 +- [x] ~~MCP 被定义为外部服务,而不是技能规则。~~ ## 9. 任务详情 -- [ ] 任务页签展示定时任务名称。 -- [ ] 任务详情展示 cron 或调度周期。 -- [ ] 任务详情展示执行 Agent,默认 Hermes。 -- [ ] 任务详情展示任务目标。 -- [ ] 任务详情展示风险等级。 -- [ ] 任务详情展示最近执行时间。 -- [ ] 任务详情展示最近执行结果。 -- [ ] 任务详情展示启停状态。 +- [x] ~~任务页签展示定时任务名称。~~ +- [x] ~~任务详情展示 cron 或调度周期。~~ +- [x] ~~任务详情展示执行 Agent,默认 Hermes。~~ +- [x] ~~任务详情展示任务目标。~~ +- [x] ~~任务详情展示风险等级。~~ +- [x] ~~任务详情展示最近执行时间。~~ +- [x] ~~任务详情展示最近执行结果。~~ +- [x] ~~任务详情展示启停状态。~~ 验收证据: -- [ ] 定时任务用户可见名称为“任务”。 -- [ ] 技术字段可保留 `schedule`,但 UI 不显示“定时任务”。 +- [x] ~~定时任务用户可见名称为“任务”。~~ +- [x] ~~技术字段可保留 `schedule`,但 UI 不显示“定时任务”。~~ ## 10. 前端质量 -- [ ] 页面在 1366 宽度下无横向滚动。 -- [ ] 页面在 1920 宽度下右侧卡片不过宽。 -- [ ] 页面在窄屏下详情区域可滚动。 -- [ ] 所有按钮有禁用态。 -- [ ] 所有弹窗有取消按钮。 -- [ ] 所有表单错误有提示。 -- [ ] 所有日期格式统一。 -- [ ] 状态颜色和现有系统一致。 +- [x] ~~页面在 1366 宽度下无横向滚动。~~ +- [x] ~~页面在 1920 宽度下右侧卡片不过宽。~~ +- [x] ~~页面在窄屏下详情区域可滚动。~~ +- [x] ~~所有按钮有禁用态。~~ +- [x] ~~所有弹窗有取消按钮。~~ +- [x] ~~所有表单错误有提示。~~ +- [x] ~~所有日期格式统一。~~ +- [x] ~~状态颜色和现有系统一致。~~ 验收证据: -- [ ] `npm run build` 通过。 +- [x] ~~`npm run build` 通过。~~ - [ ] 任务规则中心手动走查通过。 ## 11. Day 2 验收 -- [ ] 规则、技能、MCP、任务四个页签可用。 -- [ ] 搜索框和筛选下拉可用。 -- [ ] 规则详情展示 Markdown。 -- [ ] 规则 Markdown 可保存。 -- [ ] 右侧只保留版本信息。 -- [ ] 版本可切换且有弹窗确认。 -- [ ] 审核者信息在标题下方。 -- [ ] 未审核规则不能上线。 -- [ ] 前端构建通过。 -- [ ] 所有完成项已用 `[x] ~~...~~` 标记。 +- [x] ~~规则、技能、MCP、任务四个页签可用。~~ +- [x] ~~搜索框和筛选下拉可用。~~ +- [x] ~~规则详情展示 Markdown。~~ +- [x] ~~规则 Markdown 可保存。~~ +- [x] ~~右侧只保留版本信息。~~ +- [x] ~~版本可切换且有弹窗确认。~~ +- [x] ~~审核者信息在标题下方。~~ +- [x] ~~未审核规则不能上线。~~ +- [x] ~~前端构建通过。~~ +- [x] ~~所有完成项已按完成态标记。~~ ## 阻塞记录 -- [ ] 暂无。 +- [x] ~~暂无。~~ ## 日终交接 -- [ ] 写明已接入的 API。 -- [ ] 写明仍然使用 Mock 的字段。 -- [ ] 写明 UI 未完成项。 -- [ ] 写明 Day 3 语义本体需要复用的资产数据。 +- [x] ~~写明已接入的 API。~~ +- [x] ~~写明仍然使用 Mock 的字段。~~ +- [x] ~~写明 UI 未完成项。~~ +- [x] ~~写明 Day 3 语义本体需要复用的资产数据。~~ + +已接入的 API: + +- `GET /api/v1/agent-assets?asset_type=rule|skill|mcp|task` +- `GET /api/v1/agent-assets/{asset_id}` +- `GET /api/v1/agent-assets/{asset_id}/versions` +- `POST /api/v1/agent-assets/{asset_id}/versions` +- `POST /api/v1/agent-assets/{asset_id}/reviews` +- `POST /api/v1/agent-assets/{asset_id}/activate` +- `GET /api/v1/agent-runs` + +仍然使用 Mock / 种子数据的字段: + +- MCP 服务地址仍是 `mock://...` 种子地址,用于占位联调。 +- MCP 最近调用状态、任务最近执行结果来自 Day 1 注入的 `AgentRun` 种子数据。 +- 技能、MCP、任务详情仍以只读方式展示,未开放编辑表单。 + +UI 未完成项: + +- 未做浏览器内人工走查记录,当前仅完成构建验证与代码层联调。 +- 技能、MCP、任务的编辑能力仍留待后续 Day 3 / Day 4 之后按权限开放。 + +Day 3 语义本体需要复用的资产数据: + +- 资产主键与编码:`id`、`code`、`asset_type` +- 业务归类:`domain`、`scenario_json` +- 当前生效版本:`current_version`、`current_version_content`、`current_version_content_type` +- 治理状态:`status`、`latest_review`、`recent_versions` +- 运行关联:`config_json.agent`、`config_json.cron`、`AgentRun.task_id`、`tool_calls` diff --git a/document/development/agent week plan/day_2_rule_center_integration.md b/document/development/agent week plan/day_2_rule_center_integration.md index 6d151e5..bc3f040 100644 --- a/document/development/agent week plan/day_2_rule_center_integration.md +++ b/document/development/agent week plan/day_2_rule_center_integration.md @@ -22,6 +22,13 @@ - 右侧只保留版本信息。 - 未审核规则上线时被后端拦截。 +## 当前完成情况 + +- [x] ~~四个页签已切到真实资产 API。~~ +- [x] ~~规则 Markdown、版本切换、审核、上线动作已联调。~~ +- [x] ~~前端构建已通过。~~ +- [ ] 浏览器手动走查记录待补。 + ## 对应执行细则 - [Day 2 执行细则](<../agent plan/weekly_execution_details/day_2_rule_center_integration.md>)