Agent 任务系统 v2.1 产品需求文档(PRD)

项 内容
文档版本 v2.1
产出时间 2026-04-24
产品形态 Web 管理后台(Next.js 14 + NestJS + PostgreSQL)
文档来源 基于高保真原型 agent_task_system_merged.html 反向拆解
说明 本文档按模块编写 PRD,每个模块包含:页面目标、页面结构、数据字段、按钮级操作细节、表单字段、交互规则、提示反馈

一、产品概述

1.1 产品定位

企业级 Agent 任务自动化平台,提供基于角色权限的 Skill 调度与管理能力,支持龙虾 Agent + 脚本引擎双执行器架构。

1.2 核心能力

1.3 默认账号


二、系统模块总览

编号 模块名 分组 核心职责
01 登录页 入口 账号密码 + 验证码登录
02 仪表盘 首页 系统运行概览、快捷入口、实时数据
03 组织架构 权限管理 公司/部门/小组三级树
04 角色管理 权限管理 部门级角色 + 四维权限配置
05 用户管理 权限管理 用户 CRUD、多角色绑定、跨部门授权
12 菜单管理 权限管理 菜单树 + 按钮权限维护
06 产品管理 产品管理 产品 CRUD、渠道码绑定、批量导入
07 渠道码管理 产品管理 内导/自然渠道码独立管理、产品绑定
13 平台套件 产品管理 平台 + 产品代号两级关系维护
08 平台产品账号 平台账号 用户自管平台登录凭据、连通测试
09 Skill 管理 Skill 中心 双执行器 Skill 注册、参数映射、测试
14 Skill 调用日志 Skill 中心 历史调用审计、详情与日志回放
10 任务创建 任务中心 四步向导:Skill → 产品 → 参数 → 确认
11 任务列表 任务中心 任务检索、取消、重试、详情查看
15 操作日志 日志 系统增删改 + 登录审计
16 统计报表 日志 多维度可视化统计
17 执行器配置 系统设置 龙虾/脚本执行器节点配置
18 脚本模板管理 系统设置 Python/Node/Shell 模板库
19 定时任务 系统设置 Cron 调度、执行记录、手动触发

三、全局业务规则(RB)

编号 规则 说明
RB-01 角色归属部门 角色分"全局角色"与"部门级角色",部门级角色仅在所属部门内可选
RB-02 用户多角色取并集 用户可绑定多个角色,有效权限 = ∪ 所有角色的权限
RB-03 密码规则 至少 6 位;重置后原 Token 失效
RB-04 删除用户级联 用户删除后,角色绑定与平台产品账号一并清除
RB-06 菜单权限 角色的菜单权限决定左侧导航可见项
RB-07 Skill 权限并集 任务创建仅展示当前用户所有角色 skill_scope 的并集
RB-08 部门切换清空角色 用户切换部门时自动清空已选角色(避免权限跨部门带入)
RB-09 渠道码必填 新建产品时 内导渠道码 与 自然渠道码 均必填
RB-12 产品范围交集校验 任务可选产品 = Skill.product_scope ∩ 用户角色.data_scope
RB-13 执行器类型二选一 Skill 的执行器 = 龙虾 Agent 或 脚本模板(互斥);执行器配置仅超级管理员可改

四、全局交互规范

4.1 Toast 反馈

4.2 Modal 弹窗

4.3 表格通用

4.4 权限与可见性


五、模块 PRD 详情


01. 登录页

1.1 页面目标

通过账号密码(+ 验证码)验证用户身份,登录成功后签发 JWT Token 并跳转仪表盘。

1.2 页面结构

区块 内容
左侧品牌区 产品名 🤖 Agent任务系统、Slogan、4 条核心特性
右侧登录表单 标题、欢迎语、用户名 / 密码 / 验证码输入、选项栏、登录按钮、页脚
Toast 反馈区 右上角,登录结果提示

1.3 表单字段

字段 类型 必填 默认 校验
用户名 / 邮箱 text 是 admin 非空,否则显示"请输入用户名"
密码 password 是 admin123 非空,否则显示"请输入密码"
验证码 text(4 位) 否(前端未强制) 空 最多 4 位
记住登录 checkbox 否 已勾选 —

1.4 操作细节

位置 按钮 行为 条件 二次确认
验证码图片 A7X2 验证码图 点击刷新验证码(随机生成 4 位大写字母数字,排除易混字符) 始终可用 无
选项栏 忘记密码? Toast:请联系管理员重置密码 始终可用 无
表单页脚 登 录 1. 前端校验用户名/密码非空;2. 置 disabled + loading;3. 1.5s 后:若 admin/admin123 → Toast ✅ 登录成功!正在跳转... + 1s 后 postMessage('login-success') 通知父容器;否则 → Toast ❌ 用户名或密码错误 + 刷新验证码 校验通过后 无

1.5 交互规则


02. 仪表盘(首页)

2.1 页面目标

系统运行概览 + 实时数据统计 + 快捷入口,提供用户日常首屏视图。

