# 先马AI内容与视觉平台｜素材库、提示词库与权限管理 PRD

> 知识库正式产品事实源。同步自代码项目 `D:\项目文件\AI设计平台\xianma-new-ai-design\docs\素材库提示词库权限管理PRD_260810.md`；代码项目副本作为开发基线，后续正式规则变更先更新本文件，再同步开发副本。
> 当前状态：V1.9 业务规则已确认并已授权前端原型实施，真实资源服务、服务端鉴权与技术方案待开发；不得据此宣称后端已完成或功能已上线。
> 功能主题：[[10_先马电商/03_项目/01_先马AI设计平台/00_功能地图/资源管理与权限|资源管理与权限]]；项目状态入口：[[10_先马电商/03_项目/01_先马AI设计平台/项目记忆|项目记忆]]；功能清单：[[10_先马电商/03_项目/01_先马AI设计平台/02_产品输出/当前功能清单|当前功能清单]]。

## 0. 文档信息

| 项目 | 内容 |
|---|---|
| 所属平台 | 先马AI内容与视觉平台 |
| 所属模块 | 素材库、提示词库、权限管理、跨平台数据共享 |
| 需求类型 | 新增、改版、规则补全 |
| 文档状态 | 业务规则已确认，待技术方案 |
| 文档版本 | V1.9 |
| 编写日期 | 2026-08-10 |
| REQ需求来源 | [[10_先马电商/02_需求与规划/01_需求池/需求档案/2026/REQ-20260815-001_素材与提示词公共选择器及共享审批完善|REQ-20260815-001]]；原始规则来源为 2026-08-04 至 2026-08-10 的业务沟通与原型确认 |
| 项目业务输入 | [[10_先马电商/03_项目/01_先马AI设计平台/01_业务输入/需求入口|先马AI设计平台需求入口]]；代码项目 `PRODUCT_REQUIREMENTS.md` 中 PRD-004、PRD-005（开发基线） |
| 关键证据 | [[10_先马电商/03_项目/01_先马AI设计平台/项目记忆|项目记忆]] 中 2026-08-04 至 2026-08-11 的权限、素材库、提示词库决策；2026-08-15 用户确认记录 |
| 对应原型 | `/materials`、`/prompts`、`/admin/permission`、工作台素材与提示词选择弹窗 |
| 事实版本 | 以 2026-09-04 最新确认规则及当前前端交互原型为准 |

### 修订记录

| 版本 | 日期 | 变更内容 |
|---|---|---|
| V1.0 | 2026-08-10 | 首次整合素材库、提示词库、权限管理和跨平台数据共享方案 |
| V1.1 | 2026-08-10 | 确认灵感广场开放调用、审批实时同步、自审规则及现有文件/来源策略，收敛待确认项 |
| V1.2 | 2026-08-11 | 补全权限管理人员列表、配置字段、状态、数据来源、统计与按钮规则，供开发和测试直接实现 |
| V1.3 | 2026-08-15 | 新增固定素材类目、公共提示词、团队到公共的逐级审批，并冻结素材与提示词公共选择器契约 |
| V1.4 | 2026-08-15 | 补齐素材与提示词状态场景、提交前资产归属提示、审批后删除权限及离职资产保留规则 |
| V1.5 | 2026-08-15 | 补齐公共审批通过后的团队“公共已发布”状态、团队与公共双视图及同资源引用规则 |
| V1.6 | 2026-08-15 | 集中补齐个人到团队、团队到公共审批通过后的来源页签状态，以及各页签、状态、角色对应的完整操作按钮规则 |
| V1.7 | 2026-08-15 | 以 V1.6 最新规则清理改版前历史口径，统一同资源多视图流程措辞，补齐页签投影数据契约并修正章节层级；不改变已确认业务行为 |
| V1.8 | 2026-09-04 | 新增素材库“我的分组”个人整理能力，明确与平台类目、团队/公共可见范围、审批和资源状态解耦，并补齐数据、权限、异常与验收规则 |
| V1.9 | 2026-09-04 | 商品、素材、提示词审批/编辑场景统一复用可见组织公共组件，明确组件职责、权限边界、复用边界和验收 |

### 变更摘要

1. 保留个人、团体、公共三级素材库，将提示词扩展为个人、团队、公共、灵感广场四个内容域，并通过个人到团队、团队到公共的逐级审批沉淀组织与公司资产。
2. 复用聚合管理平台同步的钉钉账号与组织，在本平台配置业务角色、审批事项和组织数据范围，统一约束资源管理、审批及后续数据看板。
3. 一期提供素材与提示词的标准只读数据调用能力；完整架构预留外部平台新增、更新、提交审批和使用回传能力，但后续分阶段实施。
4. 权限管理中的同步字段与平台维护字段分开定义，明确列表展示、筛选、分页、配置和停用账号的处理边界。
5. 素材新增固定一级类目；素材和提示词分别提供跨工作台复用的公共选择器，并使用统一弹窗交互规范。
6. 管理页按个人、团队、公共范围展示适用状态；公共审批通过后，原团队记录保留并显示“公共已发布”，公共范围引用同一资源并显示“公共可用”，不得复制资源或丢失原团队范围和审批链路。
7. 内容审批通过后转为相应组织资产，提交前必须明确告知删除权限变化，账号停用不得级联删除公司资产。
8. 在不改变平台统一类目和共享权限的前提下，素材支持员工维护个人“我的分组”，用于个人查找和筛选。

## 1. 背景、问题与目标

### 1.1 V1.3 改版前问题

- 现有素材以个人使用为主，优质内容无法低门槛沉淀为部门可复用资产。
- 团队资源缺少申请进入全公司公共范围的审批链路，公共内容只能由系统管理员直接发布。
- 当前提示词库主要汇集网络内容，缺少公共提示词域；个人验证、团队沉淀、公司公共资产与外部灵感之间缺少完整分层和质量标识。
- 素材选择器已有类目筛选，但素材管理和正式数据对象缺少同一类目字段，上传、编辑、详情和筛选无法闭环。
- 素材库只有平台统一类目，不利于员工按个人工作习惯快速整理和查找；需要增加与权限、类目解耦的个人分组。
- 账号与组织由聚合管理平台统一维护，但本平台尚缺少适配素材、提示词、审批和看板的业务权限底座。
- 公司其他 AI 平台需要共用素材和提示词数据；若仅按当前页面实现，后续容易形成重复存储、重复权限和数据口径不一致。

### 1.2 本期目标

- 让员工管理个人资源，并通过一次提交进入团队审核，不增加普通用户操作门槛。
- 让通过团队审核的优质素材和提示词继续申请公共发布，由系统管理员完成公司级审核。
- 让部门管理员、审批员和系统管理员在明确的组织范围内处理资源与审批。
- 让用户只看到其有权使用的数据，且列表、详情、下载、复制、审批和对外接口使用同一套服务端权限判断。
- 建立可复用的数据服务边界，使其他 AI 平台一期能够读取和使用已开放的素材、提示词。
- 通过埋点和审计分别衡量资源复用效果、追踪敏感管理操作。
- 让素材管理与素材选择使用同一固定一级类目，让各 AI 工作台复用统一的素材与提示词选择器。

### 1.3 成功判断

本期不预设缺少基线依据的数值 KPI。上线后应能观察：

- 个人资源可完成提交、取消、通过、驳回和再次提交的完整闭环。
- 团队资源可完成公共申请、取消、通过、驳回和再次申请，申请期间不影响原团队范围继续使用。
- 不同角色在同一资源上的可见按钮、可调用接口和可处理组织一致。
- 团队素材、团队提示词被查看、下载、复制、选择使用及被外部平台调用的数据可统计。
- 越权访问、重复审批和外部平台重复写入不会产生重复或越范围数据。
- 资源数据只维护一份，其他 AI 平台不需要复制本平台页面即可调用。

## 2. 核心概念与判断顺序

### 2.1 四层权限模型

| 层级 | 回答的问题 | 一期示例 |
|---|---|---|
| 页面权限 | 能否进入某个页面 | 只有系统管理员可进入权限管理和积分审批 |
| 操作权限 | 能做什么 | 查看、下载、复制、编辑、删除、审批 |
| 组织数据范围 | 能管理、审批、统计哪些组织的数据 | BP 可被配置审批员并指定其负责的业务组织 |
| 资源可见范围 | 某条资源能给哪些组织使用 | 团体素材选择商品部，商品部及其全部下级组织可见 |

四层权限独立判断，不得互相替代。资源可见组织不等于管理组织范围；用户能查看某条共享资源，不代表能编辑、删除或审批该资源。

### 2.2 服务端统一判断顺序

1. 校验账号有效、登录有效及调用平台身份有效。
2. 校验页面或接口权限。
3. 校验具体操作权限。
4. 管理、审批和统计操作校验组织数据范围。
5. 普通读取和使用共享资源校验资源可见范围。
6. 写入成功后记录审计；用户行为另记业务埋点。

前端隐藏菜单或按钮只用于减少干扰，不能代替服务端鉴权。

## 3. V1.3 改版前能力基线

本节仅保留本轮改造开始前的能力事实，用于说明需求来源，不代表 V1.7 当前原型或最终规则。当前正式业务规则以第 5～12 节为准，页签、状态和按钮以 7.6 节为准。

| 编号 | 当前能力或规则 | 状态 | 事实来源 |
|---|---|---|---|
| BASE-01 | 素材库原型已包含个人、团体、公共分栏及待审核入口 | V1.3 改版前原型 | `/materials`、`src/app/materials/MaterialsClient.jsx` |
| BASE-02 | 提示词库原型已包含团队、个人、灵感广场及来源管理，尚无公共提示词域 | V1.3 改版前原型 | `/prompts`、`src/app/prompts/PromptsClient.jsx` |
| BASE-03 | 权限原型已包含人员平铺列表、多角色、审批事项和组织树 | V1.3 改版前原型 | `/admin/permission`、`src/app/admin/permission/page.js` |
| BASE-04 | 原型数据均为隔离演示数据，尚不代表真实接口、数据库和同步任务已接入 | 已确认 | [[10_先马电商/03_项目/01_先马AI设计平台/项目记忆|项目记忆]] |
| BASE-05 | 账号、钉钉组织、部门、主管标识、登录权限和账号状态由聚合管理平台提供 | 已确认 | 代码项目 `PRODUCT_REQUIREMENTS.md` PRD-004（开发基线） |
| BASE-06 | 素材选择器已有个人、团体、公共、本地上传及类目筛选，但素材管理演示数据没有类目字段 | V1.3 改版前原型 | `src/components/workbench/AssetPickerModal.jsx`、`src/app/materials/MaterialsClient.jsx` |
| BASE-07 | 素材和提示词只实现个人到团队的审批，公共资源由系统管理员直接发布 | V1.2 已确认规则 / V1.3 改版前原型 | `/materials`、`/prompts`、本 PRD V1.2 |

### 3.1 改版前原型与当前正式规则差异

