Files
X-Financial/document/development/agent/agent week plan/day_2_rule_center_integration.md
2026-05-15 06:58:21 +00:00

10 KiB
Raw Blame History

Day 2任务规则中心联调

今天的大开发点

把任务规则中心从静态页面改成可和后端资产体系联动的生产形态。

重点是规则、技能、MCP、任务四类资产的列表和详情以及规则 Markdown、版本、审核、上线约束。

为什么第二天做这个

任务规则中心是业务人员管理 Agent 能力的入口。后续语义本体、Orchestrator、User Agent、Hermes 都要读取这里注册的规则、技能、MCP 和任务。

今天主要交付

  • 规则、技能、MCP、任务四个页签对接资产 API。
  • 列表支持搜索、筛选、状态展示。
  • 规则详情展示 Markdown 内容。
  • 管理员可编辑规则 Markdown。
  • 规则版本展示最近 5 个版本。
  • 版本切换需要弹窗确认。
  • 审核者信息放在标题区域。
  • 右侧只保留版本信息。
  • 未审核规则上线时被后端拦截。

当前完成情况

  • 四个页签已切到真实资产 API。
  • 规则 Markdown、版本切换、审核、上线动作已联调。
  • 前端构建已通过。
  • 浏览器手动走查记录待补。

相关架构文档:

当天验收门槛

  • 四个页签可切换并有真实 API 或 Mock API 数据。
  • 规则详情可编辑 Markdown。
  • Markdown 保存后刷新不丢失。
  • 版本卡片可切换版本。
  • 未审核规则不能上线。
  • 前端构建通过。

今天不做

  • 不做规则自动生成。
  • 不做完整 MCP 真实调用。
  • 不做复杂权限矩阵。
  • 不重做 UI 风格,只在现有风格上微调。

详细执行清单

以下内容为合并后的详细执行清单。

0. 开始前检查

  • 确认 Day 1 API 已可访问。
  • 确认前端任务规则中心文件位置。
  • 确认现有路由名称和导航名称。
  • 确认现有 UI 风格,不重新做大改版。
  • 确认当前页面已有页签规则、技能、MCP、任务。
  • 确认详情页隐藏顶部 title bar 的逻辑仍然有效。
  • 确认返回列表栏高度没有被重新拉高。

1. API Client

  • 新增或扩展资产列表请求函数。
  • 新增资产详情请求函数。
  • 新增版本列表请求函数。
  • 新增规则 Markdown 保存请求函数。
  • 新增审核请求函数。
  • 新增上线请求函数。
  • 新增运行日志请求函数。
  • 给所有请求增加加载态。
  • 给所有请求增加错误态。
  • 给所有写请求增加成功提示。

验收证据:

  • 前端不再只依赖本地硬编码资产数据。
  • 后端不可用时页面有明确错误提示。

2. 列表页数据接入

  • 规则页签请求 asset_type=rule
  • 技能页签请求 asset_type=skill
  • MCP 页签请求 asset_type=mcp
  • 任务页签请求 asset_type=task
  • 搜索框传递关键词或本地过滤。
  • 类型下拉和搜索框可以同时生效。
  • 状态筛选可以过滤 draft | review | active | disabled
  • 列表卡片展示名称。
  • 列表卡片展示摘要。
  • 列表卡片展示状态。
  • 列表卡片展示负责人。
  • 列表卡片展示最近更新时间。
  • 空数据时展示空态。
  • 加载中时展示骨架或加载状态。

验收证据:

  • 四个页签都能切换。
  • 四个页签都有数据或空态。
  • 搜索和筛选不会互相覆盖。

3. 规则详情页主信息

  • 打开规则资产时请求详情 API。
  • Hero title 展示规则名称。
  • Hero title 下方展示审核者。
  • Hero title 下方展示审核状态。
  • Hero title 下方展示上线条件。
  • Hero title 高度保持紧凑。
  • 详情页不显示外层顶部 title bar。
  • 返回列表栏高度保持原有紧凑高度。

验收证据:

  • 用户能一眼看到该规则是否已审核。
  • 用户不会看到两层 title。

4. Markdown 编辑器

  • 从当前版本读取 Markdown 内容。
  • Markdown 编辑框高度和右侧版本卡片底部对齐。
  • Markdown 编辑框支持长内容滚动。
  • Markdown 编辑框保存时调用 API。
  • 保存后创建新版本或更新草稿版本,按后端约定执行。
  • 保存成功后刷新版本列表。
  • 保存失败时保留用户输入。
  • 编辑器禁用态覆盖 active 且无编辑权限的情况。
  • 编辑器底部展示最后保存时间。

