Skip to content

审核与治理 ​

功能描述 ​

SkillHub 提供了完整的审核工作流,确保发布到注册中心的技能包符合团队规范。

审核机制分为两层:

  • 命名空间审核:团队管理员审核本命名空间的技能包
  • 平台审核:平台管理员审核推广到全局的技能包

概念图

审核流程:

  1. 开发者发布技能包 → 进入「待审核」状态
  2. 管理员收到通知 → 查看技能包详情
  3. 管理员决策 → 批准或拒绝
  4. 批准后 → 技能包正式发布
  5. 拒绝后 → 开发者收到反馈,可修改后重新提交

审核状态:

状态说明
PENDING待审核
APPROVED已批准
REJECTED已拒绝
WITHDRAWN已撤回

治理功能:

  • 审核工作流:多级审核、批量审核
  • 举报系统:用户可以举报不当技能包
  • 推广管理:将命名空间技能包推���到全局
  • 审计日志:记录所有治理操作

头像变更复用技能审核申请。机器阻止与人工拒绝是不同状态;开关组合、审核操作及云审核接入步骤详见 技能头像与图片审核接入。

使用场景 ​

场景一:命名空间管理员审核

团队管理员审核成员提交的技能包,确保符合团队规范。

操作截图

场景二:平台管理员审核推广

平台管理员审核从命名空间推广到全局的技能包。

场景三:举报处理

用户举报不当技能包,管理员调查并处理。

场景四:批量审核

管理员批量批准多个符合规范的技能包。

使用步骤 ​

提交审核:

  1. 发布技能包时,系统自动创建审核任务
  2. 开发者可以在「我的提交」中查看审核状态
  3. 等待管理���审核

审核技能包:

  1. 访问 /dashboard/reviews
  2. 查看待审核列表
  3. 点击技能包查看详情:
    • 顶部核对技能名称、描述、状态、提交者和版本;GitHub 同步项显示独立的内容修订号、来源仓库与短 commit,完整安装用技术版本可在技术信息中查看。顶部的安全与许可证状态用于定位问题,点击后在“来源与安全”查看依据;没有结果、读取失败或许可证未识别都不能理解为通过
    • 在“技能内容”查看待审版本说明文档和文件树。说明文档在进入此页签后读取;选中单个文件后才读取其存储内容。如果存储对象已丢失,预览会提示失败
    • GitHub 更新项默认打开“变更对比”,逐文件核对新增、修改和删除;首次导入和普通技能默认打开“技能内容”。超过 64 KiB 或 1000 行时跳过逐行比较,超过 256 KiB 时不在线加载内容。当前版本文件可按原权限下载;已删除的旧文件还受基线接口 1 MiB 上限约束,超限时页面会说明无法从审核页下载
    • 在“来源与安全”核对固定 commit、许可证证据、完整扫描卡片和发现项;普通技能也可查看安全信息。扫描尚未完成时不能批准;GitHub 来源许可证依据缺失时按页面提示处理
    • 在“审核记录”查看提交历史和已完成的审核意见;该页签打开时才请求历史
    • 套件审核在内容区核对待审快照。快照加载失败时可重试,加载成功前“通过”按钮不可用

流程图

  1. 在页面底部固定的审核栏填写意见并做出决策;切换页签保留意见,切换到另一个审核对象时清空意见、驳回表单和未确认弹窗:

    • 批准:技能包正式发布,开发者收到通知
    • 拒绝:填写拒绝原因,开发者可修改后重新提交
  2. 添加审核意见(可选)

审核合规声明:

如果待审核版本包含 x-astron-compliance,审核详情会展示版本级合规快照和差异摘要:

  • 新增声明:待审版本新增了标准、控制项或证据。
  • 删除声明:待审版本移除了上一发布版本已有的声明。
  • 修改声明:标准、控制项标题或证据发生变化。
  • 摘要变化:complianceSnapshot.digest 变化,表示规范化后的声明内容发生变化。

审核建议:

  1. 确认声明是否与技能实际能力相关。例如安全响应技能声明 MITRE ATT&CK 技术编号时,应能在说明或证据文件中看到对应依据。
  2. 点击差异项查看证据路径、外部链接和摘要,不只看声明标题。
  3. 对删除或大范围修改的声明提高审核优先级,因为这会影响下游审计系统引用。
  4. 如果证据缺失、路径不可访问、声明明显不匹配技能能力,建议拒绝并要求作者修正。

SkillHub 能保证的是结构正确、证据可追溯、版本快照不可变;不能替作者保证“真的合规”。

撤回审核:

开发者发现问题,可以在审核通过前撤回提交:

  1. 访问「我的提交」
  2. 找到待审核的技能包
  3. 点击「撤回」
  4. 确认撤回