| 差异 | V1.7 正式规则 | 改版前原型表现 | 本期处理 |
|---|---|---|---|
| 提示词工具、模型字段 | 不作为用户筛选、适用限制或必填数据 | 演示数据仍保留 `toolId`、`model` 等历史字段 | 接口与落库不设为必填；存量兼容方案待技术确认 |
| 素材上传角色限制 | 普通用户直接进入个人库，团队发布走提交审批 | 系统管理员演示账号可看到全部范围 | 正式接入按角色控制 |
| 组织数据 | 正式数据必须同步完整钉钉树至叶子节点 | 原型仅为部分演示组织 | 正式接入替换演示数据，不按原型层级建死 |
| 对外数据服务 | 一期只读，后续可写 | 当前仅前端演示状态 | 需新增后端资源服务与开放接口 |
| 素材类目 | 使用固定一级类目并贯穿管理与选择器 | 选择器演示数据局部存在自由类目，素材管理无对应字段 | 本期统一字段与选项 |
| 公共发布 | 团队资源可申请公共发布并由系统管理员审批 | 当前公共资源仅支持系统管理员直接创建 | 本期补齐素材与提示词逐级审批 |
| 公共提示词 | 作为内部已审批、全公司可用的独立内容域 | 当前只有个人、团队和灵感广场 | 本期新增，灵感广场继续独立保留 |

## 4. 本期范围与分阶段边界

### 4.1 一期必须交付

| 编号 | 变更内容 | 影响页面/能力 |
|---|---|---|
| CHG-01 | 素材库个人、团体、公共资源管理，固定一级类目及个人到团队、团队到公共的逐级审批 | `/materials`、素材选择器 |
| CHG-02 | 提示词库个人、团队、公共、灵感广场管理及个人到团队、团队到公共的逐级审批 | `/prompts`、提示词选择器 |
| CHG-03 | 业务角色、审批事项、组织数据范围与钉钉同步 | `/admin/permission`、服务端鉴权 |
| CHG-04 | 素材、提示词统一资源查询与详情读取接口 | 对外数据服务 |
| CHG-05 | 资源使用埋点、敏感操作审计和跨平台调用记录 | 数据与审计 |
| CHG-06 | 统一素材和提示词公共选择器及工作台弹窗交互契约 | AI 工作台公共组件 |
| CHG-07 | 素材个人“我的分组”及列表、详情、编辑、上传和素材选择器筛选联动 | `/materials`、素材详情/上传弹窗、素材选择器 |
| CHG-08 | 商品、素材、提示词审批及编辑场景统一复用可见组织公共组件 | `/products`、`/materials`、`/prompts` 及审批/编辑弹窗 |

### 4.2 后续扩展，底层需预留

- 外部平台新增、更新素材或提示词，并发起或取消团队入库审批。
- 自定义角色和角色管理页面，用于配置页面权限与操作权限。
- 普通员工跨部门只读组织范围、临时授权和授权有效期。
- 素材版本历史、回收站、质量评分和重复内容识别。
- 商品库、场景库、历史记录、数据看板复用同一权限模型。

### 4.3 本期不做

- 不在本平台新增、删除账号或维护组织架构。
- 不建设独立的组织与成员管理页面。
- 不复用或嵌入素材库、提示词库页面到其他平台，只提供数据调用。
- 不开放跨公司、多租户数据共享。
- 不建设技能库。
- 不下放积分审批；积分申请审批仅系统管理员拥有。
- 不建设复杂工作流引擎或多级会签。
- 不新增二级素材类目、类目维护页面或用户自定义类目。
- 不建设个人分组层级、批量移动、独立分组管理页、多标签归属或分组删除功能；个人分组仅作为轻量查找辅助。
- 不把个人、团体、公共素材合并为嵌套“共享素材”入口；继续保留三个扁平分栏。
- 不把灵感广场合并到公共提示词；外部未验证内容继续独立展示。

## 5. 角色与权限

### 5.1 角色权限表

| 角色 | 数据范围 | 资源入库审批 | 团体资源操作 | 公共/来源操作 | 管理页面 | 获得方式 |
|---|---|---|---|---|---|---|
| 系统管理员 | 全公司全部数据 | 素材、提示词团队入库及公共发布审批 | 管理全部团体资源 | 管理公共素材、公共提示词、灵感来源及灵感提示词 | 全部管理页面 | 平台手动指定，至少保留一名有效账号 |
| 部门管理员 | 配置的组织范围 | 自动拥有素材、提示词入库审批 | 编辑、删除范围内团体资源 | 无 | 无 | 主管一期默认；其他人员按需配置 |
| 审批员 | 配置的组织范围 | 处理勾选的素材或提示词审批 | 仅查看，不编辑、删除团体资源 | 无 | 无 | 主管一期默认；其他人员按需配置 |
| 普通用户 | 本人数据及命中可见范围的共享资源 | 无 | 管理本人个人资源 | 无 | 无 | 所有有效账号默认拥有 |

说明：

- 多个角色可叠加，最终能力取并集；普通用户是所有有效账号的基础角色。
- 部门管理员本身包含其组织范围内的素材、提示词入库审批。即使取消主管的“审批员”角色，只要仍保留部门管理员，仍能处理这两类资源审批。
- 审批员用于给 BP 等非管理员单独授权审批，必须同时选择审批事项和组织范围。
- 积分审批不出现在可勾选事项中；如为说明权限边界而展示，则必须禁用并标注“仅系统管理员”。

### 5.2 钉钉主管默认规则

- 钉钉主管是同步标识，不是平台角色。
- 一期主管默认获得“部门管理员 + 审批员”，并自动获得所属部门及全部下级部门的数据范围。
- 系统管理员可按人取消主管默认的部门管理员或审批员；取消角色不取消主管基础数据范围。
- “清除手动配置”后，主管恢复普通用户、部门管理员、审批员及其主管基础数据范围；普通员工恢复普通用户且清空附加范围。

### 5.3 组织范围规则

- 正式组织树由聚合管理平台同步钉钉数据，必须递归到全部叶子节点。
- 非系统管理员的可授权树一期仅展示“众创事业群”及其所有下级组织，不能跨其他顶层一级部门。
- 系统管理员固定为全公司全部数据，不受众创事业群限制。
- 选择父组织即包含当前及未来同步进来的全部后代组织；数据库保存授权根组织 ID，不展开保存当时的全部子节点。
- 主管所属组织为基础范围，不可在配置弹窗中移除；允许补充众创事业群内同级、上级或其他分支组织。

### 5.4 资源可见组织公共组件契约

- 公共组件适用于商品库、素材库、提示词库的团队审批通过和后续可见组织调整；三类业务页面使用一致的搜索、组织树和选择反馈。
- 组件提供组织名称搜索、组织树展开/收起、父组织选择包含当前及全部下级组织、子组织继承态展示，以及无匹配结果和无可选组织的空状态。
- 组件仅负责展示当前可授权组织、维护本次选择值并返回选择结果；业务页面负责自身的角色权限、资源/审批状态、保存提交和成功/失败反馈。
- 可选组织必须受当前操作人的授权范围限制；超出范围的组织不可见或不可选。前端限制不能替代服务端对角色、审批事项、资源可见范围和账号状态的最终校验。
- 团队资源通过前必须至少选择一个最终可见组织；公共资源固定全公司可见，不展示组织选择器，也不通过该组件缩小公共范围。
- 资源继续沿用 `visible_org_ids` 保存团队可见组织，本次不新增独立组织对象或第二套组织范围算法。
- `/admin/permission` 的主管默认组织、部分选中和角色联动树属于权限管理专用组件，不与资源可见组织组件混用。

## 6. 素材库

### 6.1 页面结构

| 区域 | 功能 |
|---|---|
| 个人素材 | 查看、上传、编辑、下载、删除、提交到团队、取消提交 |
| 团体素材 | 查看有权资源；有权限者新增、编辑、删除及申请公共发布；审批人查看团队共享待办 |
| 公共素材 | 全公司查看和使用；系统管理员直接发布、编辑、删除并处理公共共享待办 |
| 顶部操作 | 搜索、类型筛选、类目筛选、我的分组筛选、状态筛选、分页、待我审批、上传素材 |
| 素材详情 | 标题、预览、类型、类目、我的分组、文件信息、归属、来源、标签、备注、创建信息、可见范围 |

素材类型一期仅支持图片、视频、音频。具体格式、单文件大小、批量数量、存储保留和删除策略均沿用当前系统已生效规则，本期不新增或调整相关限制。

素材页签、状态筛选、来源记录保留及操作按钮统一以 7.6 节完整规则为准。前端原型的脱敏演示数据需覆盖图片、视频、音频及全部适用状态，便于逐项核对操作权限。

### 6.2 主要流程

#### 个人素材上传

1. 有效用户点击“上传素材”，选择一个或多个文件。
2. 除系统管理员外，用户上传后先进入个人素材，再通过提交审批进入团队；系统管理员可按管理需要选择个人、团体或公共素材。
3. 批量上传共用素材范围、类目、标签和备注；“我的分组”为当前员工的个人整理字段，可在上传后设置，成功后可逐个编辑。
4. 上传结果进入对应分栏并记录创建人、来源和所属组织。
5. 类目为单选固定值，新上传默认“通用”；用户可在上传前切换。

#### 个人素材提交到团队

1. 用户在状态为可用或已驳回的本人素材上点击“提交到团队”。
2. 用户只需确认提交和补充备注，不选择可见组织；系统按提交人所属钉钉部门生成待审核记录。
3. 提交确认弹窗必须提示：“审批通过后，该素材将成为团队资产，发布人将无法自行删除。如需删除，请联系团队负责人处理。”
4. 提交后素材仍在个人库，状态变为“审核中”，隐藏编辑、删除和重复提交。
5. 用户可“取消提交”；取消后恢复可编辑、可删除状态。

#### 审批与发布

1. 系统管理员、命中组织范围的部门管理员，或具备“审批员 + 素材入库审批”的人员看到“待我审批”。
2. 审批人只能看到提交人所属组织命中其管理范围的待办。
3. 通过前必须选择至少一个最终可见组织，且不得超出审批人的组织范围；系统管理员可选全公司组织。
4. 通过后不生成内容副本：同一素材在个人页签保留“团队已发布”来源记录，并在团体素材页签形成“团队可用”视图，对所选组织及其全部下级可见；待办同步失效。
5. 驳回必须填写原因；素材留在提交人的个人库并显示原因，可修改后再次提交。
6. 审批人只要角色、审批事项和组织范围满足规则，即可审批本人提交的资源，不设置禁止自审的特殊限制。
7. 任一审批人完成处理后，其他审批人的待审批列表实时移除该待办；若其他人基于旧页面再次点击审批，系统提示“该申请已被审批”，并刷新待审批列表。

#### 团体素材申请公共发布

1. 已通过团队审核且状态可用的团体素材，可由原提交人、命中管理范围的部门管理员或系统管理员发起“申请公共发布”。
2. 公共申请仅进入系统管理员待办；部门管理员和审批员不能审批公共发布。
3. 申请期间团体素材继续按原 `visible_org_ids` 查看、下载和选择使用，不切换为不可用状态。
4. 系统管理员通过后不生成内容副本：同一素材在团体素材页签显示“公共已发布”，并在公共素材页签形成“公共可用”视图，对全部有效账号可见；原个人来源记录、团队发布记录和审批链路继续保留。
5. 驳回必须填写原因；资源继续作为团体素材使用，并允许再次申请。
6. 发起人可在公共申请处理前取消；取消后团体素材状态和可见范围不变。
7. 系统管理员直接创建公共素材时无需产生自审批待办，但必须记录发布审计。
8. 公共申请确认弹窗必须提示：“审批通过后，该素材将成为公司公共资产，发布人及团队负责人将无法自行删除。如需删除，请联系系统管理员处理。”