2.2 页面结构

  1. 面包屑 + 用户信息 顶栏
  2. 快捷入口区:4 个方块(创建任务 / 管理 Skill / 平台账号 / 任务列表)
  3. 今日指标卡:6 张卡(今日任务总数 / 成功 / 失败 / 运行中 / 活跃用户 / 已注册 Skill)
  4. 图表行 1:最近 7 天任务趋势(柱状图)+ 执行器分布(环形 Legend)
  5. 图表行 2:热门 Skill Top 5 + 部门任务统计(进度条)
  6. 最新任务动态:任务列表(8 行,ID / Skill / 执行器 / 产品 / 创建人 / 状态 / 耗时 / 时间)
  7. 系统状态:4 组(龙虾 / 脚本引擎 / 数据库 / 消息队列)

2.3 操作细节

位置 按钮 行为 条件 二次确认
快捷入口 ⚡ 创建任务 跳转"10. 任务创建" 始终 无
快捷入口 🧩 管理 Skill 跳转"09. Skill 管理" 始终 无
快捷入口 🔗 平台账号 跳转"08. 平台产品账号" 始终 无
快捷入口 📋 任务列表 跳转"11. 任务列表" 始终 无
最新任务动态 查看全部 → 跳转"11. 任务列表" 始终 无
图表柱子 柱子 hover 高亮对应柱子并展示数值 鼠标悬停 无

2.4 交互规则

2.5 提示反馈


03. 组织架构

3.1 页面目标

维护 公司 → 部门 → 小组 三级树形结构,部门节点挂载角色与成员。

3.2 页面结构

  1. 左栏 · 组织树:搜索框 + 树(含展开/收起、当前选中高亮、新增按钮)
  2. 右栏 · 详情面板:组织信息(类型 / 成员数 / 下辖组数 / 负责人 / 状态 / 创建时间)+ 编辑/删除按钮
  3. 部门角色列表:角色名称 / 角色编码 / 成员数 / Skill 数 / 状态
  4. 部门成员列表:姓名 / 工号 / 所属小组 / 角色 / 入职日期 / 状态 + 导出按钮
  5. 弹窗:新增/编辑组织、确认删除

3.3 数据字段

3.4 操作细节

位置 按钮 行为 条件 二次确认
组织树卡头 + 新增 打开 新增组织 弹窗 始终 无
树节点 ▼/▶ 折叠符 toggleTree() 切换子节点展开/折叠 节点有子项 无
树节点 节点行 selectOrg() 选中该节点、更新右侧详情面板(类型/成员/下辖组/徽章) 始终 无
详情面板 编辑 打开 编辑组织 弹窗(标题动态) 始终 无
详情面板 删除 打开 ⚠️ 确认删除 弹窗 始终 有
成员列表 导出 导出当前部门成员(CSV) 始终 无
删除弹窗 确认删除 Toast 已删除,关闭弹窗;子部门/人员自动移至上级 始终 —
新增/编辑弹窗 保存 Toast 保存成功,关闭 校验通过 无
新增/编辑弹窗 取消 / ✕ 关闭不保存 始终 无

3.5 表单字段(新增/编辑组织弹窗)

字段 类型 必填 默认 选项 备注
上级组织 select 否 星辰科技有限公司 公司/部门下拉 根节点无上级
组织名称 input 是 — — 非空
组织类型 select 是 — 公司 / 部门 / 小组 必选
负责人 select 否 — 用户列表 —
排序号 number 否 0 — —
状态 select 否 启用 启用 / 禁用 —
备注 textarea(2 行) 否 — — —

3.6 交互规则


04. 角色管理

4.1 页面目标

部门级角色管理,通过 4 个维度配置权限(菜单 + 产品范围 + Skill + 平台账号),支持多角色并集。

4.2 页面结构

  1. 筛选栏:搜索框(角色名/编码)+ 部门下拉 + 状态下拉 + + 新增角色 按钮
  2. 角色列表:表格 10 列(含批量 checkbox)
  3. 新增/编辑弹窗:4 个 Tab
  4. 业务规则说明卡:RB-01 ~ RB-06

4.3 列表字段

复选框、角色名称、角色编码、所属部门、菜单权限(X 项/全部)、产品范围(X 个/全部)、Skill 数、平台账号(X 个/全部)、成员数、状态、操作

4.4 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 + 新增角色 打开弹窗,标题 新增角色、表单清空 始终 无
列表行 编辑 打开弹窗,标题 编辑角色 — {名},回填 每行 无
列表行 删除 删除(超级管理员行隐藏此按钮) 每行(非 super_admin) —
弹窗 Tab 📋 菜单权限 / 📦 产品范围 / 🧩 Skill 权限 / 🔗 平台账号 switchRoleTab(i) 切换 弹窗打开时 无
菜单权限 Tab 全选 checkbox 级联选中所有子菜单 始终 无
弹窗 取消 / ✕ 关闭 始终 无
弹窗 保存 Toast 保存成功、关闭 必填校验通过 无
表头 全选 checkbox 批量勾选所有行 始终 无

4.5 表单字段(弹窗)

基本信息(表单顶部,非 Tab 内)

字段 类型 必填 选项
角色名称 input 是 —
角色编码 input 是 唯一
所属部门 select 是 投放部 / 运营部 / 技术部 / 产品部
状态 select 否 启用 / 禁用
描述 textarea 否 —

Tab 0 菜单权限:菜单树 + 全选 checkbox,一级包含:首页、权限管理、产品管理、Skill 中心、任务中心。

Tab 1 产品范围:多选 checkbox,选项 ProductA ~ ProductD。

Tab 2 Skill 权限:多选 checkbox,选项:竞品分析 Agent、数据采集脚本、素材生成 Agent、评论监控脚本、投放优化 Agent、价格监控 Agent。