删除已提升到全局的技能 ​

如果永久删除时提示「已提升的技能须通过审核撤销流程删除」,请从团队来源技能的详情页处理全局发布。隐藏、归档或撤回待审提交不会删除已经批准的全局技能;提交撤销申请也不代表撤销已完成。

  1. 打开来源技能(例如 @it/translate-document),在「提升到全局」区域点击「申请撤销全局发布」,填写原因并确认。
  2. 请平台 SKILL_ADMIN 或 SUPER_ADMIN 访问 /dashboard/promotions 的「撤销待审核」页签,核对来源技能和全局技能后点击「批准撤销」。SKILL_ADMIN 不能审核自己提交的申请;SUPER_ADMIN 可以。
  3. 刷新来源技能详情,核对本次申请在「撤销记录」中显示「已撤销」(APPROVED)。「待审核」(PENDING)或「已拒绝」(REJECTED)表示该申请未完成撤销;活动全局关联仍存在时,普通删除仍会被阻止。历史申请的状态不能代替当前提升关系的检查。
  4. 撤销批准后,关联的 @global/translate-document 及其所有全局版本会被删除,团队来源技能保留。需要删除来源技能时,再使用该技能的「永久删除」,仍需具备删除权限。

尚无待审撤销申请时,平台 SKILL_ADMIN 或 SUPER_ADMIN 也可以在来源技能详情页使用「管理员直接撤销」,确认后立即完成全局撤销并保留撤销记录。已有待审申请时,详情页只显示待审提示,请通过上述「撤销待审核」入口处理。请先核对确认框:该操作会删除整条全局技能,包括独立上传的全局版本、评价和统计;已安装到客户端的文件无法收回,原地址以后可能被其他技能使用。

如果撤销记录已经是 APPROVED,刷新后仍提示同一错误,请记录来源/全局技能 ID、撤销申请 ID、当前部署版本或镜像标签,以及删除请求的响应和请求 ID。还需确认撤销后是否又进行了新的全局提升。若当前界面没有撤销入口,先核对部署版本和数据库迁移是否与对应版本一致,再由维护者检查;不要直接修改数据库中的提升关系来绕过流程。

处理举报:

  1. 访问 /dashboard/reports
  2. 查看举报列表
  3. 调查举报内容
  4. 采取行动(归档技能包、警告用户等)

API 接口 ​

提交审核:

bash
POST /api/v1/reviews
Content-Type: application/json

{
  "skillVersionId": "version-123"
}

批准审核:

bash
POST /api/v1/reviews/{id}/approve
Content-Type: application/json

{
  "comment": "Looks good! Approved."
}

拒绝审核:

bash
POST /api/v1/reviews/{id}/reject
Content-Type: application/json

{
  "comment": "Please fix the documentation and add more examples."
}

参数说明:

参数类型说明
idstring审核任务 ID(路径参数)
commentstring审核意见(可选,最多 1000 字符)

列出待审核任务:

bash
GET /api/v1/reviews/pending?namespaceId=ns-123&page=0&size=20

列出我的提交:

bash
GET /api/v1/reviews/my-submissions?page=0&size=20

获取审核详情:

bash
GET /api/v1/reviews/{id}

获取审核中的技能包详情:

bash
GET /api/v1/reviews/{id}/skill-detail
GET /api/v1/reviews/{id}/skill-detail?includeDocumentation=false

includeDocumentation 缺省为 true,保持原响应行为。设为 false 时仍返回技能、版本、文件元数据与说明文件路径,documentationContent 为空且不读取对象存储正文;审核详情首屏使用此模式,进入“技能内容”后再取正文。

下载审核包:

bash
GET /api/v1/reviews/{id}/download

撤回审核:

bash
POST /api/v1/reviews/{id}/withdraw

举报技能包:

bash
POST /api/v1/skills/{namespace}/{slug}/reports
Content-Type: application/json

{
  "reason": "INAPPROPRIATE_CONTENT",
  "details": "This skill contains malicious code"
}

注意事项 ​

审核权限:只有命名空间的 Admin 和 Owner 可以审核本命名空间的技能包。平台管理员可以审核所有技能包。

  • 审核时效:建议在 24 小时内完成审核,避免阻塞开发者
  • 审核记录:所有审核操作都会记录到审计日志
  • 合规审计:合规声明以版本快照形式记录。审核通过或拒绝时,应结合差异摘要判断风险,但 Agent 执行 trace 不由 SkillHub 记录
  • 批量审核:管理员可以批量批准多个技能包
  • 审核意见:拒绝时建议提供详细的改进建议
  • 撤回限制:只有待审核状态的技能包可以撤回

版权所有 © 科大讯飞股份有限公司