### 6.3 素材功能规则

#### R-MAT-01 资源范围

- 个人素材仅本人及系统管理员按管理场景访问。
- 团体素材按 `visible_org_ids` 判断读取范围。
- 公共素材对所有有效账号可读，仅系统管理员可管理。

#### R-MAT-02 管理与可见分离

- 用户命中资源可见范围时可查看、下载和选择使用。
- 只有系统管理员或命中管理组织范围的部门管理员可编辑、删除团体素材。
- 团队审批通过后，原提交人不因发布人身份获得编辑、删除能力；需要删除时联系团队负责人处理。
- 审批员不因能审批而获得编辑、删除能力。

#### R-MAT-03 审核中删除限制

- 审核中的个人素材不能直接编辑或删除。
- 用户必须先取消提交，再执行编辑或删除，避免审批任务引用失效资源。

#### R-MAT-04 素材选择器联动

- 需要调用素材资源的 AI 工作台共用素材选择器，固定提供个人素材、团体素材、公共素材和本地上传四个扁平入口。
- 选择器与素材库调用同一资源查询服务和权限判断，不在前端复制全量资源后再过滤。
- 选择数量、文件回填和已有工作台限制沿用对应工具现有规则。
- 选择器支持关键词、固定类目和标签筛选；切换入口不得绕过资源可见范围。
- 本地上传继续支持按调用方规则直接回填，并可选择同时加入个人素材。

#### R-MAT-05 固定一级类目

- 素材类目为单选字段，固定选项为：通用、医疗器械类、大健康类、宠物类、护具类、美妆类、进口保健品类、个护类、地毯类。
- 新上传素材默认“通用”，用户可在上传前切换；本期不提供类目新增、编辑、删除或二级类目。
- 历史无值素材展示“未分类”，不得自动写成“通用”；有管理权限者可通过编辑补录。
- 上传、编辑、详情、卡片、列表筛选、素材选择器和对外查询使用同一个 `category` 字段。
- 类目用于主归类；`tags` 继续作为多值补充描述，二者不能互相替代。

#### R-MAT-08 个人“我的分组”

- **规则状态**：已确认。素材保留平台统一类目；“我的分组”是当前员工维护的个人查找字段，不属于素材的团队或公共权限字段。
- 当前员工可为其有权查看的个人、团队或公共素材设置一个个人分组；团队/公共素材的分组关系只对当前员工生效，不写回共享素材，也不影响其他员工的分组。
- 分组名称由员工在上传、编辑、详情或卡片操作中新增或选择；同一员工下同一素材最多归属一个分组，重新选择时覆盖原分组，清空后显示“未分组”。
- 列表和素材选择器支持“全部个人分组”、具体分组和“未分组”筛选；筛选只改变当前员工的展示结果，不改变资源可见范围和服务端权限判断。
- 分组名称禁止使用“未分组”和“全部个人分组”等系统保留名称；本期不支持层级分组、批量移动、多标签归属、独立分组管理页或分组删除。
- “我的分组”仅适用于素材，不扩展到提示词；不进入团队/公共审批，不参与公共资源发布判断，也不作为对外共享资源的统一属性。

#### R-MAT-06 公共发布

- 公共素材是内部审核通过、全公司有效账号可用的资源，不等同于外部公开内容。
- 团体素材申请公共发布必须复用原资源和审批链路，不能复制为无法追溯的新资源。
- 公共发布审批仅系统管理员可处理；公共申请不改变资源原团队可用状态。
- 公共审批通过后，资源继续保留在团体素材中并显示“公共已发布”，同时出现在公共素材中并显示“公共可用”；两个入口引用同一资源 ID，不生成副本。
- 团队入口继续保留原组织范围和审批链路；公共入口按全公司范围展示。两个入口的编辑、删除均仅系统管理员可执行。
- 公共素材仅系统管理员可编辑、删除；原提交人、部门管理员和审批员不因提交或审批获得公共资源管理权。

#### R-MAT-07 公司资产与账号停用

- “个人、团体、公共”表示资源可见与管理范围，不表示员工对已共享公司资产拥有永久删除权。
- 个人素材审批进入团队后由团队负责人管理；继续审批进入公共后仅由系统管理员管理。
- 员工账号停用或离职时不得级联删除素材；团体和公共素材继续可用并保留原发布人、审批链路和审计信息。
- 停用账号的个人素材进入后台归档，后续转交、保留或删除由管理员按公司现行数据规则处理；本期不新增离职交接页面。

### 6.4 素材状态

| 状态 | 建议枚举 | 进入条件 | 可执行操作 | 退出条件 |
|---|---|---|---|---|
| 可用 | `ACTIVE` | 上传成功、取消提交或审核通过 | 按角色查看、编辑、删除、提交、使用 | 提交或删除 |
| 审核中 | `PENDING` | 个人素材提交到团队 | 查看、取消提交；审批人审批 | 取消、通过或驳回 |
| 已驳回 | `REJECTED` | 审批驳回 | 查看原因、编辑、删除、重新提交 | 编辑后提交或删除 |
| 已删除 | `DELETED` | 有权限者确认删除 | 无前台操作 | 是否软删除待技术确认 |

页面显示文案、来源页签保留规则和按钮权限统一以 7.6 节为准。公共审核状态来自独立审批单，不覆盖团队资源自身的可用状态。

“我的分组”是用户级关联状态，不新增素材生命周期状态；素材进入审核、团队或公共视图后，当前员工仍可按可见权限维护自己的分组。

团队共享和公共共享均使用独立审批单记录 `target_scope`。公共申请期间资源自身保持 `ACTIVE` 和团体可见，不能仅使用资源 `PENDING` 状态覆盖原可用状态。

枚举为建议命名，最终与后端统一后冻结。

## 7. 提示词库

### 7.1 页面结构

| 区域 | 功能 |
|---|---|
| 个人提示词 | 新增、编辑、复制、删除、提交到团队、取消提交，查看驳回原因 |
| 团队提示词 | 查看组织可见的已审核提示词；有权限者管理、审批或申请公共发布 |
| 公共提示词 | 查看、复制全公司内部已验证提示词；系统管理员管理并处理公共发布审批 |
| 灵感广场 | 查看、复制、收藏外部同步提示词 |
| 顶部操作 | 搜索、用途筛选、状态筛选、待我审批、来源管理、新增提示词 |

提示词是纯文本资产，列表不使用图片封面。用途分类一期为：通用、商品主图、详情页、买家秀、场景图、营销海报、短视频。

### 7.2 权限与入口

| 操作 | 普通用户 | 部门管理员 | 审批员 | 系统管理员 |
|---|---|---|---|---|
| 新增个人提示词 | 是 | 是 | 是 | 是 |
| 提交本人提示词 | 是 | 是 | 是 | 是 |
| 查看团队提示词 | 按可见组织 | 按可见组织 | 按可见组织 | 全部 |
| 管理团队提示词 | 否 | 管理范围内 | 否 | 全部 |
| 申请公共发布 | 原提交人可发起 | 管理范围内可发起 | 仅原提交人可发起 | 可发起或直接发布 |
| 查看公共提示词 | 是 | 是 | 是 | 是 |
| 管理公共提示词 | 否 | 否 | 否 | 是 |
| 待我审批 | 否 | 管理范围内自动拥有 | 勾选提示词审批且命中范围 | 全部 |
| 来源管理 | 否 | 否 | 否 | 是 |
| 编辑、删除灵感广场内容 | 否 | 否 | 否 | 是 |

### 7.3 主要流程

#### 新增与个人管理

1. 用户点击“新增提示词”，填写名称、用途分类、正文、摘要和标签。
2. 除系统管理员执行平台管理操作外，新建内容保存后先进入“我的提示词”，不要求选择模型或使用工具。
3. 用户可查看全文、复制、编辑、删除或提交到团队。

#### 提交团队与审批

- 提交、取消、通过、驳回、组织范围和待办权限规则与素材入库一致。
- 提交确认弹窗必须提示：“审批通过后，该提示词将成为团队资产，发布人将无法自行删除。如需删除，请联系团队负责人处理。”
- 审核通过后不生成提示词副本：同一提示词在个人页签保留“团队已发布”来源记录，并在团队提示词页签形成“团队可用”视图；驳回后继续留在个人页签并展示原因。
- 团队提示词必须有至少一个可见组织；选择父组织包含全部后代组织。

#### 团队提示词申请公共发布

- 已通过团队审核且状态可用的提示词，可由原提交人、命中管理范围的部门管理员或系统管理员申请公共发布。
- 公共申请仅由系统管理员审批；申请期间团队提示词继续按原组织范围使用。
- 审批通过后不生成提示词副本：同一提示词在团队页签显示“公共已发布”，并在公共提示词页签形成“公共可用”视图，对全部有效账号可见并标记为内部已验证。
- 驳回或取消后继续保留团队提示词，不影响原组织使用；驳回原因可查看并支持再次申请。
- 系统管理员可直接新增公共提示词，直接发布操作必须进入审计。
- 公共申请确认弹窗必须提示：“审批通过后，该提示词将成为公司公共资产，发布人及团队负责人将无法自行删除。如需删除，请联系系统管理员处理。”

#### 灵感广场

- 外部同步内容只进入灵感广场，不自动标记为团队已验证。
- 用户可以查看、复制、收藏到“我的提示词”；收藏生成个人副本，并保留来源引用。
- 只有系统管理员可新增/停用来源、触发同步、修改屏蔽规则，以及编辑、删除灵感广场提示词。
- 灵感广场与团队提示词必须展示不同的来源/验证标识，避免用户误认为外部内容已通过内部审核。

### 7.4 提示词功能规则

#### R-PRM-01 纯文本与用途分类

- 提示词主体是文本，不设置图片封面。
- 一期只按用途分类和关键词检索，不按工具或适用模型限制。
- 历史 `toolId`、`model` 字段不得阻止提示词在其他模型或工具中复制使用。
- 使用次数为 `0` 时必须显示 `0`，不得显示为 `--` 或空值。

#### R-PRM-02 团队验证

- 只有通过入库审批的个人提示词才能成为团队提示词。
- 团队提示词可被部门管理员在管理范围内编辑、删除；审批员仅能处理待办。
- 团队审批通过后，原提交人不因发布人身份获得编辑、删除能力。

#### R-PRM-03 灵感收藏

- 收藏不修改外部原记录，而是在个人库创建副本。
- 同一用户重复收藏同一来源记录时不得创建重复副本，应提示已收藏或定位已有记录。

#### R-PRM-04 来源管理

- 来源配置及外部内容编辑、删除仅系统管理员可操作。
- 同步失败不能删除上次成功数据；页面需展示失败状态并允许管理员重试。
- 来源同步频率、抓取合规、去重规则和源站删除后的同步策略由技术团队维护，不作为业务侧配置项，也不阻塞本期 PRD。

#### R-PRM-05 公共提示词

- 公共提示词是团队提示词通过公司级审批后形成的内部全公司资产，与灵感广场保持独立入口。
- 公共提示词固定返回 `library=PUBLIC`、`verified=true`；灵感广场固定返回 `library=INSPIRATION`、`verified=false`。
- 公共提示词对全部有效账号可查看、复制和选择使用，仅系统管理员可编辑、删除或处理公共发布审批。
- 公共审批通过后，提示词继续保留在团队提示词中并显示“公共已发布”，同时在公共提示词中显示“公共可用”；两个入口引用同一提示词 ID，公共入口按全公司范围展示。
- 提示词公共选择器固定提供个人提示词、团队提示词、公共提示词、灵感广场四个扁平入口，支持关键词、用途分类、正文预览和单选确认。
- 灵感广场在公共选择器中仍需显示外部来源和“未验证”，不能因入口并列而伪装为内部公共提示词。

