资源审批(Resource Approval)
让 编排器 / 技能包 / 智能体 的变更在生效前先经过审批员审核的工作流。
默认关闭
审批是组织级开关,默认 OFF。未开启时,作者点「发布」即时生效,老组织行为完全不变。开启后也只有勾选的资源类型会被拦截。
谁能访问
- 审批设置
/admin/approval-settings:admin/owner/super_admin - 审批中心
/approvals:approver/admin/owner/super_admin
详见 访问控制。
工作流总览
开启审批后,资源发布从"一步到位"变成"提案 → 审核 → 生效":
作者编辑 → 保存草稿 → 提交审核 → 待审队列
↓
审批员在审批中心处理
├─ 批准并发布 → 草稿成为已发布版本,正式生效
└─ 拒绝(填备注) → 草稿解锁,作者改完可重新提交
作者本人随时可「撤回审批」,提案回到可编辑状态。关键约束:
- 按钮文案自动切换:开启审批后,编辑器顶栏「发布」按钮变为「提交审核」。
- 待审期间编辑器锁定:提案"审核中"时,对该资源的草稿保存 / 丢弃草稿返回 HTTP 409。
- 默认禁止作者自批:作者不能批准自己的提案(可在设置里关闭)。
- 紧急通道:
super_admin可强制批准,自动通知所有管理员并留强审计。
审批设置 /admin/approval-settings
| 配置项 | 说明 |
|---|---|
| 启用审批(主开关) | 总闸,关闭时下方配置均不生效 |
| 需要审批的资源类型 | 勾选的类型发布时进入待审队列 |
| 禁止作者自批 | require_separate_approver,默认开启 |
| 审批员角色名 | 默认 approver;admin / owner / super_admin 自动具备资格 |
| 通知渠道 | 站内信 / 企业微信 / 邮件(可多选) |
| 邮件 SMTP 配置 | 组织级 SMTP(优先于环境变量),含「测试发送」 |
已接入审批的资源类型
| 资源类型 | 状态 |
|---|---|
| 编排器 / 技能包 / 智能体 | ✅ 已支持 |
| MCP 工具 / AI 模型 / 数据源 / 数据工具 / 知识库 | 即将支持(勾选暂不生效) |
WARNING
标记「即将支持」的资源类型尚未接入审批流程,勾选不会真正拦截发布。当前真正生效的只有 编排器 / 技能包 / 智能体。
通知投递条件
| 渠道 | 投递条件 |
|---|---|
| 站内信 | 始终可用,建议作兜底 |
| 企业微信 | 用户已绑企微账号 + 组织内有任一企微应用(零配置自动发现) |
| 邮件 | 配好组织级 SMTP,或服务端配 SMTP_HOST 等环境变量 |
缺投递条件的用户会被静默跳过,不影响其他渠道。
审批中心 /approvals
审批员处理待审请求的工作台:左侧提案列表,右侧详情与差异对比。
- 列表筛选:状态(待审 / 已通过 / 已拒绝 / 已撤回 / 全部状态)+ 资源类型(全部资源类型 / 编排器 / 技能包 / 智能体)。
- 详情面板:变更快照 + 字段级差异(新增 / 删除 / 修改)+ 审批意见 + 已发布版本号。
- 操作:
- 批准并发布(审批员,非作者)→ 草稿成为已发布版本。
- 拒绝(审批员,非作者)→ 弹窗填备注,作者收到通知、草稿解锁。
- 撤回审批(作者本人)→ 提案回到
withdrawn,可改完重提。
通知提醒
顶栏的通知铃铛(🔔)带未读角标,点开为通知抽屉,约每 30 秒轮询未读。审批的提交 / 通过 / 拒绝都会落到这里(以及勾选的企微 / 邮件渠道)。
常见问题
开启审批会影响已发布的资源吗? 不会,只影响开启之后的新发布动作。
保存草稿报 409? 该资源有提案正在"审核中",草稿被锁定 —— 先撤回(作者)或等审批完成。
勾了 MCP 工具 / 知识库为什么没拦截? 这些类型当前为「即将支持」,尚未接入。