Tab 3 平台账号:表格(平台 / 账号 / 状态 / 绑定 checkbox)。

4.6 提示反馈


05. 用户管理

5.1 页面目标

用户 CRUD、部门-角色联动、跨组协作的额外产品授权、多角色绑定。

5.2 页面结构

  1. 筛选栏:搜索框 + 部门/角色/状态下拉 + 导出 + + 新增用户
  2. 用户列表:表格(复选框、用户名、工号、所属部门/分组、角色、平台产品账号数、额外授权数、状态、创建时间、操作)
  3. 新增/编辑用户弹窗
  4. 重置密码弹窗 / 删除确认弹窗
  5. 业务规则说明:RB-02、RB-03、RB-04、RB-08

5.3 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 导出 导出用户列表(CSV) 始终 无
筛选栏 + 新增用户 打开新增弹窗(清空) 始终 无
列表行 编辑 打开编辑弹窗(回填) 每行 无
列表行 重置密码 打开重置密码弹窗 每行 是(弹窗内)
列表行 删除 打开删除确认弹窗 每行 是(弹窗内)
表头 全选 checkbox 批量选中所有行 始终 无
编辑弹窗·部门 select change onDeptChange():清空已选角色、刷新角色列表、Toast ⚠️ 已切换部门,角色已清空(RB-08) 切换部门 —
编辑弹窗·角色 多选框 展开下拉,勾选/取消角色 已选部门 无
编辑弹窗 + 添加授权 addGrant() 追加一行(产品 select + 有效期 date + 删除按钮) 始终 无
编辑弹窗·授权行 删除 移除该授权行 行存在 无
编辑弹窗 取消 关闭 始终 无
编辑弹窗 保存 校验后 Toast ✅ 保存成功 必填通过 无
重置密码弹窗 确认重置 Toast ✅ 密码已重置;原 Token 失效 两次密码一致 —
删除确认弹窗 确认删除 Toast ✅ 已删除;级联清除角色绑定与账号 始终 —

5.4 表单字段(新增/编辑)

字段 类型 必填 默认 说明
用户名 input 是 — 唯一
密码 password 是(新增时) — 至少 6 位(RB-03)
邮箱 email 否 — 格式校验
手机号 tel 否 — 格式校验
所属部门 select 是 — tf/yy/tech/pm
状态 select 否 启用 启用 / 禁用
绑定角色 multi-select 是 — 根据部门动态加载,至少选 1 个
额外产品授权 动态行(产品 select + 有效期 date) 否 空 跨部门/小组协作用(RB-02 并集)

部门-角色联动字典: - tf(投放部)→ 投放主管、投放专员、数据分析师 - yy(运营部)→ 运营主管、运营专员 - tech(技术部)→ 开发工程师、运维工程师、测试工程师 - pm(产品部)→ 产品经理、UI 设计师

5.5 提示反馈


06. 产品管理

6.1 页面目标

产品 CRUD、渠道码(内导/自然)必填绑定、CSV 批量导入、多维筛选。

6.2 页面结构

  1. 统计卡:产品总数 / 启用中 / 已禁用 / 平台数
  2. 筛选栏:搜索 + 平台/部门/状态下拉 + 导出 + 📤 导入 + + 新增产品
  3. 产品列表:8 列 + 操作
  4. 新增/编辑弹窗 / 批量导入弹窗 / 删除确认弹窗

6.3 列表字段

复选框、产品名称、产品代号(唯一)、平台、部门/小组、内导渠道码(如 IC001)、自然渠道码(如 NC001)、负责人、状态

6.4 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 导出 Toast 📥 导出成功 始终 无
筛选栏 📤 导入 打开 批量导入产品 弹窗 始终 无
筛选栏 + 新增产品 打开新增弹窗 始终 无
列表行 编辑 / 删除 同模式 每行 删除是
导入弹窗 上传区 fileInput.click() 触发文件选择 始终 无
导入弹窗 清除文件 清空已选文件,禁用 开始导入 文件已选 无
导入弹窗 📥 下载导入模板 Toast 📥 模板已下载 始终 无
导入弹窗 开始导入 Toast ✅ 成功导入 21 条,覆盖 2 条 文件已选 无
导入弹窗 取消 关闭 始终 无
新增/编辑弹窗 保存 校验渠道码必填(RB-09),Toast ✅ 保存成功 校验通过 无

6.5 表单字段

字段 类型 必填 选项
产品名称 input 是 —
产品代号 input 是(唯一) —
所属平台 select 是 小红书 / 抖音 / 微信公众号 / 微博 / Facebook / TikTok
所属部门 select 是 投放部 / 运营部 / 技术部
所属小组 select 否 投放一/二组、内容运营组 等
负责人 select 否 用户列表
内导渠道码 input 是(RB-09) 唯一
自然渠道码 input 是(RB-09) 唯一
状态 select 否 启用 / 禁用

6.6 提示反馈


07. 渠道码管理

7.1 页面目标

按 Tab 分别管理 内导渠道码 与 自然渠道码,支持与产品的双向绑定。

7.2 页面结构

  1. 统计卡:渠道码总数 / 内导数 / 自然数 / 关联产品数
  2. Tab:内导渠道码 | 自然渠道码(互斥显示)
  3. 每个 Tab 内:搜索 + 状态下拉 + + 新增 {类型} 渠道码 + 列表
  4. 新增/编辑渠道码弹窗 / 绑定产品弹窗 / 删除确认弹窗