#### R-PRM-06 公司资产与账号停用

- 提示词审批进入团队后由团队负责人管理，进入公共后仅由系统管理员管理；原发布人需要删除时联系对应管理员。
- 员工账号停用或离职时不得级联删除团队或公共提示词，必须保留原发布人、审批链路和审计信息。
- 停用账号的个人提示词进入后台归档；本期不新增离职交接页面。

### 7.5 提示词状态

个人、团队和公共提示词复用 `ACTIVE`、`PENDING`、`REJECTED`、`DELETED`。团队到公共的申请使用独立审批单记录目标范围，申请期间提示词自身保持团队 `ACTIVE`。外部来源另有 `ENABLED`、`DISABLED`、`SYNCING`、`SYNC_FAILED`；枚举为建议命名，待技术确认。

页面显示文案、来源页签保留规则和按钮权限统一以 7.6 节为准。灵感广场只展示正常同步且可使用的外部内容，不进入内部审批状态筛选。

### 7.6 素材与提示词页签、状态及操作按钮完整规则

本节是素材库与提示词库页面状态、按钮显隐和跨页签展示的唯一完整口径。其他章节仅描述业务流程或底层状态；如表述存在歧义，以本节为准。本节不包含任何具体 AI 生成工具的页面或生成流程。

#### 7.6.1 状态链路与同资源多视图

```text
个人可用
→ 提交团队
→ 团队审核中
├─ 驳回 → 个人页签：团队已驳回
└─ 通过 → 个人页签：团队已发布
         团队页签：团队可用
         → 申请公共
         → 公共审核中
         ├─ 驳回 → 团队页签：公共已驳回
         └─ 通过 → 团队页签：公共已发布
                  公共页签：公共可用
```

- 团队审批通过后，个人页签保留原提交记录并显示“团队已发布”，团队页签显示“团队可用”。
- 公共审批通过后，团队页签保留原团队记录并显示“公共已发布”，公共页签显示“公共可用”。
- 各页签引用同一个资源 ID，不复制素材文件或提示词正文；个人页签是原提交记录视图，团队和公共页签是当前可用范围视图。
- 个人页签中的“团队已发布”在资源继续进入公共后仍保持“团队已发布”；公共进度和结果在团队页签展示，避免一个页签同时承担两级审批状态。
- 页签数量按当前页签可见记录统计，同一资源可能计入多个页签，因此各页签数量不能相加作为去重后的资源总数。
- “团队已发布”和“公共已发布”是资源稳定状态；“审批通过”只用于审批记录和审批结果提示。

#### 7.6.2 角色口径与按钮显隐

- 原提交人：最初创建素材或提示词并提交团队审批的人。
- 团队负责人：命中资源管理组织范围的部门管理员。
- 审批员：仅能审核命中组织范围且已授权审批事项的申请，不因审批获得团队资源编辑、删除权。
- 系统管理员：管理全公司团队与公共资源，并独占公共发布审批权限。
- 普通可见用户：只能查看、下载、复制或选择使用其组织范围内的团队资源和公共资源。
- 无权限的业务按钮直接隐藏；因提交、审批、保存或删除正在处理而暂时不可操作的按钮保留并禁用，同时显示处理中状态。
- 状态徽标、列表或卡片按钮、详情按钮和服务端接口权限必须一致；前端隐藏按钮不能代替服务端鉴权。

#### 7.6.3 素材库完整按钮矩阵

| 页签 | 状态 | 当前用户可见按钮 |
|---|---|---|
| 个人素材 | 可用 | 查看、下载、编辑、删除、提交到团队 |
| 个人素材 | 团队审核中 | 查看、下载、取消提交；隐藏编辑、删除和重复提交 |
| 个人素材 | 团队已驳回 | 查看、下载、编辑、删除、重新提交；列表和详情展示驳回原因 |
| 个人素材 | 团队已发布 | 查看、下载；不再提供编辑、删除、提交或公共申请按钮 |
| 团体素材 | 团队可用 | 所有可见用户：查看、下载；原提交人：申请公共发布；团队负责人和系统管理员：编辑、删除、申请公共发布 |
| 团体素材 | 公共审核中 | 所有可见用户：查看、下载；公共申请发起人和系统管理员：取消公共申请；隐藏编辑、删除和重复申请 |
| 团体素材 | 公共已驳回 | 所有可见用户：查看、下载；原提交人、团队负责人和系统管理员：再次申请公共；团队负责人和系统管理员：编辑、删除；列表和详情展示公共驳回原因 |
| 团体素材 | 公共已发布 | 所有可见用户：查看、下载；仅系统管理员：编辑、删除；不再提供申请或取消公共申请按钮 |
| 公共素材 | 公共可用 | 所有有效用户：查看、下载；仅系统管理员：编辑、删除 |
| 任意页签 | 已删除 | 不在前台展示，不提供任何操作按钮；仅保留后台审批与审计记录 |

补充“我的分组”操作：除已删除资源外，所有当前用户有权查看的素材均可显示“设置个人分组”；该操作不受素材编辑、删除或审批权限影响，仅写入当前用户与素材的个人关联。团队、公共页签中的素材也适用，其他用户不继承该分组。

团队审批通过后，原提交人如需申请公共发布，必须从团体素材页签操作；个人页签中的“团队已发布”只用于追踪原提交结果，不重复提供团队资产管理按钮。

#### 7.6.4 提示词库完整按钮矩阵

| 页签 | 状态 | 当前用户可见按钮 |
|---|---|---|
| 个人提示词 | 可用 | 复制、详情、编辑、删除、提交团队 |
| 个人提示词 | 团队审核中 | 复制、详情、取消提交；隐藏编辑、删除和重复提交 |
| 个人提示词 | 团队已驳回 | 复制、详情、编辑、删除、重新提交；列表和详情展示驳回原因 |
| 个人提示词 | 团队已发布 | 复制、详情；不再提供编辑、删除、提交或公共申请按钮 |
| 团队提示词 | 团队可用 | 所有可见用户：复制、详情；原提交人：申请公共发布；团队负责人和系统管理员：编辑、删除、申请公共发布 |
| 团队提示词 | 公共审核中 | 所有可见用户：复制、详情；公共申请发起人和系统管理员：取消公共申请；隐藏编辑、删除和重复申请 |
| 团队提示词 | 公共已驳回 | 所有可见用户：复制、详情；原提交人、团队负责人和系统管理员：再次申请公共；团队负责人和系统管理员：编辑、删除；列表和详情展示公共驳回原因 |
| 团队提示词 | 公共已发布 | 所有可见用户：复制、详情；仅系统管理员：编辑、删除；不再提供申请或取消公共申请按钮 |
| 公共提示词 | 公共可用 | 所有有效用户：复制、详情；仅系统管理员：编辑、删除 |
| 灵感广场 | 灵感内容 | 所有有效用户：复制、收藏、详情；仅系统管理员：编辑、删除 |
| 任意页签 | 已删除 | 不在前台展示，不提供任何操作按钮；仅保留后台审批与审计记录 |

团队审批通过后，原提交人如需申请公共发布，必须从团队提示词页签操作。灵感广场不进入团队或公共审批状态筛选；重复收藏同一来源内容不得生成第二份个人副本，应提示已收藏或定位已有记录。

#### 7.6.5 审批入口与审核按钮

| 审批入口 | 可见人员 | 列表按钮 | 审核弹窗按钮与校验 |
|---|---|---|---|
| 团队入库 | 系统管理员、命中组织范围的团队负责人、具备对应审批事项且命中组织范围的审批员 | 审核、查看详情；素材支持下载 | 取消、通过、驳回；通过素材或提示词前必须选择至少一个最终可见组织，且不得超出审批人的组织范围；驳回必须填写原因 |
| 公共发布 | 仅系统管理员 | 审核公共发布、查看详情；素材支持下载 | 取消、通过并发布、确认驳回；驳回必须填写原因 |

- “待我审批”在用户具备至少一种资源审批权限时始终展示，数量允许为 `0`；系统管理员的数量同时包含团队入库和公共发布待办。
- 任一审批人完成处理后，其他审批人的待办实时失效；旧页面再次操作时提示“该申请已被审批”并刷新列表。
- 审批员进入正常团队资源列表时仍按普通可见用户处理，不展示编辑、删除按钮。

#### 7.6.6 页面顶部按钮

| 页面 | 按钮 | 可见与执行规则 |
|---|---|---|
| 素材库 | 上传素材 | 所有有效用户可见；普通用户、团队负责人和审批员上传后默认进入个人素材；系统管理员可按管理需要选择个人、团队或公共范围 |
| 素材库 | 待我审批 | 仅具备素材团队入库审批或系统管理员权限的用户可见 |
| 提示词库 | 新建提示词 | 所有有效用户可见；非系统管理员默认进入个人提示词；系统管理员可按管理需要直接新建公共提示词 |
| 提示词库 | 待我审批 | 仅具备提示词团队入库审批或系统管理员权限的用户可见 |
| 提示词库 | 来源管理 | 仅系统管理员可见，用于新增、停用来源、触发同步和维护屏蔽规则 |

#### 7.6.7 公共选择器展示与按钮

- 素材选择器固定提供个人素材、团体素材、公共素材、本地上传；操作仅包括选择或取消选择、选择本地图片、同时加入个人素材、取消和确认选择。
- 提示词选择器固定提供个人提示词、团队提示词、公共提示词、灵感广场；操作仅包括单选、正文预览、清空模板、取消和使用此模板。
- 管理页负责展示来源记录与审批状态，选择器只展示当前可用资源。个人页签中的“团队已发布”不再作为个人资源出现在选择器中，应从团队来源选择。
- 公共已发布资源继续在团队范围可用，因此可同时出现在团队和公共来源；两个入口使用同一资源 ID，切换入口必须保持选择状态，同一资源不得被重复选择或重复计数。
- 选择器不展示编辑、删除、提交、取消申请或审批按钮；无权限来源页签禁用并显示“当前账号暂无权限”。
- 加载中不展示资源操作；加载失败显示“重新加载”；空状态保留关闭或取消操作，不伪造可选内容。

#### 7.6.8 删除联动与审计

- 个人“可用”或“团队已驳回”的资源由本人删除；团队资产由团队负责人或系统管理员删除；公共资产仅由系统管理员删除。
- 因各页签引用同一资源，删除成功后必须从该资源对应的个人来源记录、团队入口、公共入口和公共选择器统一移除，不允许只删除一个前台副本后留下失效入口。
- 删除团队资源时必须提示其可见团队将无法继续查看或选择；删除公共资源时必须提示全公司将无法继续查看或选择。
- 删除不影响已经生成的历史作品或任务结果；审批记录、发布人、操作人和审计记录继续保留。
- 本期不提供回收站、恢复或离职交接页面；是否软删除由技术方案确定，但不得改变前台移除和审计保留结果。

## 8. 权限管理

### 8.1 页面与数据来源

