# 审核审批流程说明文档 ## 一、审核流程总图 ### 1.1 版本审核流程图 ```mermaid flowchart TD A[开发者创建技能] --> B[版本状态: 无
技能状态: 开发中] B --> C[开发者上传新版本] C --> D[版本状态: 审核中
技能状态: 开发中/已上架] D --> E[添加到版本审核待处理列表] E --> F[管理员处理审核] F -->|通过| G[版本状态: 审核通过] G --> H{是首个通过版本?} H -->|是| I[技能状态: 已上架
当前生效版本更新为该版本] H -->|否| J[当前生效版本更新为该版本
技能状态保持不变] I --> K[技能可在市场展示] J --> K K --> End[结束] F -->|拒绝| L[版本状态: 审核拒绝
技能状态保持不变] L --> M[管理员填写拒绝理由] M --> N[开发者查看拒绝理由] N --> End ``` ### 1.2 下架审核流程图 ```mermaid flowchart TD A[前置条件: 技能状态已上架
版本状态无审核中] --> B[开发者点击下架技能] B --> C[技能状态: 下架审核中
版本状态保持不变
仅允许撤回下架申请] C --> D[添加到下架审核待处理列表] C -->|开发者撤回申请| H[技能状态: 已上架
版本状态保持不变
操作按钮恢复可用] H --> I[维持上架状态,用户可正常使用] I --> End D --> E[管理员处理下架申请] E -->|通过| F[技能状态: 已下架
版本状态保持不变
仅允许删除操作] F --> G[从技能市场移除
已订阅用户无法继续使用] G --> End E -->|拒绝| H ``` ## 二、状态定义 ### 2.1 技能状态 | 状态 | 英文标识 | 描述 | 说明 | |------|---------|------|------| | 开发中 | `dev` | 技能已创建但尚未有审核通过的版本 | 仅开发者可见,不在市场展示 | | 已上架 | `published` | 技能有审核通过的版本,可公开访问 | 在技能市场展示,用户可订阅使用 | | 下架审核中 | `unlisting` | 开发者申请下架,等待管理员审核 | 仅允许撤回下架申请,其他操作禁用 | | 已下架 | `unlisted` | 技能已下架,不在技能市场展示 | 仅允许删除操作 | ### 2.2 版本状态 | 状态 | 英文标识 | 描述 | 说明 | |------|---------|------|------| | 审核中 | `reviewing` | 版本已提交,等待管理员审核 | 正在审核流程中 | | 审核通过 | `approved` | 版本审核通过,自动生效 | 成为当前生效版本 | | 审核拒绝 | `rejected` | 版本审核未通过 | 需要修改后重新上传新版本 | | 已撤销 | `withdrawn` | 开发者主动撤回审核 | 版本废弃,无法恢复 | ## 三、版本审核流程(新技能/版本提交流程) ### 3.1 完整流程 1. **开发者创建技能** - 填写内部信息(内部名称、内部描述)- 仅供开发者管理使用 - 创建完成后,技能状态为 **开发中** 2. **上传版本** - 创建完成后可立即上传第一个版本 - 版本上传时需填写两部分信息: - **版本说明**:供审核参考的版本更新说明 - **发布信息**:技能发布名称、发布描述、分类、标签、图标(审核通过后在商店展示) - 非首版本默认继承当前生效版本的发布信息,可按需修改 - 版本上传后自动进入审核,版本状态设置为 **审核中** - 添加到管理台"版本审核"待处理列表 - 同一时间只能有一个审核中的版本,存在审核中版本时"上传新版本"按钮禁用 3. **开发者操作:撤回审核(可选)** - 审核中的版本,开发者可执行撤回操作 - 撤回后版本状态变为 **已撤销**(终态) - 撤回后可重新上传新版本 4. **管理员审核** - 所有管理员均可查看并处理所有版本审核申请 - 审核详情包含:版本发布信息预览(发布名称、描述、分类、标签、图标)、版本信息、技能包文件列表 - 管理员可执行操作:**拒绝**(必填拒绝理由)或 **通过** 5. **审核通过处理** - 版本状态更新为 **审核通过** - 如果是第一个通过的版本 → 技能状态变为 **已上架** - 该版本成为当前生效版本,审核通过后立即自动生效 - 已有旧版本的技能:新版本审核期间旧版本正常服务,审核通过后平滑切换到新版本 - 不支持版本回滚,如需恢复历史版本需重新上传旧版本代码,视为全新版本处理 6. **审核拒绝处理** - 版本状态更新为 **审核拒绝** - 管理员必须填写拒绝理由,提交后不可修改 - 开发者可在技能详情页查看拒绝理由 - 审核拒绝的版本不可重新提交,必须修改后上传新版本走全新审核流程 ### 3.2 页面入口 | 角色 | 页面路径 | 功能说明 | |------|---------|---------| | 开发者 | 开发台 → 我的技能 → 技能详情 | 上传版本、查看审核状态、撤回审核 | | 管理员 | 工作台 → 审核管理 → 版本审核 | 查看待审核列表、进入审核详情、执行审核操作 | ### 3.3 管理台审核列表展示规则 - **排序规则**:按提交时间倒序排列,最新提交的审核申请在最前 - **展示名称**:列表中展示版本的 `publicName`(发布名称) - **已处理记录**:展示所有审核记录(包括已通过/已拒绝),用状态标签区分 ## 四、下架审核流程 ### 4.1 完整流程 1. **发起下架申请** - 前提:技能处于已上架状态,且无审核中的版本 - 开发者在技能详情页点击"下架技能" - 技能状态变为 **下架审核中** - 添加到管理台"下架审核"待处理列表 - 下架审核期间仅允许"撤回下架申请"操作,其他所有操作按钮全部禁用 2. **开发者撤回申请(可选)** - 管理员审核完成前,开发者可随时撤回下架申请 - 撤回后技能状态立即恢复为 **已上架** - 所有操作按钮恢复可用 3. **管理员审核下架申请** - 所有管理员均可查看并处理所有下架审核申请 - 审核详情包含:技能信息、订阅数、申请时间等 - 管理员可执行操作:**拒绝** 或 **通过** 4. **审核结果处理** - **审核通过**:技能状态变为 **已下架**,从技能市场移除,所有用户(含已订阅用户)无法继续使用 - **审核拒绝**:技能状态恢复为 **已上架**,继续在技能市场正常展示 ### 4.2 关键说明 - 下架必须经过管理员审核,开发者无法直接下架 - 下架审核期间技能在市场正常展示,所有用户可正常使用 - 已下架技能仅支持删除操作,不可编辑、不可上传新版本 - 已下架技能如需重新上架,必须创建全新技能,按新技能完整流程重新提交审核 ## 五、操作规则明细 ### 5.1 技能状态与可用操作对照表 | 技能状态 | 编辑内部信息 | 上传新版本 | 下架技能 | 删除技能 | 说明 | |---------|------------|----------|---------|---------|------| | 开发中(无审核中版本) | ✅ | ✅ | - | ✅ | 未上架,可直接删除 | | 开发中(有审核中版本) | ✅ | ❌ | - | ❌ | 需先撤回审核中的版本 | | 已上架(无审核中版本) | ✅ | ✅ | ✅ | ❌ | 已上架需先下架才能删除 | | 已上架(有审核中版本) | ✅ | ❌ | ❌ | ❌ | 等待审核完成后才能操作 | | 下架审核中 | ✅ | ❌ | 仅撤回 | ❌ | 仅"撤回下架申请"按钮可用 | | 已下架 | ✅ | ❌ | - | ✅ | 仅支持编辑内部信息和删除操作 | **图标说明:** - ✅ = 允许操作 - ❌ = 禁用操作 - - = 不适用 - "仅撤回" = 仅允许撤回下架申请 **注:** - 内部信息(内部名称、内部描述)可随时更新,不涉及审核流程 - 有审核中版本的判断依据是存在未完成的审核流程,此时除了"撤回审核"外的其他操作按钮均禁用 ### 5.2 版本操作规则 | 版本状态 | 开发者可用操作 | 说明 | |---------|---------------|------| | 审核中 | 撤回审核 | 撤回后版本变为已撤销,无法恢复 | | 审核通过 | 无 | 生效版本,不可修改 | | 审核拒绝 | 无 | 不可重新提交,必须上传新版本 | | 已撤销 | 无 | 终态,无法继续操作 | > 注:管理员在审核版本时可下载技能包查看内容,开发者侧无任何版本下载权限。 ### 5.3 界面展示规则 **我的技能列表状态展示:** | 技能状态 | 显示文本 | |---------|---------| | 开发中 | 开发中 | | 已上架 | 已上架 | | 已上架+有审核中版本 | 已上架 · 审核中 | | 下架审核中 | 下架审核中 | | 已下架 | 已下架 | **技能市场展示规则:** - 仅展示状态为 `published`(已上架)的技能 - 每个技能仅展示最新审核通过版本的信息 - 不展示版本历史和审核相关信息 ## 六、核心业务规则总结 1. **单审核互斥规则**:一个技能同一时间只能有一个审核中的记录(版本审核/下架审核互斥),存在未完成审核时禁止发起其他审核操作 2. **版本号规则**:版本号由后端自动按 `X.Y.Z` 格式递增生成,前端无需输入 3. **上传即审核**:版本上传完成后自动进入审核队列,无草稿状态 4. **版本生效规则**:审核通过后立即自动生效,旧版本平滑切换,不支持版本回滚 5. **拒绝后重传规则**:审核拒绝的版本不可修改重新提交,必须上传新版本 6. **下架审核规则**:下架必须经过管理员审核,审核通过后所有用户无法继续使用该技能 7. **已下架规则**:已下架技能仅可删除,重新上架必须创建全新技能 8. **管理员权限规则**:所有管理员可见并可操作所有审核申请,无分级权限限制 9. **删除终态规则**:技能删除后所有数据彻底清除,不可恢复 10. **名称规则**:技能名称允许重复,仅技能ID全局唯一 ## 附录一、数据结构设计说明 ### 1.1 核心设计思路 为解决审核漏洞问题(开发者修改基本信息无需审核即可同步到商店),将技能信息分离为两套独立数据: | 数据类型 | 存储位置 | 用途 | 修改方式 | 审核要求 | |---------|---------|------|---------|---------| | **开发者内部信息** | 技能主体 | 开发者管理技能使用 | 直接编辑 | 无需审核 | | **版本发布信息** | 版本记录 | 技能商店展示 | 发布新版本 | 必须审核 | ### 1.2 开发者内部信息(技能主体) - **可随时修改**,无需审核 - **不影响**技能商店展示 - **仅供**开发者在"我的技能"列表和详情页中查看 ### 1.3 版本发布信息(版本记录) - **存储在版本中**,随版本一起审核 - **审核通过后**自动生效,成为商店展示内容 - **修改必须发布新版本**,走完整审核流程 ### 1.4 技能商店展示规则 - 仅展示状态为 `published`(已上架)的技能 - 展示信息**完全从当前生效版本**的发布信息中读取 - 技能主体的内部信息**永不**在商店展示 ### 1.5 审核完整性保障 任何影响技能商店展示的内容变更(名称、描述、分类、标签、图标): - 都必须存储在版本中 - 都必须经过版本审核流程 - 都必须在审核通过后才能生效 - 开发者无法绕过审核直接修改商店展示内容 ## 附录二、常见问题 ### 🤔 基础概念 #### 1. 内部信息和发布信息有什么区别? - **内部信息**:技能主体中的内部名称、内部描述,仅供开发者自己管理使用,可随时修改无需审核,**永不**在技能商店展示。 - **发布信息**:版本记录中的发布名称、发布描述、分类、标签、图标,随版本一起审核,审核通过后在技能商店展示,修改必须发布新版本。 #### 2. 如何查看技能当前的审核状态? 开发者可在"我的技能"列表或技能详情页查看技能状态和版本状态: - 技能状态:开发中、已上架、下架审核中、已下架 - 版本状态:审核中、审核通过、审核拒绝、已撤销 #### 3. 分类和标签在商店是怎么展示的? 分类始终作为第一个标签显示,与普通标签一起展示,不单独区分分类和标签。 ### 📋 流程相关问题 #### 4. 技能已有上架版本,提交新版本审核的过程中,旧版本还可以正常使用吗? 可以,旧版本会正常提供服务,所有用户使用不受影响,直到新版本审核通过后自动切换为生效版本。 #### 5. 技能有正在审核的新版本,同时想要申请下架可以吗? 不可以,一个技能同一时间只能有一个审核中的记录(版本审核/下架审核互斥),必须等前一个审核流程完全结束后,才能发起第二个审核申请。 #### 6. 技能有新版本在审核中,此时线上旧版本出现严重安全漏洞想紧急下架,怎么处理? 首先开发者需要先撤回正在审核中的新版本(撤回后该版本变为已撤销状态,不可恢复),待版本审核流程终止后,再发起下架申请。或者联系管理员先拒绝该新版本的审核请求,审核流程终止后即可提交下架申请。 #### 7. 同一个开发者的多个不同技能,能不能同时提交版本审核? 可以。单审核互斥规则仅限制**同一个技能**同一时间只能有一个审核中的记录,不同技能之间的审核流程完全独立,互不影响。 #### 8. 开发者刚刚撤回下架申请,马上又再次提交下架申请,可以吗? 可以。撤回下架申请后审核流程终止,技能恢复为正常已上架状态,没有提交频率限制,可随时再次提交下架申请。 #### 9. 下架审核期间,技能在商店还能正常使用吗? 可以。下架审核期间技能在市场正常展示,所有用户可正常使用,直到下架审核通过后才会从市场移除。 #### 10. 审核结果会有通知吗?在哪里可以看到? 开发者可在技能详情页查看版本状态和审核结果(如拒绝理由)。 ### 📦 版本相关问题 #### 11. 审核终态后,还能对版本做什么操作吗? - **审核通过**:版本立即生效,无法撤回,不可修改。如需修正需重新上传新版本。 - **审核拒绝**:版本不可重新提交,必须修改内容后上传全新版本。 - **已撤销**:终态,无法恢复,可重新上传新版本。 #### 12. 开发者上传的第一个版本审核被拒绝,修改后能不能复用之前的版本号重新上传? 不可以。版本号由后端自动按 `X.Y.Z` 格式生成,每次上传新版本都会自动递增,开发者无法指定或复用历史版本号,修改后的版本会视为全新版本,分配新的版本号。 #### 13. 想要恢复到历史版本的代码,应该怎么操作? 平台不支持版本回滚,如需使用历史版本代码,开发者需要重新上传旧版本的技能包,平台会视为全新版本处理,重新走完整审核流程。 #### 14. 一个技能有多个历史版本被审核拒绝过,上传新版本时会不会有额外限制? 不会。所有版本审核流程独立,历史拒绝记录不影响新版本的审核流程,只要提交新版本就会进入正常审核队列。 #### 15. 开发者在版本审核过程中修改了技能的内部信息,会不会影响正在审核中的版本? 不会。内部信息修改仅供开发者管理使用,与版本审核流程完全独立,不影响正在审核中的版本,也不影响商店展示内容。 #### 16. 开发者想要修改技能在商店的展示内容(名称/描述/分类/标签/图标),应该怎么操作? 必须发布新版本。任何影响商店展示的内容变更都需要在上传新版本时填写新的发布信息,待版本审核通过后,新的发布信息会自动在商店展示(详见 Q17-Q19)。 #### 17. 分类和标签可以单独修改吗?还是必须发新版本? 必须发新版本。分类和标签属于发布信息,存储在版本中,修改必须上传新版本走审核流程。 #### 18. 技能图标可以单独修改吗?还是必须发新版本? 必须发新版本。图标属于发布信息,存储在版本中,修改必须上传新版本走审核流程。 #### 19. 开发者可以随时修改内部信息吗?修改后需要审核吗? 可以随时修改内部信息,无需审核。内部信息仅供开发者自己管理使用,不会影响技能商店展示。 #### 20. 第一个版本上传时,发布信息是必填的吗? 是的。发布信息(发布名称、发布描述、分类、标签、图标)是上传版本时的必填项,这些信息将在审核通过后展示在技能商店。 #### 21. 非首版本上传时,发布信息可以不填吗? 可以不填,系统会自动继承当前生效版本的发布信息作为默认值,开发者可以在此基础上按需修改部分字段,无需全部重新填写。 #### 22. 审核中的版本,开发者可以查看自己提交的发布信息吗? 可以。开发者可在技能详情页的版本历史中查看审核中版本的发布信息预览。 ### 🔍 审核管理问题 #### 23. 审核拒绝的理由填错了,管理员能不能修改拒绝理由? 不可以。审核拒绝理由提交后无法二次修改,管理员提交前需确认内容正确。 #### 24. 管理员审核版本的时候,能不能下载技能包查看内容? 可以。仅管理员在审核版本时可下载技能包查看内容,开发者侧不提供任何版本的下载功能。 #### 25. 所有管理员都可以处理审核申请吗?有没有分级权限? 所有管理员可见全部审核申请(版本审核+下架审核),均可直接执行审核操作,无分级权限限制。 ### 📤 下架相关问题 #### 26. 下架审核期间开发者想取消下架,应该怎么处理? 可以直接撤回下架申请,撤回后技能立即恢复为已上架状态,所有功能和操作恢复正常。 #### 27. 已下架的技能想要重新上架,需要走什么流程? 已下架技能不支持直接恢复上架,必须创建全新的技能,按新技能完整的创建、上传版本、审核流程重新提交。 #### 28. 已下架的技能,开发者还能查看之前的版本历史和审核拒绝理由吗? 可以。已下架技能仅限制操作(只能删除),但历史数据(版本记录、拒绝理由等)均保留可见,开发者可以正常查阅。 #### 29. 已下架的技能,可以修改内部信息吗? 可以。已下架技能仅限制上传新版本、下架等操作,但仍允许编辑内部信息(内部名称、内部描述)。 #### 30. 技能处于开发中状态,上传了第一个版本正在审核中,此时开发者可以删除该技能吗? 不可以。存在审核中的版本时,删除操作被禁用,需要先撤回审核中的版本,待状态恢复为开发中无审核中版本后,才可以删除技能。 #### 31. 已下架的技能被删除之后,有没有办法恢复? 不可以。删除操作是终态操作,技能删除后所有数据彻底清除,无法恢复。 ### ❓ 其他问题 #### 32. 开发者创建和已删除技能同名的新技能,会不会被限制? 不会。技能名称允许重复,仅技能ID全局唯一不可重复,删除的技能名称可被重新使用。 *最后更新:2026-03-21*