7.3 列表字段

渠道码(IC001 代码样式)、渠道名称、类型(内导/自然)、关联产品数、状态、创建时间、操作(编辑 / 绑定 / 删除)

7.4 操作细节

位置 按钮 行为 条件 二次确认
Tab 内导 / 自然 switchTab(i) 切换列表 始终 无
Tab 头 + 新增内导/自然渠道码 打开新增弹窗(type 预设) 始终 无
列表行 编辑 / 绑定 / 删除 分别打开对应弹窗 每行 删除是
绑定弹窗 解绑(每行) 移除该产品绑定,Toast 已解绑 存在绑定 无
绑定弹窗 绑定 将下拉选中产品加入已绑定列表,Toast ✅ 绑定成功 选中产品 无
绑定弹窗 关闭 关闭 始终 无

7.5 表单字段(新增/编辑)

字段 类型 必填 选项
渠道码 input 是(唯一) —
渠道名称 input 是 —
渠道类型 select 是 内导(internal)/ 自然(natural)
状态 select 否 启用 / 禁用
备注 input 否 —

7.6 提示反馈


08. 平台产品账号

8.1 页面目标

v2.1 变更:平台产品账号归属 用户(非角色),由用户自行维护各平台登录凭据,支持连通测试。

8.2 页面结构

  1. 变更说明条(顶部 note)
  2. 统计卡:我的账号总数 / 启用中 / 已禁用 / 覆盖平台
  3. 筛选栏:搜索 + 平台/状态下拉 + + 添加平台产品账号
  4. 账号列表:6 行、8 列
  5. 新增/编辑弹窗(含密码加密显示 + 连通测试)
  6. 连通测试结果弹窗 / 删除确认弹窗

8.3 列表字段

平台(图标+文字)、平台地址(URL)、产品代号(PROD001)、产品名称、登录账号、登录密码(●●●●●●)、谷歌密钥(●●●●5A2F 部分显示)、状态

8.4 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 + 添加平台产品账号 打开新增弹窗 始终 无
列表行 编辑 打开编辑弹窗,openEdit(plat, code, login) 回填 每行 无
列表行 测试 执行连通测试,打开测试结果弹窗(随机成功/失败) 每行 无
列表行 删除 打开删除弹窗(有任务引用的账号禁止删除) 每行 是
弹窗 选择平台(select) onPlatChange() 自动填充平台名/地址、按平台过滤产品列表 始终 —
弹窗 👁️ 显示/隐藏密码 togglePwd() 切换密码字段 type=password↔text 始终 无
弹窗 🔌 连通测试 1.5s 后随机 Toast ✅ 连通成功! 或 连通失败 平台/账号已填 无
弹窗 保存 / 取消 保存后 ✅ 保存成功 校验通过 无

8.5 表单字段

字段 类型 必填 说明
选择平台 select 是 小红书(xhs) / 抖音(dy) / 微信公众号(wx) / 微博(wb) / Facebook(fb) / TikTok(tt)
平台名称 input readonly — 随平台联动
平台地址 input readonly — 随平台联动(如 pro.xiaohongshu.com)
产品代号 select 是 按所选平台 + 用户 data_scope 动态加载
登录账号 input 是 —
登录密码 password 是 👁️ 可切换显隐
谷歌密钥(2FA) password 否 —
状态 select 否 启用 / 禁用

平台信息字典(PLAT_INFO): - xhs → 小红书 / pro.xiaohongshu.com / 产品 [PROD001, PROD002] - dy → 抖音 / business.douyin.com / [PROD003, PROD004] - wx → 微信公众号 / mp.weixin.qq.com / [PROD005] - wb → 微博 / weibo.com / [PROD008] - fb → Facebook / business.facebook.com / [PROD006] - tt → TikTok / ads.tiktok.com / [PROD007]

8.6 提示反馈


09. Skill 管理

9.1 页面目标

Skill 注册与管理,支持 双执行器(龙虾 Agent / 脚本模板)、产品范围绑定、JSON Schema 参数映射、内置测试台。

9.2 页面结构

  1. 统计卡:Skill 总数 / 龙虾数 / 脚本数 / 启用中
  2. 筛选栏:搜索 + 分类/执行器/状态下拉 + + 注册 Skill
  3. Skill 列表:6 行、7 列
  4. 注册/编辑 Skill 弹窗:5 Tab(基本信息 / 执行器配置 / 产品范围 / 参数映射 / 测试台)
  5. 删除确认弹窗

9.3 列表字段

Skill 名称、分类、执行器(🦞 龙虾 / 📜 脚本)、产品范围(X 个或全部)、调用次数、成功率(带颜色)、状态