- 页面仅供系统管理员访问。
- 列表平铺展示聚合管理平台同步的全部人员，不按组织树嵌套人员。
- 支持人员搜索、部门筛选、角色筛选和分页；筛选变化后回到第一页。
- 不展示“权限来源”列；详细来源进入审计记录。
- 页面不能新增、删除账号，不能修改人员所属部门、主管标识和账号状态。

#### 8.1.1 人员列表字段规范

“钉钉身份”与“账号状态”是两个独立业务字段。当前页面可合并在同一列表列中展示，但接口、存储、筛选和测试必须分别处理。

| 列/字段 | 字段与展示规则 | 数据来源及所有权 | 枚举、空值与联动 | 编辑边界 |
|---|---|---|---|---|
| 人员 / 部门 | 展示 `display_name`；次行展示 `user_id` 与 `account`；第三行展示 `department_path`。长文本截断，悬停可查看完整部门路径。 | `user_id`、`account`、姓名、部门 ID 与部门路径来自聚合管理平台同步；钉钉为组织业务事实源。本平台只读。 | 姓名或账号缺失显示 `-`；部门 ID 不存在或路径无法解析显示“未分配部门”，不可配置组织范围，需待上游修复。 | 不提供人员新增、删除、部门调整入口。 |
| 钉钉身份 | 展示标签“主管”或“员工”。 | `is_supervisor` 来自钉钉主管标识，经聚合管理平台同步；本平台只读。 | `true` = 主管；`false` = 员工。主管不是平台角色，会影响默认部门管理员、审批员和基础组织范围。 | 不提供手工修改入口。 |
| 账号状态 | 展示标签“正常”或“已停用”。 | `account_status` 来自聚合管理平台账号状态；本平台只读。 | 服务端规范枚举：`ACTIVE`（正常）、`DISABLED`（已停用）。当前原型演示数据 `active` / `disabled` 是前端映射，接入时须统一转换。 | 不提供启用、停用入口；`DISABLED` 账号的“配置”按钮禁用。 |
| 平台角色 | 以标签展示有效角色，顺序固定为系统管理员、部门管理员、审批员、普通用户。 | 普通用户为有效账号基础角色；主管默认角色由同步主管标识与本平台的默认角色开关共同计算；其他角色来自本平台授权配置。 | 角色 ID：`SYSTEM_ADMIN`、`DEPARTMENT_ADMIN`、`APPROVAL_ADMIN`、`MEMBER`。普通用户不可取消；角色可叠加。 | 仅通过“配置”弹窗修改本平台可维护部分；不得修改上游主管标识。 |
| 组织数据范围 | 系统管理员显示“全部数据”；普通用户显示“个人记录；组织可见资源按资源范围展示”；其余人员展示已授权组织路径并标注“含下级”。 | 主管所属组织来自同步数据；附加组织根节点 `extra_org_ids` 由本平台配置。可选择范围仅为众创事业群及其下级。 | `ALL` = 全部数据；`SELF` = 本人记录与资源可见范围；`ORG_SCOPE` = 所选根组织及全部下级。无可用组织时显示“未设置”。 | 系统管理员无需选择；其他可配置人员只在本平台维护附加组织，不能修改其所属组织。 |
| 审批权限 | 系统管理员显示“全部审批”；部门管理员显示“素材、提示词入库（自动）”；审批员显示已选审批事项；无权限显示“无”。 | 角色来自本平台配置；部门管理员的两类入库审批由角色规则自动计算；审批员事项由本平台配置。 | `MATERIAL_PUBLISH` = 素材入库审批；`PROMPT_PUBLISH` = 提示词入库审批；`POINTS_REQUEST` = 积分申请审批，仅系统管理员。审批员无事项时显示“未设置”。 | 非系统管理员不可勾选积分申请审批；部门管理员无需重复勾选素材、提示词入库审批。 |
| 操作 | 展示“配置”文字按钮。 | 无数据字段。 | `ACTIVE` 可操作；`DISABLED` 禁用。 | 点击打开该人员的配置弹窗；不可在列表内直接修改角色或组织范围。 |

#### 8.1.2 筛选、排序、分页与统计口径

| 区域 | 输入/状态 | 规则 | 数据来源 |
|---|---|---|---|
| 人员搜索 | `keyword` | 按姓名、账号、部门路径、用户 ID 模糊匹配；输入、部门筛选或角色筛选变更后回到第 1 页。 | 当前同步人员快照与本平台计算出的有效角色。 |
| 部门筛选 | `department_id` | 展示完整钉钉组织树；选择父组织时匹配该组织及所有下级人员；“全部部门”不过滤。 | 聚合管理平台同步的完整组织树。 |
| 角色筛选 | `role_id` | 可选全部角色、系统管理员、部门管理员、审批员、普通用户；普通用户筛选仅返回有效角色中只有 `MEMBER` 的人员。 | 本平台角色计算结果。 |
| 列表排序 | 固定排序 | 系统管理员优先，其余按上游返回的人员顺序展示；本期不提供列头排序。 | 本平台计算结果与同步人员顺序。 |
| 分页 | `page_no`、`page_size` | 默认 `page_no=1`、`page_size=5`；可选 5、10、20 条。筛选后结果为空时展示空状态和“清除筛选”。 | 过滤后的人员结果集。 |
| 有效同步账号 | 统计值 | 仅统计 `account_status=ACTIVE` 的人员。 | 同步账号状态。 |
| 钉钉主管 | 统计值 | 仅统计 `account_status=ACTIVE` 且 `is_supervisor=true` 的人员。 | 同步账号状态与主管标识。 |
| 可审批人员 | 统计值 | 仅统计 `account_status=ACTIVE` 且有效角色含 `SYSTEM_ADMIN`、`DEPARTMENT_ADMIN` 或 `APPROVAL_ADMIN` 的人员。 | 同步账号状态与本平台角色计算结果。 |

#### 8.1.3 页面按钮与动作规则

| 按钮/动作 | 可见与可用条件 | 执行规则 | 成功、失败与状态 |
|---|---|---|---|
| 导出 PRD | 仅系统管理员可见。 | 直接下载当前生效的 Markdown PRD，不进入配置流程。 | 成功下载完整文件；源文件不存在或读取失败时返回明确错误，不生成空文件。 |
| 同步钉钉 | 仅系统管理员可见；同步中禁用并显示“同步中”。 | 调用聚合管理平台同步账号、部门、主管标识、账号状态及完整钉钉组织树；同步完成后刷新人员列表、统计、部门筛选和最近同步时间。 | 成功提示同步完成；失败保留上一次成功快照和已有授权，展示失败反馈并允许重试，不得用空结果覆盖现有数据。 |
| 配置 | 仅 `ACTIVE` 人员可点击。 | 打开人员权限配置弹窗，加载该人员当前有效角色、审批事项与组织数据范围。 | 停用账号按钮禁用；服务端再次校验账号状态，避免绕过前端保存。 |
| 清除筛选 | 仅筛选结果为空时展示。 | 清空搜索词、部门筛选和角色筛选，并回到第 1 页。 | 恢复全量列表；无额外数据写入。 |
| 上一页 / 下一页 | 结果集非空时展示；首页禁用上一页，末页禁用下一页。 | 切换当前页，不修改筛选条件。 | 页码边界不可继续翻页；页码因筛选变化越界时回到有效页。 |
| 角色权限说明 | 系统管理员可见。 | 打开只读角色权限说明弹窗。 | 支持关闭按钮、遮罩和 Escape 关闭；不写入权限数据。 |

#### 8.1.4 账号状态与同步边界

- 人员列表必须保留 `ACTIVE` 与 `DISABLED` 的全部同步账号，确保系统管理员可追溯人员及其历史授权。
- `DISABLED` 账号立即失去平台登录、页面访问、数据读取、审批和开放接口调用能力，且不计入三个页面统计。
- `DISABLED` 账号不得打开、保存或清除平台权限配置；服务端必须拦截绕过页面的请求。
- 同步失败时沿用最后一次成功人员与组织快照；同步成功后，组织已不存在的附加组织授权不得继续用于数据授权，处理记录进入审计。
- 上游停用后既有手动角色、附加组织范围和审批事项是否保留，及账号恢复后是否自动恢复，当前未确认。该策略列入第 15 节待确认项；在确定前不得将原型演示行为视为正式规则。

### 8.2 配置弹窗

| 区域/字段 | 字段、展示与数据来源 | 枚举、校验与联动 | 按钮/交互规则 |
|---|---|---|---|
| 人员摘要 | 展示只读 `display_name`、`account`、`department_path`、`is_supervisor`。来自聚合管理平台同步。 | 缺失值沿用列表展示规则；不允许在弹窗修改。 | 无编辑按钮。 |
| 平台角色 | `manual_role_ids` 与主管默认角色开关共同计算有效角色；普通用户固定展示。手动部分由本平台保存。 | 可勾选 `SYSTEM_ADMIN`、`DEPARTMENT_ADMIN`、`APPROVAL_ADMIN`；`MEMBER` 固定存在。主管默认的部门管理员、审批员可分别取消；取消不修改主管标识。 | 多选下拉，连续勾选保持展开，点击控件外部自动收起。取消系统管理员时必须校验仍有至少一名有效系统管理员。 |
| 审批事项 | `approval_type_ids`，由本平台保存。 | 仅有效角色含 `APPROVAL_ADMIN` 时显示；可选 `MATERIAL_PUBLISH`、`PROMPT_PUBLISH`；`POINTS_REQUEST` 固定未勾选且不可操作。审批员至少一个事项才能保存。 | 多选下拉，点击控件外部自动收起；部门管理员自动审批不在此重复配置。 |
| 组织数据范围 | 主管所属组织为同步只读基础范围；`extra_org_ids` 为平台维护的附加组织根节点。 | 系统管理员固定 `ALL`；主管、部门管理员或审批员显示配置区；其他普通用户显示只读说明。选择父组织即包含所有下级，父子同时选中时只保存父级根节点。非系统管理员只能选择众创事业群及下级。 | 支持搜索、展开、半选；部门管理员或审批员至少选择一个有效组织范围才能保存。 |
| 保存权限 | 写入本平台可维护的角色、默认角色开关、审批事项与附加组织范围。 | 校验账号为 `ACTIVE`、审批员事项、部门管理员/审批员组织范围、最后一名有效系统管理员。 | 成功关闭弹窗、刷新该行和统计并提示成功；失败保留弹窗与已填内容，展示明确失败原因。 |
| 清除手动配置 | 删除本平台维护的手动角色、附加组织范围和主管默认角色取消记录；不删除同步字段。 | 最后一名有效系统管理员不可清除。主管清除后恢复主管默认的部门管理员、审批员及其默认审批事项；非主管仅保留普通用户。 | 先二次确认；成功关闭弹窗并刷新列表，取消确认不改变数据。 |
| 关闭/取消 | 不写入任何字段。 | 关闭按钮、遮罩和 Escape 均可触发。 | 丢弃本次未保存的修改；已保存内容不回滚。 |

角色与审批事项下拉在点击控件外部后自动收起；弹窗支持取消、关闭按钮、遮罩和 Escape 关闭。停用账号不可配置。

### 8.3 权限功能规则

#### R-PER-01 上游同步

- 聚合管理平台提供稳定用户 ID、账号、姓名、所属组织、主管标识、登录状态、账号状态和完整钉钉组织树。账号状态必须映射为本 PRD 的 `ACTIVE` 或 `DISABLED`。
- 本平台只保存手动角色、主管默认角色是否被取消、审批事项、附加组织范围和审计记录。
- 上游账号停用后必须立即失去平台访问能力。

