10 KiB
10 KiB
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|taskGET /api/v1/agent-assets/{asset_id}GET /api/v1/agent-assets/{asset_id}/versionsPOST /api/v1/agent-assets/{asset_id}/versionsPOST /api/v1/agent-assets/{asset_id}/reviewsPOST /api/v1/agent-assets/{asset_id}/activateGET /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