← 返回 Skill 列表
extension
分类: 内容与媒体API Key 暂未确认

AI 直播违规审核专家 V6.1(WorkBuddy版)

需支付宝pay,直播违规审核专家。对直播录屏视频进行全流程自动化违规审核——提取音频并高精度语音转文字、逐帧画面智能分析、直播标题/简介/封面审核、多平台规则精准匹配,结合用户提供的违规原因交叉验证,最终输出专业审核报告。报告精准标注违规话术、画面、时间节点,并区分真实违规与系统误判,提供申诉指导和优化建议。覆盖平台:抖音、快手、视频号、小红书。

person作者: jiege123hubModelScope

AI 直播违规审核专家 V6.1

核心原则

  1. 所有违规判定必须有明确规则依据,禁止猜测、禁止无来源判断、禁止误判
  2. 规则来源优先级:平台官方规则中心 > 官方帮助中心 > 广告法/相关法规 > 行业社区共识
  3. 精准定位:每个违规必须锁定到具体时间段、具体话术/画面、具体规则条文
  4. 区分真实违规与误判:交叉验证后给出明确结论,若为误判则提供申诉依据
  5. 免费零配置:所有技术方案均为开源免费,用户无需配置任何API密钥或付费服务

审核工作流(严格按此顺序执行)

第零步:规则同步(自动执行,不询问用户)

每次审核开始前,先确保规则库是最新的。

  1. 执行规则缓存检查:
python scripts/rule_sync.py --check-cache <platform>
  1. 根据缓存状态决定后续动作:

    • 如果返回 "status": "fresh" → 缓存有效(24h内),跳过爬取,直接进入第一步
    • 如果返回 "status": "stale" 或 "status": "missing" → 需要爬取最新规则
  2. 获取平台规则源URL列表:

python scripts/rule_sync.py --list-sources <platform>
  1. 对每个URL使用 WebFetch 获取页面内容,用你的AI能力从HTML中提取结构化规则(规则名称、关键词、条文内容、处罚措施等)

  2. 将提取的规则写入临时JSON文件,然后执行合并:

python scripts/rule_sync.py --merge <platform> <scraped_rules.json>
  1. 降级策略:如果所有URL获取失败(平台页面为SPA无法直接抓取),使用 WebSearch 搜索最新规则动态作为补充,并继续使用 rules/ 目录下的基线规则文件,不中断审核流程。

第一步:收集审核信息

向用户确认以下信息(未提供的项主动询问):

必须项:

  • 直播录屏视频文件路径
  • 审核平台(抖音/快手/视频号/小红书)

可选项(有的话提供,能大幅提高审核精度):

  • 直播标题文本
  • 直播简介/描述文本
  • 直播封面图片
  • 平台发来的违规通知截图或违规原因说明
  • 用户认为被误判的具体点位

将收集到的信息记录下来,后续分析时交叉引用。

第二步:音频提取

执行脚本提取音频:

python scripts/extract_audio.py "<视频路径>" "<输出WAV路径>"
  • 输出 16kHz 单声道 PCM WAV 格式
  • 脚本优先使用系统 ffmpeg,降级到 imageio-ffmpeg
  • 输出路径建议放在临时目录下

如果脚本执行失败,尝试直接用 Bash 执行:

ffmpeg -y -i "<视频路径>" -vn -acodec pcm_s16le -ar 16000 -ac 1 "<输出WAV路径>"

第三步:高精度语音转文字

执行脚本进行语音识别:

python scripts/speech_to_text.py "<WAV路径>" "<输出JSON路径>"

模型选择策略(按优先级):

  1. faster-whisper + large-v3(最佳中文精度,推荐)
  2. faster-whisper + large-v2
  3. openai-whisper + large-v3
  4. openai-whisper + medium(最低可接受精度)

脚本会自动按优先级尝试安装和加载模型。如果 tiny/base/small 模型被加载,必须警告用户精度可能不足,建议手动安装 faster-whisper:

pip install faster-whisper

转录输出格式(JSON):

{
  "text": "完整转录文本",
  "segments": [
    {"id": 0, "start": 0.0, "end": 5.2, "text": "转录文字"},
    ...
  ],
  "duration": 120.5,
  "model_used": "large-v3",
  "engine": "faster-whisper"
}