#### R-PER-02 最后一名系统管理员

- 平台必须始终保留至少一名有效系统管理员。
- 降权、并发互相降权和上游停用都需服务端事务校验；不能只依赖前端当前列表计数。
- 上游停用导致无有效管理员时需告警并提供受控恢复方式，具体运维流程待技术确认。

#### R-PER-03 审批事项

- 审批员至少选择一个可授权审批事项和一个组织范围才能保存。
- 系统管理员固定拥有全部审批，不单独配置事项。
- 部门管理员自动拥有其范围内的素材和提示词入库审批，不依赖审批员事项勾选。
- 积分申请审批一期固定仅系统管理员拥有。
- 后续新增审批事项时不自动赋予现有主管、部门管理员或审批员；是否开放及赋予哪些角色，必须在对应新增需求中明确。
- 审批人满足当前角色、审批事项和组织范围规则时，可以审批本人提交的资源，不增加自审限制。
- 素材与提示词的公共发布审批固定仅系统管理员处理，不作为可下放审批事项，不因部门管理员或审批员角色自动获得。

#### R-PER-04 审计

- 记录操作人、目标人员、变更前后角色、审批事项、组织范围、操作时间、来源平台和结果。
- 清除配置、系统管理员变更、越权拒绝及同步导致的权限变化均需可追溯。

## 9. 跨平台数据共享

### 9.1 总体原则

- 本平台是素材与提示词的主数据服务，其他 AI 平台调用数据，不复制本页面。
- 资源、权限、审批、组织和状态在服务端统一判断，各调用方不得自行复制权限规则。
- 对外对象使用稳定资源 ID；文件地址使用受控访问方式，不返回永久公开地址。
- 所有调用携带调用平台身份和可信用户身份，不能接受调用方任意传入用户 ID 后直接信任。

### 9.2 分阶段落地

| 阶段 | 范围 | 写入规则 | 本期状态 |
|---|---|---|---|
| 一期 | 查询列表、筛选、详情、获取素材内容、获取提示词正文、回传使用事件 | 不允许外部平台创建或修改主数据 | 本期交付 |
| 二期 | 外部平台新增个人素材/提示词、编辑本人草稿、提交或取消团队审批 | 默认归属当前用户个人库，不能绕过审批直接进入团队或公共库 | 架构预留 |
| 后续 | 授权服务账号管理团队资源、版本管理、Webhook 变更通知 | 需单独配置操作权限、组织范围、幂等和审计 | 不在本期 |

### 9.3 一期可调用数据

- 素材：状态为可用的团体素材和公共素材。团体素材按当前用户组织与资源可见组织过滤。
- 提示词：状态为可用的团队提示词、公共提示词和灵感广场提示词。接口必须返回 `library` 和 `verified` 标识；公共提示词返回 `library=PUBLIC`、`verified=true`，灵感广场数据返回 `library=INSPIRATION`、`verified=false`，不得将外部灵感内容伪装为内部已验证。
- 个人素材和个人提示词一期不通过开放数据接口读取。
- 系统管理员通过管理接口可查看全部数据，但普通业务平台不能借用系统管理员权限为所有用户返回全量资源。

### 9.4 产品级接口能力

以下为能力契约，不限定最终 URL、协议细节和字段长度：

| 能力 | 必要输入 | 返回/结果 | 权限要求 |
|---|---|---|---|
| 查询素材 | 调用平台、可信用户、类型、范围、类目、标签、关键词、分页游标 | 当前用户可见的资源摘要及下一页游标 | 资源读取范围 |
| 获取素材详情 | 调用平台、可信用户、资源 ID | 元数据、可用状态、受控文件地址 | 资源读取范围 |
| 查询提示词 | 调用平台、可信用户、库类型、用途、关键词、分页游标 | 当前用户可见的个人、团队、公共或灵感提示词摘要 | 资源读取范围 |
| 获取提示词详情 | 调用平台、可信用户、资源 ID | 正文、用途、来源、验证标识 | 资源读取范围 |
| 回传使用事件 | 调用平台、可信用户、资源 ID、使用场景、请求唯一 ID | 接收成功或幂等重复结果 | 当前用户对资源可读 |

### 9.5 二期写入契约预留

- 每条外部写入带 `source_platform_id`、`external_resource_id`、可信用户、请求幂等键和来源时间。
- 同一来源平台下 `external_resource_id` 唯一；重复请求返回原结果，不重复创建。
- 新增默认进入当前用户个人库；提交团队时复用本 PRD 的审批单和组织权限，不允许调用方直接写 `APPROVED`。
- 更新、删除必须校验资源归属、状态和角色；审核中的资源须先取消提交。
- 外部写入、审批、失败和重试均进入审计记录。
- 认证方式、签名机制、令牌有效期、限流、超时、文件上传协议及 SLA 待技术方案确认。

## 10. 关键数据对象

字段长度、数据库类型和文件限制无现成依据的均待技术确认。

### 10.1 资源公共字段

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `resource_id` | 字符串 | 是 | 平台稳定唯一 ID |
| `resource_type` | 枚举 | 是 | `MATERIAL` / `PROMPT` |
| `owner_user_id` | 字符串 | 是 | 创建或归属用户稳定 ID |
| `owner_org_id` | 字符串 | 是 | 创建时所属钉钉组织 ID |
| `status` | 枚举 | 是 | 资源实体生命周期状态：`ACTIVE` / `PENDING` / `REJECTED` / `DELETED`。团队到公共申请期间资源实体保持 `ACTIVE`；页签显示状态不得只根据本字段计算 |
| `visible_org_ids` | 字符串数组 | 条件必填 | 团体资源至少一个授权根组织 |
| `source_type` | 枚举 | 是 | 手动、AI生成、团队审核、外部同步、外部平台写入等；最终枚举待技术确认 |
| `source_platform_id` | 字符串 | 否 | 外部平台来源标识 |
| `external_resource_id` | 字符串 | 否 | 来源平台内资源 ID |
| `created_at` / `updated_at` | 时间 | 是 | 服务端时间 |
| `version` | 整数 | 是 | 用于并发更新和后续版本扩展 |

### 10.2 素材字段

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `title` | 字符串 | 是 | 素材名称 |
| `material_type` | 枚举 | 是 | `IMAGE` / `VIDEO` / `AUDIO` |
| `library_scope` | 枚举 | 是 | 当前最高已审批归属：`PERSONAL` / `TEAM` / `PUBLIC`。团队审批通过后更新为 `TEAM`，公共审批通过后更新为 `PUBLIC`；本字段不能单独决定资源出现在哪些页签 |
| `file_id` | 字符串 | 是 | 文件服务稳定 ID，不直接保存公开 URL |
| `mime_type` | 字符串 | 是 | 文件 MIME 类型 |
| `file_size` | 整数 | 是 | 统一按字节保存 |
| `category` | 枚举 | 条件必填 | 新资源必填；固定为 `GENERAL`、`MEDICAL_DEVICE`、`HEALTH`、`PET`、`PROTECTIVE_GEAR`、`BEAUTY`、`IMPORTED_SUPPLEMENT`、`PERSONAL_CARE`、`CARPET`；历史空值按“未分类”展示，建议命名待技术确认 |
| `tags` | 字符串数组 | 否 | 标签 |
| `remark` | 字符串 | 否 | 备注 |

#### 10.2.1 素材个人分组关联对象

“我的分组”属于用户与素材之间的个人关联，不写入素材公共实体，也不参与资源可见范围判断。以下为逻辑数据对象，物理表名、接口命名和索引由技术方案确认：

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `material_id` | 字符串 | 是 | 引用素材 `resource_id`；素材删除后该关联不再返回前台 |
| `user_id` | 字符串 | 是 | 当前员工稳定 ID；来源于登录账号，不由前端自定义 |
| `group_name` | 字符串 | 否 | 当前员工自定义的个人分组名称；空值表示“未分组” |
| `updated_at` | 时间 | 是 | 最近一次设置、替换或清空分组的服务端时间 |

- `(user_id, material_id)` 唯一；同一员工对同一素材最多保留一条关联记录。
- 设置新分组覆盖原分组；清空分组后按“未分组”筛选，是否物理删除关联记录由技术方案确定。
- 分组名称列表可从当前员工已有有效关联中生成；新建分组不需要单独的公共分组实体。

### 10.3 提示词字段

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `title` | 字符串 | 是 | 提示词名称 |
| `content` | 文本 | 是 | 提示词正文 |
| `summary` | 文本 | 否 | 列表摘要 |
| `purpose` | 枚举 | 是 | 通用、商品主图、详情页、买家秀、场景图、营销海报、短视频 |
| `library` | 枚举 | 是 | 当前最高已审批归属：`PERSONAL` / `TEAM` / `PUBLIC`；外部同步内容固定为 `INSPIRATION`。内部提示词团队审批通过后更新为 `TEAM`，公共审批通过后更新为 `PUBLIC`；本字段不能单独决定提示词出现在哪些页签 |
| `tags` | 字符串数组 | 否 | 标签 |
| `verified` | 布尔 | 是 | 是否通过内部团队审核 |
| `collected_from_id` | 字符串 | 否 | 从灵感广场收藏时记录原资源 ID |
| `usage_count` | 非负整数 | 是 | 使用次数，无使用时为 `0` |

### 10.4 权限与审批字段

#### 10.4.1 人员同步与权限对象

| 字段 | 类型 | 必填 | 数据来源/所有权 | 枚举、默认与校验 |
|---|---|---|---|---|
| `user_id` | 字符串 | 是 | 聚合管理平台 | 稳定唯一 ID；不得由前端生成或修改。 |
| `account` | 字符串 | 是 | 聚合管理平台 | 用于列表辅助识别与搜索；为空时展示 `-`。 |
| `display_name` | 字符串 | 是 | 聚合管理平台 | 用于展示与搜索；为空时展示 `-`。 |
| `department_id` | 字符串 | 否 | 聚合管理平台 | 当前所属钉钉组织 ID；组织缺失时不可配置组织范围。 |
| `department_path` | 字符串 | 否 | 聚合管理平台根据同步组织树计算 | 用于展示与搜索，不作为授权判断的唯一依据。 |
| `is_supervisor` | 布尔 | 是 | 钉钉主管标识经聚合管理平台同步 | `true` = 主管，`false` = 员工；不是平台角色。 |
| `account_status` | 枚举 | 是 | 聚合管理平台 | `ACTIVE` / `DISABLED`；仅 `ACTIVE` 可访问和配置。 |
| `manual_role_ids` | 枚举数组 | 是 | 本平台 | 可保存 `SYSTEM_ADMIN`、`DEPARTMENT_ADMIN`、`APPROVAL_ADMIN`；默认空数组。`MEMBER` 不落库，按有效账号基础规则计算。 |
| `supervisor_default_role_overrides` | 枚举数组或布尔映射 | 是 | 本平台 | 仅主管适用；记录是否取消默认部门管理员和审批员。字段具体存储形态待技术确认，但不可覆盖 `is_supervisor`。 |
| `approval_type_ids` | 枚举数组 | 是 | 本平台 | `MATERIAL_PUBLISH`、`PROMPT_PUBLISH`；默认空数组。`POINTS_REQUEST` 不可写入非系统管理员授权。 |
| `extra_org_ids` | 字符串数组 | 是 | 本平台 | 仅保存众创事业群下的授权根组织 ID；保存时剔除被已选父级覆盖的子级。默认空数组。 |
| `synced_at` | 时间 | 是 | 本平台记录同步结果 | 最近一次成功同步时间；同步失败不得覆盖。 |