9.4 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 + 注册 Skill 打开弹窗,标题 注册 Skill 始终 无
列表行 编辑 / 删除 弹窗回填 / 删除弹窗 每行 删除是;已被角色引用需先解除
弹窗 Tab 5 Tab 切换 switchST(i) 始终 无
Tab 0 执行器类型 radio(龙虾/脚本) selExec() 显隐对应配置区(RB-13) 必选 —
Tab 1 龙虾 🔌 测试连通性 Toast ✅ 龙虾平台连通成功 配置完整 无
Tab 1 脚本 脚本模板 select onScriptTpl() 联动脚本类型 选中模板 —
Tab 1 脚本 + 添加环境变量 addEnv() 追加 KV 行 脚本模式 无
Tab 1 脚本 环境变量行·删除 移除该行 行存在 无
Tab 2 产品多选框 展开下拉,勾选/取消 始终 无
Tab 3 inputSchema textarea 可编辑 JSON Schema 始终 合法 JSON
Tab 3 参数映射行 为每个字段选择「表达式/常量」 始终 —
Tab 4 测试参数 JSON textarea 可编辑 始终 合法 JSON
Tab 4 ▶️ 执行测试 runTest():每 500ms 追加日志,2.5s 完成 始终 无
弹窗 保存 Toast ✅ Skill 已保存 校验通过 无

9.5 表单字段

Tab 0 基本信息

字段 类型 必填
Skill 名称 input 是
分类 select 否(内容发布 / 数据采集 / 账号运营 / 广告投放 / 数据分析)
描述 textarea 否
执行器类型 radio 是(RB-13,二选一)

Tab 1 执行器配置 · 龙虾模式

字段 类型 必填 默认
API 地址 url 是 https://api.lobster-agent.com/v1
API Key password 是 sk-lobster-xxxx
Agent ID input 是 agent_xhs_publish_01

Tab 1 执行器配置 · 脚本模式

字段 类型 必填 默认
脚本模板 select 是 Python-通用HTTP / Python-数据清洗 / Shell-文件处理 / Node.js-API 调用
环境变量(KV 动态行) 动态组 否 预填 1 行 API_KEY
超时时间(秒) number 否 30
脚本类型 input readonly 否 联动自填 python/shell/node

Tab 2 产品范围:多选 PROD001 ~ PROD006

Tab 3 参数映射:JSON Schema + 逐字段映射(表达式/常量)

Tab 4 测试台:测试参数 JSON + 日志输出区

9.6 提示反馈


10. 任务创建(四步向导)

10.1 页面目标

通过 4 步向导 创建任务:选择 Skill → 选择产品 → 填写参数 → 确认提交,过程包含 RB-07/RB-12 权限与交集校验。

10.2 页面结构

  1. 步骤条(4 个节点 + 连线)
  2. Step 1:Skill 卡片列表(搜索 + 选择)+ 规则提示条
  3. Step 2:产品卡片列表(搜索 + 选择)+ 交集提示条 + 渠道码自动填充提示
  4. Step 3:参数表单(自动回填 Skill + 产品 + 渠道码)
  5. Step 4:确认信息预览 + 校验通过条
  6. 成功弹窗:任务 ID + 基本信息 + "继续创建/查看任务列表"

10.3 关键字段

10.4 操作细节

位置 按钮 行为 条件 二次确认
Step 1 搜索框 输入 filterSkills() 实时过滤卡片 始终 无
Step 1 Skill 卡 selSkill() 记录选中,解锁下一步 始终 无
Step 1 右下 下一步 → goStep(2):当前步骤 done、下一步 active 已选 Skill 无
Step 2 搜索框 输入 filterProds() 实时过滤 始终 无
Step 2 产品卡 selProd() 记录选中 + 显示渠道码填充提示 交集内产品 —
Step 2 右下 上一步 / 下一步 → 前后切换 下一步需已选产品 无
Step 3 标签输入 Enter 键 addTag() 追加标签 始终 无
Step 3 标签 × 删除该标签 标签存在 无
Step 3 右下 上一步 / 下一步 → 切换 下一步需内容非空 无
Step 4 右下 🚀 提交任务 打开成功弹窗(任务 ID TASK-20260423-001) 始终 无
成功弹窗 继续创建 resetWizard() 回到 Step 1、清空所有状态 始终 无
成功弹窗 查看任务列表 跳转"11. 任务列表" 始终 无
成功弹窗 ✕ 关闭弹窗 始终 无

10.5 交互规则 / 校验

10.6 提示反馈


11. 任务列表

11.1 页面目标

展示所有任务,支持状态/执行器/时间范围筛选,提供详情、取消、重试行内操作。

11.2 页面结构

  1. 统计卡 × 5:任务总数(1,234)/ 成功(1,089)/ 失败(45)/ 运行中(8)/ 超时(92)
  2. 筛选栏:搜索(任务 ID/Skill 名)+ 状态/执行器/时间范围下拉 + 导出
  3. 列表:任务 ID / Skill / 执行器 / 产品 / 创建人 / 状态 / 耗时 / 创建时间 / 操作
  4. 详情弹窗(4 Tab:基本信息 / 输入参数 / 执行结果 / 执行日志)
  5. 取消确认弹窗
  6. 分页

11.3 状态枚举

SUCCEEDED(绿)/ FAILED(红)/ RUNNING(黄,带 ...)/ PENDING(灰)/ TIMEOUT(橙)

11.4 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 搜索 / 状态 / 执行器 / 时间范围 filterT() 按 data-q / data-st / data-exec 过滤 始终 无
筛选栏 导出 Toast 📥 导出成功 始终 无
列表行 详情 打开 📋 任务详情 弹窗 每行 无
列表行 取消 打开取消确认弹窗 → Toast ✅ 任务已取消 仅 RUNNING / PENDING 是
列表行 重试 Toast 🔄 已重新提交 仅 FAILED / TIMEOUT 无
详情弹窗 Tab 基本信息 / 输入参数 / 执行结果 / 执行日志 switchDT(i) 弹窗打开时 无
分页 页码 切换当前页 始终 无
取消弹窗 取消 / 确认取消 关闭 / 向执行器发停止信号 始终 —