验收证据:

  • 编辑 Markdown 后刷新页面内容仍存在。
  • 保存失败不会丢内容。
  • 左右卡片底部视觉对齐。

5. 版本卡片

  • 右侧只保留版本信息卡片。
  • 版本卡片宽度足够展示版本号、日期、状态。
  • 展示最近 5 个版本。
  • 当前版本有明显但不突兀的标识。
  • 当前版本标识居中显示。
  • 选中状态只变色,不改变内容对齐。
  • 日期列和其他版本日期对齐。
  • 点击非当前版本时弹出确认弹窗。
  • 弹窗展示目标版本号。
  • 弹窗展示切换风险提示。
  • 确认后切换当前展示内容。
  • 取消后不改变当前版本。

验收证据:

  • 版本切换不会造成列表文字位移。
  • 当前版本背景能完全覆盖内容区域。
  • 版本卡片不贴右侧边界。

6. 审核与上线

  • 详情中展示审核者姓名。
  • 详情中展示审核时间。
  • 详情中展示审核意见。
  • 未审核规则显示不能上线原因。
  • 点击上线时调用后端上线接口。
  • 后端拒绝时展示拒绝原因。
  • 审核通过后上线按钮可用。
  • 审核动作写入审计日志。
  • 上线动作写入审计日志。

验收证据:

  • pending 规则无法上线。
  • approved 规则可以上线。
  • rejected 规则无法上线。

7. 技能详情

  • 技能页签列表展示能力名称。
  • 技能详情展示能力说明。
  • 技能详情展示输入参数。
  • 技能详情展示输出参数。
  • 技能详情展示依赖能力。
  • 技能详情展示适用场景。
  • 技能详情展示负责人。
  • 技能详情展示版本。
  • 技能详情不使用规则 Markdown 编辑器。

验收证据:

  • 技能和规则详情不会混用 UI。

8. MCP 详情

  • MCP 页签列表展示外部服务名称。
  • MCP 详情展示服务类型。
  • MCP 详情展示调用地址或能力名。
  • MCP 详情展示鉴权方式。
  • MCP 详情展示超时配置。
  • MCP 详情展示降级策略。
  • MCP 详情展示最近调用状态。
  • MCP 详情展示负责人。

验收证据:

  • MCP 被定义为外部服务,而不是技能规则。

9. 任务详情

  • 任务页签展示定时任务名称。
  • 任务详情展示 cron 或调度周期。
  • 任务详情展示执行 Agent默认 Hermes。
  • 任务详情展示任务目标。
  • 任务详情展示风险等级。
  • 任务详情展示最近执行时间。
  • 任务详情展示最近执行结果。
  • 任务详情展示启停状态。

验收证据:

  • 定时任务用户可见名称为“任务”。
  • 技术字段可保留 schedule,但 UI 不显示“定时任务”。

10. 前端质量

  • 页面在 1366 宽度下无横向滚动。
  • 页面在 1920 宽度下右侧卡片不过宽。
  • 页面在窄屏下详情区域可滚动。
  • 所有按钮有禁用态。
  • 所有弹窗有取消按钮。
  • 所有表单错误有提示。
  • 所有日期格式统一。
  • 状态颜色和现有系统一致。

验收证据:

  • npm run build 通过。
  • 任务规则中心手动走查通过。

11. Day 2 验收

  • 规则、技能、MCP、任务四个页签可用。
  • 搜索框和筛选下拉可用。
  • 规则详情展示 Markdown。
  • 规则 Markdown 可保存。
  • 右侧只保留版本信息。
  • 版本可切换且有弹窗确认。
  • 审核者信息在标题下方。
  • 未审核规则不能上线。
  • 前端构建通过。
  • 所有完成项已按完成态标记。

阻塞记录

  • 暂无。

日终交接

  • 写明已接入的 API。
  • 写明仍然使用 Mock 的字段。
  • 写明 UI 未完成项。
  • 写明 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 语义本体需要复用的资产数据:

  • 资产主键与编码:idcodeasset_type
  • 业务归类:domainscenario_json
  • 当前生效版本:current_versioncurrent_version_contentcurrent_version_content_type
  • 治理状态:statuslatest_reviewrecent_versions
  • 运行关联:config_json.agentconfig_json.cronAgentRun.task_idtool_calls