有效角色、数据范围和审批能力为运行时计算结果，不重复持久化：`MEMBER` 为有效账号基础角色；主管默认叠加的部门管理员、审批员和所属组织基础范围来自 `is_supervisor` 与默认角色开关；系统管理员的数据范围固定为 `ALL`。

#### 10.4.2 审批与外部调用对象

| 对象 | 关键字段 | 说明 |
|---|---|---|
| 审批单 | `approval_id`、`resource_id`、`approval_type`、`source_scope`、`target_scope`、`submitter_id`、`submitter_org_id`、`status`、`reviewer_id`、`visible_org_ids`、`reason`、时间字段 | `target_scope` 为 `TEAM` 或 `PUBLIC`；审批状态建议 `PENDING` / `APPROVED` / `REJECTED` / `CANCELLED`。公共申请期间原团队资源保持可用 |
| 外部调用方 | `platform_id`、`name`、`status`、`allowed_resource_types`、`created_at` | 凭证字段不得出现在前端或日志明文中 |

#### 10.4.3 资源页签视图投影

为满足 7.6 节“同一资源 ID、多个页签视图”的规则，列表接口必须基于资源实体、审批单和当前用户权限计算页签视图投影。该对象是前后端数据契约，可由查询实时计算、缓存或独立持久化；具体技术实现待技术方案确定，但不得通过复制素材文件或提示词正文实现。

| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| `resource_id` | 字符串 | 是 | 引用唯一资源实体；同一资源在不同页签返回相同 ID |
| `view_scope` | 枚举 | 是 | 当前返回记录所属页签：`PERSONAL` / `TEAM` / `PUBLIC` / `INSPIRATION` |
| `display_status` | 枚举 | 是 | 当前页签展示状态，使用下表定义的机器可读枚举 |
| `source_approval_id` | 字符串 | 否 | 产生当前团队或公共视图的审批单 ID；直接创建和外部同步内容可为空 |
| `visible_org_ids` | 字符串数组 | 条件必填 | `TEAM` 视图必填；个人、公共和灵感视图为空数组 |
| `selectable` | 布尔 | 是 | 是否可进入公共选择器；按当前页签状态、资源有效性与用户权限计算，不由前端自行推断 |

页签投影与显示状态固定映射如下，枚举名称为建议命名，待技术方案统一后冻结：

| 页签 | 显示文案 | `display_status` | 计算来源 |
|---|---|---|---|
| 个人 | 可用 | `PERSONAL_ACTIVE` | 本人资源有效，尚未提交或已取消团队提交 |
| 个人 | 团队审核中 | `TEAM_PENDING` | 最新团队审批单为 `PENDING` |
| 个人 | 团队已驳回 | `TEAM_REJECTED` | 最新团队审批单为 `REJECTED` |
| 个人 | 团队已发布 | `TEAM_PUBLISHED` | 团队审批单为 `APPROVED`；资源实体已归属团队或公共，但保留原提交人来源视图 |
| 团队 | 团队可用 | `TEAM_ACTIVE` | 团队审批通过且没有有效公共申请结果 |
| 团队 | 公共审核中 | `PUBLIC_PENDING` | 最新公共审批单为 `PENDING`，团队视图继续可用 |
| 团队 | 公共已驳回 | `PUBLIC_REJECTED` | 最新公共审批单为 `REJECTED`，团队视图继续可用 |
| 团队 | 公共已发布 | `PUBLIC_PUBLISHED` | 公共审批单为 `APPROVED`；团队视图继续保留原组织范围 |
| 公共 | 公共可用 | `PUBLIC_ACTIVE` | 公共审批通过或由系统管理员直接创建公共资源 |
| 灵感广场 | 灵感内容 | `INSPIRATION_ACTIVE` | 外部来源正常同步且当前内容可用 |

- 个人页签查询由本人当前个人资源与本人已获团队审批通过的来源记录共同组成；不能只按资源实体当前 `library_scope/library=PERSONAL` 查询。
- 团队页签查询由团队审批通过记录、原团队可见组织和最新公共审批结果共同组成；公共审批通过后仍保留团队投影。
- 公共页签只返回公共审批通过或系统管理员直接创建的有效资源。
- 页签数量按视图投影计数；资源去重总数按 `resource_id` 计数，两种统计口径不得混用。
- 公共选择器按 `selectable=true` 返回资源；同一 `resource_id` 同时出现在团队和公共来源时，选择状态和数量按资源 ID 去重。
- 编辑、删除、审批和取消按钮权限不落在视图投影中，服务端按 5.1 与 7.6 节的角色、组织范围、申请人和状态实时判断。
- 删除资源实体后，所有页签投影立即失效并从前台移除；审批、发布和审计记录继续保留。

## 11. 埋点、统计与审计

### 11.1 业务埋点

| 模块 | 事件 |
|---|---|
| 素材 | 列表曝光、详情查看、下载、选择使用、上传成功/失败、设置/清空个人分组、提交、取消、通过、驳回 |
| 提示词 | 列表曝光、详情查看、复制、收藏、新增、提交、取消、通过、驳回 |
| 跨平台 | 查询、详情读取、文件获取、提示词获取、使用回传、接口失败 |

公共维度至少包含资源 ID、资源库/范围、资源类型或用途、用户 ID、用户组织、调用平台、页面/使用场景、事件时间和请求唯一 ID。数据看板必须按用户当时有权查看的组织范围过滤。

### 11.2 审计日志

以下操作必须记录审计而非普通埋点：角色和组织授权变更、审批、团体/公共资源编辑删除、来源配置、外部平台配置、外部写入、权限拒绝和管理员恢复。

## 12. 边界与异常

| 场景 | 处理规则 | 用户/调用方反馈 |
|---|---|---|
| 提交时账号或所属组织已失效 | 不生成审批单 | 提示账号或组织状态异常 |
| 审批时权限被撤回 | 服务端拒绝，不改变审批单 | 提示无权处理并刷新列表 |
| 同一审批单被多人同时处理 | 仅首个成功事务生效；审批完成后实时更新其他人的待审批列表 | 旧页面再次操作时提示“该申请已被审批”并刷新列表 |
| 团体资源未选择可见组织 | 禁止通过或保存 | 明确提示至少选择一个组织 |
| 个人资源直接申请公共发布 | 禁止创建审批单 | 提示需先通过团队审核 |
| 公共申请处理中 | 原团队资源继续保持可用；禁止重复申请 | 显示“公共审核中”，保留取消申请入口 |
| 公共申请被驳回 | 不改变原团队资源与可见组织 | 展示驳回原因并允许再次申请 |
| 历史素材没有类目 | 不自动写入“通用” | 展示“未分类”，有权限者可编辑补录 |
| 个人分组未设置 | 不创建共享素材字段或默认分组记录 | 当前员工显示“未分组”，不影响素材查看和使用 |
| 团队或公共素材设置个人分组 | 仅保存当前员工与素材的个人关联 | 其他员工、审批人和共享范围不受影响 |
| 创建个人分组使用保留名称 | 服务端拒绝保存 | 提示分组名称不可用；固定筛选项继续可用 |
| 用户伪造自定义类目 | 服务端拒绝保存 | 提示请选择有效类目并刷新固定选项 |
| 删除审核中资源 | 禁止直接删除 | 引导先取消提交 |
| 组织树同步失败 | 保留上次成功快照，不清空授权 | 管理端展示同步失败并允许重试 |
| 上游账号状态变为停用 | 立即阻断登录、读取、审批和权限配置；保留人员列表用于追溯 | 列表显示“已停用”，配置按钮禁用 |
| 停用账号恢复为正常 | 账号可重新进入列表配置流程；既有手动授权是否自动恢复待确认 | 恢复后的角色与范围按最终确认策略展示 |
| 外部来源同步失败 | 保留上次成功内容 | 来源管理显示失败状态 |
| 对外接口越权 | 不返回资源是否存在的额外信息 | 统一返回无权限/不可用结果并记审计 |
| 对外接口重复请求 | 按请求唯一 ID 或幂等键去重 | 返回原结果，不重复计数或创建 |
| 文件临时地址失效 | 重新鉴权获取 | 不暴露永久文件地址 |

## 13. 非功能要求

| 维度 | 要求 |
|---|---|
| 安全 | 服务端鉴权覆盖列表、详情、文件、复制正文、管理、审批和开放接口；凭证与文件地址不得公开 |
| 一致性 | 审批状态、角色变更、最后管理员校验和资源发布使用事务或等价一致性机制 |
| 性能 | 列表、搜索和组织树必须分页或按需加载；具体响应时间、并发和限流待技术确认 |
| 可用性 | 上游组织或外部来源短时失败时保留最后一次成功数据，不以空数据覆盖 |
| 兼容性 | 页面遵循现有 UI 规范，桌面、1280px、1024px及窄屏下可完成核心操作；宽表仅容器内滚动 |
| 隐私 | 人员、组织、资源及调用日志仅用于内部授权业务，不向未授权外部服务扩散 |
| 数据保留 | 素材文件、删除数据、审批记录和审计日志沿用当前系统已生效的保留与删除规则，本期不调整 |

## 14. 验收标准