11.5 详情弹窗内容

11.6 按钮显示规则

状态 显示按钮
SUCCEEDED 详情
FAILED 详情 + 重试
RUNNING 详情 + 取消
PENDING 详情 + 取消
TIMEOUT 详情 + 重试

11.7 提示反馈


12. 菜单管理

12.1 页面目标

维护系统菜单树(目录/菜单/外链)+ 每个菜单下的按钮权限码。

12.2 页面结构

  1. 操作栏:+ 新增菜单 / 全部展开 / 全部收起
  2. 左侧 菜单树:可展开/收起、行内编辑按钮、点击行切换右侧按钮视图
  3. 右侧 按钮管理:标题显示当前菜单名、按钮列表表格、+ 新增按钮
  4. 菜单编辑弹窗 / 按钮编辑弹窗 / 删除确认弹窗

12.3 数据字段

按钮权限库(BTN_DATA)示例: - product:新增 / 编辑 / 删除 / 导入 / 导出 - role:新增 / 编辑 / 删除 / 复制 - user:新增 / 编辑 / 删除 / 重置密码 - skill:注册 / 编辑 / 删除 / 测试 - channel:新增 / 编辑 / 绑定 - menu-mgmt:新增菜单 / 编辑菜单 / 新增按钮

12.4 操作细节

位置 按钮 行为 条件 二次确认
操作栏 + 新增菜单 打开菜单弹窗(清空) 始终 无
操作栏 全部展开 / 全部收起 expandAll() / collapseAll() 更新树 始终 无
菜单树 ▼/▶ toggleTree() 局部折叠 节点有子项 无
菜单树 行点击 showBtns(key) 更新右侧按钮表 始终 无
菜单树 编辑(每行) 打开菜单弹窗(回填) 每行 无
按钮表 + 新增按钮 打开按钮弹窗(自动填充所属菜单) 当前已选菜单 无
按钮表 编辑(每行) 打开按钮弹窗(回填) 每行 无
按钮表 删除(每行) 删除确认弹窗 → Toast ✅ 已删除 每行 是
弹窗 保存 Toast ✅ 菜单已保存 / ✅ 按钮已保存 校验通过 无

12.5 表单字段

菜单编辑弹窗

字段 类型 必填 默认 说明
菜单类型 select 是 directory directory / menu / link;link 时隐藏组件路径与排序
菜单名称 input 是 — —
父级菜单 select 否 顶级 顶级 / 权限管理 / 产品管理 / …
路由路径 input 是 — 形如 /product
图标 input 否 — —
前端组件路径 input 否 — link 类型时隐藏
排序号 number 是 1 —
是否可见 select 否 显示 显示/隐藏
状态 select 否 启用 启用/禁用

按钮编辑弹窗

字段 类型 必填 说明
所属菜单 input readonly — 自动填充
按钮名称 input 是 —
权限标识 input 是 唯一,形如 product:create
按钮类型 select 否 primary / default / danger / warning
状态 select 否 启用 / 禁用

12.6 提示反馈


13. 平台套件

13.1 页面目标

维护 平台 + 产品代号 两级关系,为"08 平台产品账号"提供选择源。

13.2 页面结构

  1. 搜索栏:搜索平台名 + + 新增平台
  2. 平台卡片网格(主视图):5 个平台卡(小红书/抖音/Facebook/TikTok/微信公众号)
  3. 平台详情(点卡片后进入):← 返回 + 平台名 + 编辑/删除 + 信息块 + 产品代号表
  4. 平台编辑弹窗 / 产品代号编辑弹窗 / 删除确认弹窗

13.3 数据字段

13.4 操作细节

位置 按钮 行为 条件 二次确认
搜索栏 搜索 filterCards() 按 data-q 过滤 始终 无
搜索栏 + 新增平台 打开平台弹窗(清空) 始终 无
平台卡 卡片点击 showPlatDetail(key) 进入详情视图 始终 无
详情 ← 返回 hidePlatDetail() 回到列表 始终 无
详情 编辑平台 打开平台弹窗(回填名称/地址) 始终 无
详情 删除平台 删除确认弹窗 → Toast ✅ 已删除 无关联账号 是
产品代号表 + 新增产品代号 打开产品代号弹窗(自动填充平台) 始终 无
产品代号表 编辑 / 删除(每行) 弹窗 每行 删除是
弹窗 保存 Toast ✅ 平台已保存 / ✅ 产品代号已保存 校验通过 无

13.5 表单字段

平台编辑弹窗