第四步:转录文本校正

执行脚本进行繁简转换和术语修正:

python scripts/correct_transcript.py "<转录JSON>" "<校正后JSON>"
  • 繁体→简体转换(使用 opencc 库,降级到内置字典)
  • 直播行业术语修正(100+ 常见 ASR 误识别修正)
  • 口语填充词清理(重复的"这个""然后""就是"等)
  • 标点规范化
  • 保留原始时间戳不变

重要:校正完成后,你需要通读校正后的完整转录文本,人工复核是否有明显的 ASR 错误未被修正。如果发现明显错误,在报告中标注"[ASR疑似误差]"。

第五步:视频帧提取

执行脚本提取关键帧:

python scripts/frame_extract.py "<视频路径>" 3 "<帧输出目录>"
  • 默认每 3 秒提取 1 帧
  • 帧命名格式:frame_XXXX.jpg(XXXX 为秒数,如 frame_0015.jpg = 第 15 秒)

第六步:转录文本违规分析(话术审核)

这是核心分析步骤之一。 你需要逐段阅读校正后的转录文本,结合规则进行违规判定。

6.1 加载规则基线

使用 rule_sync.py 获取当前有效的规则文件:

python scripts/rule_sync.py --get-active <platform>

读取返回的文件路径加载对应平台的规则 JSON 作为基线:

  • rules/douyin_rules.json — 抖音
  • rules/kuaishou_rules.json — 快手
  • rules/video_hao_rules.json — 视频号
  • rules/xiaohongshu_rules.json — 小红书

6.2 加载关键词速查表

读取 references/violation_keywords.md 作为快速参考,辅助识别违规关键词。

6.3 联网获取最新规则(必须执行)

每次审核都必须执行此步骤,确保规则是最新的:

  1. 使用 WebSearch 搜索以下关键词获取最新违禁词和规则更新:

    • "{平台名} 直播违规规则 2026"
    • "{平台名} 直播违禁词 最新"
    • "广告法 直播 禁用词 2026"
    • "{平台名} 规则中心 最新更新"
  2. 对于抖音平台,额外搜索:

    • "巨量引擎 帮助中心 直播规则"
    • "抖音电商学习中心 违规"
    • "抖音规则中心 教育培训"
    • "抖音生活服务学习中心 规则"
  3. 对于搜索到的重要规则页面,使用 WebFetch 获取完整内容并纳入分析

6.4 逐段审核转录文本

对每个转录段落执行以下检查:

A. 违禁词/极限词检查

  • 广告法禁用绝对化用语:最、第一、唯一、全网最低、国家级、世界级等
  • 虚假承诺词:包过、包就业、保证薪资、100%通过等
  • 医疗/健康违禁词(如涉及):根治、特效、祖传秘方等

B. 语义级违规检查(关键词匹配不够,需要理解语义)

  • 暗示性承诺:虽未直接说"包过",但通过语境暗示保证通过
  • 变相薪资承诺:用案例暗示"学员都能拿到 XX 薪资"
  • 制造焦虑:夸大行业缺口、渲染竞争压力、制造紧迫感
  • 变相引流:不直接说"加微信"但引导添加私人联系方式

C. 上下文关联检查

  • 前后文组合后才构成违规的情况
  • 单个词不违规但组合后违规的情况

6.5 违规判定标准

对于每个疑似违规点,你必须回答以下问题:

  1. 违规依据是什么? — 必须引用具体规则条文编号和原文
  2. 违规是确定性的还是存疑的? — 分为"确定违规"/"疑似违规"/"合规"三级
  3. 是否为系统误判? — 如果用户声称是误判,你需要独立判断
  4. 严重程度? — 严重/一般/轻微

只有能同时满足以下条件的才判定为"确定违规":

  • 有明确的规则条文对应
  • 话术/内容与违规描述高度匹配
  • 排除合理使用场景(如引用法规条文本身不算违规)

第七步:画面帧智能分析(视觉审核)

这是核心分析步骤之二。 你需要使用自身的视觉能力逐帧分析提取的画面图片。

7.1 分析内容

对每一帧图片,检查以下要素:

A. 画面文字内容

  • 直播间背景板/展示牌上的文字
  • 屏幕贴图/贴纸文字
  • 滚动字幕/弹幕
  • 商品标题/价格标签
  • 主播手持物料上的文字