| 编号 | 关联规则 | 前置条件 | 操作 | 预期结果 | 类型 |
|---|---|---|---|---|---|
| AC-01 | CHG-01 / R-MAT-01 | 普通用户登录 | 上传图片、视频或音频 | 资源进入个人素材，不能直接选择公共范围 | 正常 |
| AC-02 | R-MAT-03 | 本人素材审核中 | 尝试编辑或删除，再取消提交 | 编辑删除先被禁止；取消后恢复入口 | 边界 |
| AC-03 | CHG-01 | 本人可用素材 | 提交到团队 | 不要求选组织，生成归属本人部门的待办，素材显示审核中 | 正常 |
| AC-04 | R-MAT-02 | 审批员命中组织范围 | 通过素材并选择可见组织 | 团体素材发布；审批员仍无编辑删除入口 | 权限 |
| AC-05 | R-MAT-01 | 用户不属于可见组织 | 请求团体素材列表、详情、文件 | 各入口均不返回该资源 | 安全 |
| AC-06 | R-PRM-01 | 任意有效用户 | 新增提示词 | 仅需填写文本及用途等信息，不要求工具或模型 | 正常 |
| AC-07 | R-PRM-03 | 用户已收藏某灵感提示词 | 再次收藏 | 不产生重复个人副本，并给出明确反馈 | 边界 |
| AC-08 | R-PRM-04 | 非系统管理员登录 | 访问来源管理或修改灵感内容 | 页面无入口且接口拒绝 | 权限 |
| AC-09 | R-PER-01 | 聚合平台返回四级以上组织 | 同步并打开组织树 | 按真实父子关系展示至全部叶子节点 | 联动 |
| AC-10 | R-PER-03 | 给 BP 配置审批员 | 选择提示词审批和两个业务组织后保存 | BP 仅看到两个范围的提示词待办，不获得团体资源编辑删除 | 权限 |
| AC-11 | R-PER-03 | 部门管理员未配置审批员 | 打开授权范围内素材/提示词待办 | 仍可处理两类资源入库审批 | 权限 |
| AC-12 | R-PER-03 | 非系统管理员配置权限 | 查看积分审批事项 | 不可勾选；伪造请求也不能获得积分审批 | 安全 |
| AC-13 | R-PER-02 | 仅剩一名有效系统管理员 | 尝试取消其系统管理员 | 服务端拒绝，角色不变并产生审计 | 边界 |
| AC-14 | CHG-04 | 外部平台携带可信用户身份 | 查询素材和提示词 | 只返回该用户可见且状态可用的数据 | 联动 |
| AC-15 | CHG-04 | 外部平台无权限或凭证失效 | 请求详情或文件 | 不返回资源内容，记录拒绝结果 | 异常 |
| AC-16 | CHG-05 | 同一请求唯一 ID 重复回传使用事件 | 连续提交两次 | 仅记一次有效使用，第二次返回幂等结果 | 边界 |
| AC-17 | CHG-01 / CHG-02 | 两名审批人同时处理同一待办 | 第一人完成审批，第二人停留在旧页面并再次点击审批 | 第一人处理后第二人的待办实时移除；旧页面操作时提示“该申请已被审批”并刷新列表，不重复处理 | 并发 |
| AC-18 | CHG-01 / CHG-02 | 搜索无结果或待办为零 | 打开对应页面 | 展示明确空状态；有审批权限者仍保留待我审批入口 | 空状态 |
| AC-19 | CHG-04 | 外部平台携带有效身份 | 查询灵感广场提示词 | 返回有权调用的灵感数据，并明确返回 `INSPIRATION` 和 `verified=false` | 联动 |
| AC-20 | R-PER-03 | 审批人提交了本人资源且仍有对应审批权限 | 在待审批中处理本人提交 | 按普通审批规则完成，不因提交人与审批人相同而阻止 | 权限 |
| AC-21 | R-PER-03 | 平台后续新增一种审批事项 | 检查现有主管、部门管理员和审批员权限 | 新事项不自动加入任何现有人员权限，需按新增需求配置 | 扩展 |
| AC-22 | 8.1.1 / R-PER-01 | 同步到主管、员工、正常和停用账号各一名 | 打开权限人员列表 | “主管/员工”与“正常/已停用”分别展示；停用账号仍在列表且配置按钮禁用 | 字段/边界 |
| AC-23 | 8.1.2 | 同时存在正常主管、停用主管和正常审批员 | 查看三个统计值 | 有效同步账号、钉钉主管、可审批人员均只统计 `ACTIVE` 人员，口径与列表有效角色一致 | 统计 |
| AC-24 | 8.1.3 / R-PER-01 | 上游同步接口失败且已有上次成功数据 | 点击同步钉钉 | 人员、组织与既有授权均保留；页面显示失败反馈并可重试 | 异常 |
| AC-25 | 8.2 / R-PER-02 | 普通员工、主管和最后一名系统管理员各一名 | 分别打开配置并保存、清除授权 | 普通用户不可取消；主管默认角色可分别调整且不改变主管标识；最后一名有效系统管理员不能被降权或清除 | 字段/权限 |
| AC-26 | R-MAT-05 | 普通用户上传素材 | 不修改默认类目并提交 | 新素材保存为“通用”，在素材库和素材选择器中显示一致 | 正常 |
| AC-27 | R-MAT-05 | 存在历史无类目素材 | 打开列表、详情和筛选，再编辑补录 | 未补录前显示“未分类”且不被写成“通用”；补录后各入口同步更新 | 兼容 |
| AC-28 | R-MAT-06 | 团体素材状态可用 | 原提交人发起公共申请 | 生成仅系统管理员可见的公共待办；素材继续在团体范围可用且不能重复申请 | 正常 |
| AC-29 | R-MAT-06 | 公共素材申请待审批 | 系统管理员通过或驳回 | 通过后同一素材在团体页签显示“公共已发布”、公共页签显示“公共可用”并全公司可见；驳回后继续保留团体素材并展示原因 | 权限 |
| AC-30 | R-PRM-05 | 公共提示词和灵感提示词各一条 | 打开提示词库或公共选择器 | 公共提示词显示内部已验证；灵感广场显示外部来源和未验证，二者不混入同一入口 | 联动 |
| AC-31 | R-MAT-04 / R-PRM-05 | 用户仅命中部分团队组织 | 分别切换选择器各入口并搜索筛选 | 只返回个人、命中组织的团队、公共及有权灵感资源；切换入口不扩大权限 | 安全 |
| AC-32 | CHG-06 | 在桌面、1280px、1024px和窄屏打开两个选择器 | 使用搜索、筛选、选择、Esc、遮罩和确认 | 弹窗不被导航裁切，标题和操作区固定，内容区可滚动，键盘及关闭行为有效 | 兼容 |
| AC-33 | R-MAT-07 / R-PRM-06 | 个人资源提交团队、团队资源申请公共 | 分别打开提交确认弹窗并完成审批 | 提交前显示对应管理员与删除权限提示；团队通过后仅团队负责人可删除，公共通过后仅系统管理员可删除 | 权限 |
| AC-34 | 6.1 / 7.1 | 素材和提示词存在全部适用状态 | 切换个人、团队、公共并使用状态筛选 | 状态选项、徽标、详情和操作一致；素材图片、视频、音频均有可检查示例；公共范围不出现审核中或驳回内容 | 联动 |
| AC-35 | R-MAT-07 / R-PRM-06 | 员工账号由上游变为停用 | 检查其个人、团队和公共资源 | 团队和公共资产继续可用且保留发布与审批信息；个人资源后台归档；不发生级联删除 | 边界 |
| AC-36 | R-MAT-06 / R-PRM-05 | 团队资源公共审批通过 | 分别查看团队与公共入口、详情及操作按钮 | 团队显示“公共已发布”并保留原组织范围，公共显示“公共可用”和全公司范围；两处为同一资源且仅系统管理员可编辑删除 | 联动/权限 |
| AC-37 | 7.6.1 / 7.6.3 / 7.6.4 | 个人素材或提示词团队审批通过 | 分别查看个人与团队页签、详情及操作按钮 | 个人显示“团队已发布”且只保留查看、下载或复制、详情能力；团队显示“团队可用”；两处引用同一资源 ID | 联动/权限 |
| AC-38 | 7.6.3 / 7.6.4 | 准备素材和提示词全部适用状态，并分别使用普通用户、原提交人、团队负责人、审批员和系统管理员身份访问 | 逐个切换页签、状态和身份，检查列表、详情与按钮 | 每一行按钮与 7.6 完整矩阵一致；无权限按钮隐藏，处理中按钮禁用，伪造请求由服务端拒绝 | 状态/权限 |
| AC-39 | 7.6.7 | 同一资源已团队发布或公共发布 | 分别打开素材和提示词选择器并切换来源 | “团队已发布”的个人来源记录不进入个人选择来源；公共已发布资源在团队和公共来源使用同一 ID，不能重复选择或重复计数 | 联动/边界 |
| AC-40 | 7.6.8 | 有权限者删除团队或公共资源 | 删除后检查个人来源记录、团队、公共及选择器入口 | 所有前台入口同步移除，历史作品不受影响，审批和审计记录继续保留 | 删除/审计 |
| AC-41 | 10.4.3 | 同一资源依次通过团队和公共审批 | 分别请求个人、团队、公共列表并核对页签计数与去重总数 | 三个页签返回相同 `resource_id`、各自正确的 `view_scope` 和 `display_status`；页签计数按投影计算，去重总数按资源 ID 计算 | 数据/联动 |
| AC-42 | CHG-07 / R-MAT-08 | 当前用户可查看一条素材 | 新建一个个人分组并为素材选择该分组，再按分组筛选 | 素材仅在当前用户的该分组中出现；平台统一类目保持不变 | 正常 |
| AC-43 | CHG-07 / R-MAT-08 | 当前用户可查看团队或公共素材 | 为共享素材设置个人分组，并让另一用户查看同一素材 | 当前用户可按个人分组找到；另一用户不继承该分组；团队/公共可见范围和审批状态不变 | 权限/联动 |
| AC-44 | CHG-07 / R-MAT-08 | 同一素材已有个人分组 | 改选另一分组，再清空分组 | 任一时刻最多归属一个分组；清空后显示“未分组”，不删除素材 | 边界 |
| AC-45 | CHG-07 / R-MAT-08 | 素材处于审核中、团队可用或公共可用 | 在列表、详情或卡片设置个人分组 | 只要当前用户有查看权限就可设置；不改变素材生命周期、审批、编辑或删除权限 | 状态/权限 |
| AC-46 | CHG-07 / R-MAT-08 | 已设置个人分组的素材进入素材选择器 | 在选择器切换个人分组筛选并选择素材 | 选择器使用同一当前用户分组关系过滤；切换筛选不扩大资源可见范围，素材选择回填规则不变 | 跨模块 |
| AC-47 | CHG-08 | 商品、素材、提示词任一团队审批或编辑入口 | 搜索组织、展开/收起组织树并选择父组织 | 三类入口使用一致的组件交互；父组织选择后下级呈继承态并返回正确组织值 | 正常/跨模块 |
| AC-48 | CHG-08 | 操作人仅有部分授权组织或无授权组织 | 搜索并尝试选择范围外组织，或打开空授权范围 | 范围外组织不展示或不可选；无可选组织展示空状态；服务端拒绝越权保存/审批 | 权限/安全 |
| AC-49 | CHG-08 | 团队审批通过与公共审批通过 | 分别打开审批弹窗并检查可见组织控件 | 团队资源通过前必须选择至少一个可见组织；公共审批不展示组织选择器且通过后固定全公司可见 | 边界 |

## 15. 待确认项

| 编号 | 问题 | 处理边界 | 不确认的影响 | 状态 |
|---|---|---|---|---|
| TBD-01 | 对外平台认证、限流、超时、SLA与文件传输协议 | 由技术方案评审确定，产品已锁定身份、权限、幂等和审计要求 | 影响开放接口联调和上线 | 待技术确认 |
| TBD-02 | 上游账号停用后，本平台既有手动角色、审批事项和附加组织范围是否保留；账号恢复后是否自动恢复 | 已确认的是停用立即阻断访问且不可配置；仅确定授权记录保存/恢复策略，不改变上游账号状态所有权 | 影响账号恢复后的权限结果、审计口径和开发数据迁移方案 | 待业务与技术确认 |

## 16. 页面清单与一期结果

| 页面 | 路由 | 一期用户结果 |
|---|---|---|
| 素材库 | `/materials` | 个人资源可管理并提交；团队资源按组织共享和审批；公共资源全公司使用；当前员工可用“我的分组”整理和筛选可见素材 |
| 提示词库 | `/prompts` | 个人沉淀、团队验证、公司公共和外部灵感四类文本资产清晰分开 |
| 权限管理 | `/admin/permission` | 系统管理员按人配置角色、审批事项和组织范围；账号组织仍由聚合平台维护 |

工作台公共选择器不新增独立路由：素材选择器固定提供个人、团体、公共、本地上传，并支持当前员工的“我的分组”筛选；提示词选择器固定提供个人、团队、公共、灵感广场，由需要调用素材或提示词资源的 AI 工作台按需复用。

开发实施时，以上三个页面共同依赖统一的账号组织同步、服务端授权、资源服务、审批服务、文件服务、开放接口、埋点和审计能力；商品库同时复用同一可见组织公共组件。任何单页不得自行实现另一套权限或可见范围算法。