字段 类型 必填
平台名称 input 是
平台地址 input 是(https://...)
平台图标 input 否(emoji 或 URL)
备注 textarea 否
状态 select 否(启用/禁用)

产品代号编辑弹窗

字段 类型 必填
所属平台 input readonly —
产品代号 input 是(PROD001 格式)
产品名称 input 是
状态 select 否

13.6 提示反馈


14. Skill 调用日志

14.1 页面目标

展示全部 Skill 调用历史,支持多维筛选、查看详情与日志回放、CSV 导出。

14.2 页面结构

  1. 统计卡 × 4:总调用(12,456)/ 成功(12,102)/ 失败(354)/ 平均耗时(2.4s)
  2. 筛选栏:搜索(Skill/调用者)+ 状态/执行器/时间范围下拉 + 导出 CSV
  3. 列表:调用 ID / Skill / 执行器 / 产品 / 调用者 / 状态 / 耗时 / 时间 / 操作
  4. 详情弹窗:4 Tab(基本信息 / 请求参数 / 响应结果 / 执行日志)
  5. 分页

14.3 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 搜索 / 状态 / 执行器 / 时间范围 filterT() 始终 无
筛选栏 导出 CSV Toast 📥 导出成功 始终 无
列表行 详情 打开详情弹窗 每行 无
详情弹窗 Tab 切换 switchLT(i) 弹窗打开 无

14.4 详情弹窗

14.5 状态枚举

SUCCESS / FAILED / TIMEOUT

14.6 提示反馈


15. 操作日志(审计)

15.1 页面目标

记录全局的新增/编辑/删除/登录/导出行为,支持审计追踪与变更对比。

15.2 页面结构

  1. 筛选栏:搜索(操作人/模块)+ 模块/操作/时间下拉 + 导出
  2. 列表:日志 ID(OPLOG-xxx)/ 操作人 / 模块 / 操作 / 描述 / IP / 时间
  3. 详情弹窗:基本信息 + 请求参数 JSON + 变更 before/after JSON 对比
  4. 分页

15.3 模块与操作枚举

15.4 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 搜索 / 模块 / 操作 filterT() 过滤 始终 无
筛选栏 导出 Toast 📥 导出成功 始终 无
列表行 详情 打开详情弹窗 每行 无
详情弹窗 关闭 关闭弹窗 始终 无

15.5 提示反馈


16. 统计报表

16.1 页面目标

多维度可视化展板:任务趋势、执行器分布、状态分布、Skill/产品/用户排行。

16.2 页面结构

  1. KPI 卡 × 4:任务总数 / 成功率 / 平均耗时 / 活跃 Skill(含环比)
  2. 图表行 1:任务执行趋势(7 日柱状)+ 执行器分布(饼图 SVG)
  3. 图表行 2:任务状态分布(柱状)+ Skill 调用 Top 5(排名列表)
  4. 图表行 3:产品任务量 Top X + 用户活跃 Top X
  5. 控制栏:时间范围下拉 + 刷新 + 导出 PDF

16.3 操作细节

位置 按钮 行为 条件 二次确认
控制栏 时间范围 select onchange → refreshCharts() 重绘 始终 无
控制栏 刷新 refreshCharts() 所有柱子归零 → 50ms 后恢复(动画) 始终 无
控制栏 导出 PDF Toast 📥 报表已导出 始终 无

16.4 指标示例

16.5 提示反馈


17. 执行器配置

17.1 页面目标

管理 龙虾 Agent 与 脚本引擎 两个执行器的节点配置、健康监控、并发/超时/重试策略。

17.2 页面结构

  1. 权限提示条:仅超级管理员可修改(RB-13)
  2. 执行器卡片 × 2:龙虾执行器 / 脚本执行器
  3. 每卡片包含:状态标签、描述、参数块、当前任务占用(n/N)、最近 24 小时健康度(24 个圆点 timeline)、3 个操作按钮
  4. 龙虾配置弹窗 / 脚本配置弹窗

17.3 卡片字段

龙虾执行器:API 地址 / 超时(30s)/ 重试(3 次)/ 并发上限(10)/ 当前 3/10

脚本执行器:工作目录 / 超时(60s)/ 并发上限(5)/ 沙箱模式 / 当前 1/5

17.4 操作细节

位置 按钮 行为 条件 二次确认
龙虾卡片 ⚙️ 配置 打开龙虾配置弹窗 超级管理员 无
龙虾卡片 🔌 测试 Toast ✅ 龙虾平台连通正常 始终 无
龙虾卡片 🔄 重启 Toast 🔄 已重启 超级管理员 无
脚本卡片 ⚙️ 配置 / 🔌 测试 / 🔄 重启 同上(脚本版) 同上 无
龙虾弹窗 🔌 测试连通性 Toast ✅ 龙虾平台连通正常 始终 无
配置弹窗 取消 关闭 始终 无
配置弹窗 保存 Toast ✅ 配置已保存 校验通过 无

17.5 表单字段

龙虾配置弹窗

字段 类型 必填 默认
API 地址 text 是 示例值
API Key password 是 示例值
超时时间(秒) number 否 30
重试次数 number 否 3
并发上限 number 否 10
轮询间隔(ms) number 否 2000
回调 URL text 否 示例值

脚本配置弹窗

字段 类型 必填 默认
工作目录 text 是 —
Python 路径 text 否 /usr/bin/python3
Node 路径 text 否 /usr/bin/node
全局超时(秒) number 否 60
并发上限 number 否 5
沙箱模式 select 否 Docker 容器 / 本地进程 / 虚拟环境
日志目录 text 否 —

17.6 交互规则

17.7 提示反馈


18. 脚本模板管理

18.1 页面目标

维护脚本执行器使用的预置模板,支持 Python/Node.js/Shell 代码编辑 + 环境变量声明 + Skill 引用追踪。

18.2 页面结构

  1. 筛选栏:搜索(模板名)+ 脚本类型下拉 + + 新增模板
  2. 模板列表:模板名 / 脚本类型 / 环境变量(逗号列表)/ 引用 Skill 数 / 状态 / 更新时间
  3. 新增/编辑弹窗:表单 + 代码编辑器(code-area)+ 环境变量动态行
  4. 删除确认弹窗

18.3 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 搜索 / 脚本类型 filterT() 始终 无
筛选栏 + 新增模板 打开弹窗(清空) 始终 无
列表行 编辑 打开弹窗(回填) 每行 无
列表行 删除 删除确认弹窗 每行 是(需先解除 Skill 引用)
弹窗·代码区 格式化 Toast ✅ 代码已格式化 始终 无
弹窗·环境变量 + 添加变量 追加变量行 始终 无
弹窗 取消 / 保存 关闭 / Toast ✅ 模板已保存 校验通过 无

18.4 表单字段

字段 类型 必填 说明
模板名称 input 是 placeholder 如 通用 HTTP 请求
脚本类型 select 是 Python / Node.js / Shell(切换时联动示例代码)
描述 textarea(2 行) 否 —
脚本代码 textarea(大) 是 类型切换时预填示例模板(CODE 字典)
环境变量声明 动态表 否 每行:变量名(只读)/ 描述 / 必填(select 必填/可选)
状态 select 否 启用 / 禁用

18.5 交互规则

18.6 提示反馈


19. 定时任务

19.1 页面目标

管理 Cron 定时调度任务,关联 Skill + 产品 + 参数,支持执行记录查看、启停、手动触发。

19.2 页面结构

  1. 统计卡 × 4:定时任务(8)/ 运行中(6)/ 已暂停(2)/ 7 日成功率(94.2%)
  2. 筛选栏:搜索 + 状态下拉 + + 新增定时任务
  3. 列表:任务名 / Skill / Cron 表达式 / 产品 / 下次执行 / 最近 7 次(timeline)/ 状态 / 开关
  4. 新增/编辑弹窗(含 Cron 解析)
  5. 执行记录弹窗 / 删除确认弹窗

19.3 操作细节

位置 按钮 行为 条件 二次确认
筛选栏 搜索 / 状态 filterT() 始终 无
筛选栏 + 新增定时任务 打开弹窗(清空) 始终 无
列表行 编辑 打开弹窗(回填) 每行 无
列表行 记录 打开执行记录弹窗(展示最近 5 次) 每行 无
列表行 触发 Toast ▶️ 手动触发成功 每行 无
列表行 删除 删除确认弹窗 → Toast ✅ 已删除 每行 是
列表行 开关 toggle 启用/暂停切换,同步状态标签;Toast ✅ 已启用 / ⏸️ 已暂停 每行 无
弹窗 保存 Toast ✅ 定时任务已保存 校验通过 无

19.4 表单字段

字段 类型 必填 默认 选项/说明
任务名称 input 是 — 如 每日竞品数据采集
关联 Skill select 是 — 竞品数据采集 / 小红书笔记发布 / 数据清洗脚本 / 抖音视频上传 / Facebook广告投放
关联产品 select 是 — PROD001 / PROD002 / PROD003 / 全部产品
Cron 表达式 input 是 0 8 * * * —
帮助文本 动态文本 — 实时解析 下述对照表
执行参数(JSON) textarea(3 行) 否 示例 JSON 必须为合法 JSON
失败重试 select 否 — 重试 3 次 / 重试 1 次 / 不重试
超时(秒) number 否 120 —
状态 select 否 启用 启用 / 暂停

Cron 解析对照: - 0 8 * * * → 📅 每天 08:00 执行 - 0 */2 * * * → 📅 每 2 小时执行 - 0 9 * * 1 → 📅 每周一 09:00 执行 - 0 0 1 * * → 📅 每月 1 号 00:00 执行 - 30 10 * * * → 📅 每天 10:30 执行 - 0 18 * * 5 → 📅 每周五 18:00 执行 - 0 */4 * * * → 📅 每 4 小时执行 - 其他 → 📅 自定义表达式: {输入值}

19.5 执行记录弹窗

表格:执行时间(YYYY-MM-DD HH:MM:SS)/ 状态(成功/失败 标签)/ 耗时(s)/ 结果文本

19.6 交互规则

19.7 提示反馈


六、待完善 / 开发注意事项

项 说明
数据权限隔离 后端需严格按 RB-07/RB-12 做 Skill 权限并集 + 产品范围交集校验,前端仅展示性过滤
密码与密钥加密 平台账号密码、API Key、谷歌 2FA 密钥需服务端加密存储(AES),仅返回掩码
删除前置校验 用户/Skill/平台/产品/模板/菜单删除前都需检查引用关系,前端原型已提示
导入文件格式 产品批量导入需约定 CSV/Excel 模板字段与校验规则
日志规模 操作日志、Skill 调用日志量级大,需分库或冷热分层存储
权限按钮码 button_code 需跟前端按钮统一字典,前后端共享枚举
执行器选择 RB-13 执行器类型互斥,后端需校验保存时 executor_type 只能设置一份配置
时区 Cron 执行、日志时间建议统一使用服务器本地时区 + UTC 存储,前端按当前用户时区展示
二次确认统一 所有删除/取消类操作都需弹窗确认(本原型已遵循)
响应式支持 登录页已做移动端隐藏左栏,其他后台页默认 PC 端 1280+,移动端不在当前版本范围

文档结束。 本 PRD 覆盖 19 个原型页面、按钮级操作细节、字段清单与业务规则,可直接用于开发排期、测试用例编写与原型评审。