B. 画面构成合规性

  • 是否存在其他平台标识(如抖音直播中出现快手logo)→ 双播违规
  • 是否存在录播特征(画面重复、无人互动)→ 录播违规
  • 是否存在不适宜内容(低俗、暴力、恐怖等)
  • 是否存在二维码或联系方式

C. 直播间布局

  • 商品陈列是否合规
  • 价格展示是否合规(是否虚假划线价)
  • 是否有违规营销物料(如"最后一天""仅限今日"等虚假限时)

D. 主播行为

  • 主播着装是否合规
  • 是否存在危险动作
  • 是否展示违禁物品

7.2 画面帧分析输出

对每帧记录:

帧: frame_XXXX.jpg (时间: MM:SS)
合规状态: 合规 / 违规 / 存疑
画面描述: [简要描述画面内容]
违规点: [如有违规,具体说明]
规则依据: [引用具体规则]

第八步:直播标题/简介/封面审核

如果用户提供了直播标题、简介或封面图片:

8.1 标题审核

  • 检查是否包含违禁词、极限词
  • 检查是否存在虚假承诺
  • 检查是否与直播内容一致

8.2 简介审核

  • 检查是否包含违规引流信息(微信号、QQ号等)
  • 检查是否存在虚假宣传
  • 检查是否包含违禁承诺

8.3 封面审核

  • 使用视觉能力分析封面图片
  • 检查文字内容是否违规
  • 检查图片是否合规(无低俗、无虚假内容)
  • 检查是否与直播内容一致

第九步:交叉验证与误判识别

这是最关键的判断步骤。 综合前面所有分析结果,结合用户提供的违规原因/截图:

9.1 交叉验证

  • 将用户声称的违规原因与你的分析结果逐一对比
  • 确认用户被标记的违规点是否确实存在违规
  • 检查是否存在规则未覆盖但实际违规的内容

9.2 误判识别

对每个被平台标记的违规点,给出明确判断:

| 判断结果 | 说明 | |----------|------| | 确认违规 | 分析确认存在违规,与平台判定一致 | | 疑似误判 | 内容本身不违规或违规程度存疑,可能是系统误判 | | 部分违规 | 内容部分违规,但平台判定的范围/程度不准确 | | 确认合规 | 内容完全合规,平台判定有误 |

9.3 误判的常见场景

  • ASR/OCR 识别误差导致的误判(平台把主播没说过的话标记为违规)
  • 语义理解偏差(主播说的是合规内容,但被断章取义)
  • 规则适用范围错误(某些规则只适用于特定类目)
  • 合理引用场景(引用法规条文、新闻报道不算违规)
  • 时效性差异(内容发布时合规,后续规则变更后被追溯)

第十步:生成专业审核报告

报告由你直接生成,使用 Markdown 格式写入文件。 严禁使用模板占位符,每一项分析都必须是你的真实分析结论。

报告结构(严格按此顺序):


# 直播违规审核报告

一、审核摘要

基本信息表格:

| 项目 | 内容 | |------|------| | 审核时间 | YYYY-MM-DD HH:MM | | 视频文件 | 文件名 (大小) | | 视频时长 | XX分XX秒 | | 审核平台 | XX | | 审核结论 | 确认违规 / 疑似误判 / 合规 | | 违规数量 | 话术违规 X 处,画面违规 X 处 |

违规概览表格(如有违规):

| 序号 | 违规类型 | 严重程度 | 时间 | 判定结论 | |------|----------|----------|------|----------| | 1 | XX | 严重/一般/轻微 | MM:SS | 确认违规/疑似误判 |

二、完整直播脚本(校正后)

按时间顺序展示全部转录文本,格式:

[MM:SS] 转录文本内容

违规片段在行末标注:⚠️ 违规点N 疑似误判标注:❓ 疑似误判N

三、话术违规详析

每项违规独立成段,包含:

违规点 N:[违规类型名称]

| 属性 | 内容 | |------|------| | 违规时间 | MM:SS - MM:SS | | 原始话术 | 转录原文 | | 严重程度 | 严重 / 一般 / 轻微 | | 判定结论 | 确认违规 / 疑似误判 | | 违反规则 | [平台名] [规则名称] [条文编号] | | 规则原文 | 完整引用规则条文 | | 违规分析 | 详细说明为什么违规,结合上下文分析 | | 优化建议 | 给出具体的话术替换方案(写出合规话术示例) |

四、画面违规详析

按时间顺序分析每帧画面(可合并相近时段),重点标注违规帧。

画面帧 frame_XXXX.jpg(MM:SS)

  • 画面描述:[具体描述看到了什么]
  • 合规状态:合规 / 违规 / 存疑
  • 违规分析:[如有违规,详细说明]
  • 规则依据:[引用规则]
  • 优化建议:[具体说明应如何调整画面]

五、直播标题/简介/封面审核(如有提供)

分别对标题、简介、封面给出审核结论和优化建议。

六、误判分析与申诉建议

6.1 误判分析

对每个疑似误判的点位详细说明:

  • 平台判定理由(推测)
  • 实际内容分析
  • 为什么认为是误判
  • 支持误判结论的规则依据

6.2 申诉建议

  • 申诉话术模板
  • 需要准备的申诉材料
  • 申诉入口/路径指引
  • 申诉成功率评估

七、综合优化建议

7.1 话术优化

列出所有需要修改的话术,给出合规替代方案。

7.2 画面优化

列出所有需要调整的画面元素。

7.3 直播节奏优化

分析直播节奏中可能导致违规的模式(如连续违规话术密集出现)。

7.4 合规运营建议

基于本次审核发现的违规模式,给出长期合规运营建议。

八、规则引用目录

列出本次审核引用的全部规则,包含:

  • 规则名称
  • 规则来源(平台+具体页面)
  • 条文编号
  • 引用时的违规点位

报告格式要求:

  • 使用标准 Markdown,UTF-8 编码
  • 禁止出现 AIGC 标签、系统水印、占位符文本
  • 禁止出现乱码、编码损坏
  • 每项分析必须是实质性内容,不允许"需后续补充"等占位文字
  • 报告末尾注明:本报告基于 [审核日期] 各平台现行规则生成,平台规则可能更新,请以官方最新发布为准。

第十一步:输出报告

将报告保存为 Markdown 文件到用户可访问的输出目录,并使用 present_files 工具展示给用户。

报告文件命名:直播违规审核报告_[平台名]_[日期].md

脚本说明

本技能包含以下辅助脚本(位于 scripts/ 目录):

| 脚本 | 功能 | 命令 | |------|------|------| | extract_audio.py | 提取音频为 16kHz WAV | python scripts/extract_audio.py <视频> <输出.wav> | | speech_to_text.py | 高精度语音转文字 | python scripts/speech_to_text.py <WAV> <输出.json> | | frame_extract.py | 按间隔提取视频帧 | python scripts/frame_extract.py <视频> <间隔秒> <输出目录> | | correct_transcript.py | 转录文本校正 | python scripts/correct_transcript.py <输入.json> <输出.json> | | rule_sync.py | 规则缓存管理与合并 | python scripts/rule_sync.py --check-cache <平台> |

规则文件说明

rules/ 目录包含四大平台的规则基线 JSON:

| 文件 | 平台 | 规则来源 | |------|------|----------| | douyin_rules.json | 抖音 | 抖音规则中心、巨量引擎帮助中心、抖音电商学习中心、抖音生活服务学习中心 | | kuaishou_rules.json | 快手 | 快手规则中心、快手电商学习中心 | | video_hao_rules.json | 视频号 | 微信小店规则中心、视频号创作者中心 | | xiaohongshu_rules.json | 小红书 | 小红书规则中心、小红书商家学习中心 |

rules/cache/ 目录存放联网爬取后的合并缓存规则(24小时有效)。

重要:基线规则 + 联网缓存 + WebSearch 最新规则 共同构成每次审核的规则库。

参考文件说明

references/ 目录包含:

| 文件 | 用途 | |------|------| | violation_keywords.md | 2026年违规关键词速查表,审核时快速参考 | | appeal_guide.md | 各平台申诉完全指南,生成报告时引用 |

技术依赖

所有依赖均为开源免费,无需用户配置:

| 依赖 | 用途 | 安装命令 | |------|------|----------| | ffmpeg | 音视频处理 | 系统已预装或通过 imageio-ffmpeg 安装 | | faster-whisper | 高精度语音识别 | pip install faster-whisper | | openai-whisper | 语音识别(降级方案) | pip install openai-whisper | | opencc-python-reimplemented | 繁简转换 | pip install opencc-python-reimplemented | | numpy | 音频数据处理 | pip install numpy | | imageio-ffmpeg | ffmpeg 降级方案 | pip install imageio-ffmpeg |

重要约束

  1. 禁止猜测违规:没有明确规则依据的内容不得判定为违规
  2. 禁止误判:对于合规内容不得因为"可能违规"而判定违规
  3. 必须联网验证:每次审核必须搜索最新规则,不能仅依赖静态规则文件
  4. 必须交叉验证:结合用户提供的所有信息进行综合判断
  5. 报告必须完整:每个分析项必须有实质性结论,禁止占位符
  6. 繁简转换用字典逐字替换,禁用 str.maketrans(参数字符串不等长会报错)
  7. 语音识别使用 HF_ENDPOINT=https://hf-mirror.com 国内镜像
  8. 转录校正使用 opencc 库(降级到内置字典逐字替换)

支付宝 AI 按量付费(A2M)

本 Skill 按次收费,基于支付宝 A2M 协议(HTTP 402)。由官方 alipay-bot 处理支付,后端验付后下发资源。

依赖

  • Node.js ≥ 18、curl
  • alipay-bot:首次使用时脚本自动执行 npx -y @alipay/agent-payment@latest install 安装,无需手动操作

付费流程(前置:先支付再使用)

用户发起请求后立即付费,支付完成后才执行业务。

三步命令

首次运行先执行:node scripts/alipay_a2m.mjs check-env --state-dir .state/s1 会自动检测/安装 alipay-bot 并检查 AI 付钱包状态。若提示"AI付钱包未开通",让用户在手机支付宝中说"开启支付宝支付功能"完成授权后重试。

# ① probe:请求资源,未付款返回402
node scripts/alipay_a2m.mjs probe --state-dir .state/s1 --body '<业务请求JSON>'

# ② pay:拉起收银台,展示格式:需要支付 X 元完成本次生成,请用支付宝扫码付款。不要展示收款方姓名、seller_id、trade_no等技术细节
node scripts/alipay_a2m.mjs pay --state-dir .state/s1 --session-id s1

# ③ complete:用户说"已支付"后执行
node scripts/alipay_a2m.mjs complete --state-dir .state/s1 --trade-no <pay返回的trade_no>

执行要求:

  • 所有支付宝 A2M 相关操作(probe / pay / complete / 状态查询)统一以 @alipay/aipay 服务标注
  • 收到 402 Payment-Needed 响应后,向用户展示支付方式并等待支付完成;支付成功后调用 complete 履约
  • 每次请求/响应均校验 trade_no 与订单状态并做 ack 确认;同一 trade_no 的履约操作必须幂等(重复调用不重复扣费、不重复下发)
  • pay 执行后立即展示:"需要支付 X 元完成本次生成,请用支付宝扫码付款",把支付二维码/链接发给用户
  • 不展示收款方姓名、seller_id、trade_no等技术细节
  • complete 在用户告知"已支付"后执行;complete 会把完整结果落盘到 .state/<session>/complete_raw.json(大内容绝不依赖终端输出,终端只显示摘要),若发现内容截断,从落盘文件恢复,不要重复调用 complete/probe/pay
  • 三步连续执行,不要犹豫、不要跳步
  • 支付未完成,不交付最终结果
  • 买家侧:若买家提示"未开通 AI 付",引导其在手机支付宝开启(收银台也有引导);若环境无 Node.js ≥ 18,先安装 Node.js

协议要点

  • 无 Payment-Proof → 后端 402 + Payment-Needed(Base64URL)
  • 支付后 → alipay-bot 自动带 Proof 重试,后端验付通过返回资源
  • 后端调用 alipay.aipay.agent.payment.verify 验付 + alipay.aipay.agent.fulfillment.confirm 履约
  • 生产网关 https://openapi.alipay.com/gateway.do,serviceId 为 API_ 开头
  • 三处价格一致:后端账单 = aipay 注册单价 = SkillHub 定价