# Douyin Prohibited Word

> 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。

- Skill: `redfox-data/douyin-prohibited-word` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds add redfox-data/douyin-prohibited-word`
- Raw SKILL.md: https://api.skillmd.com/api/skills/redfox-data/douyin-prohibited-word/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: redfox-data (https://skillmd.com/u/redfox-data)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/redfox-data/douyin-prohibited-word

---


# 抖音违禁词检测

## 简介

抖音违禁词检测是一款专为抖音内容创作者和运营人员设计的智能合规检测工具，帮你快速排查文案中的违禁词并给出安全替换方案。

> 视频被限流、文案被下架？可能就是一两个词惹的祸。把文案扔进来，快速告诉你哪里踩雷、怎么改才安全。

通过简单的输入操作，你可以：
- 🔍 自动识别抖音违禁词，原文加粗定位风险点
- 💡 获得结合上下文的智能替换建议 + 更换理由
- ✏️ 一键生成替换后的可发布版本，复制粘贴就能用

适用于短视频编导、电商运营、直播策划、品牌市场等需要确保抖音文案合规发布的场景。

---

## 功能特性

### 🎯 核心功能

- **🔍 违禁词标记**：原文中命中词直接**加粗**，一眼看到风险点
- **💡 智能替换建议**：每个违禁词配一个结合上下文的替换词 + 更换理由，帮你"改通顺"而不是机械替换
- **✏️ 优化文案生成**：直接输出一份替换后的可发布版本，替换词**加粗**标记，复制粘贴就能用
- **📎 文件自动交付**：自动生成纯文本优化文案文件，点击即可下载保存
- **📏 长文案分批检测**：超过 3000 字自动提醒，支持分批检测后自动合并结果

### ✨ 特色亮点

- **📥 多输入形态**：支持直接粘贴文案、上传 TXT/DOC/DOCX 文件、上传图片提取文字、粘贴网页链接
- **⚡ 一站式处理**：文本提取 + 违禁词检测一次完成，无需多次调用脚本
- **🌐 动态网页支持**：网页检测使用 Playwright 无头浏览器渲染 JS 页面，也支持静态页面回退
- **🔤 英文误匹配过滤**：内置英文单词误匹配过滤，不会把正常英文单词片段误判为违禁词
- **🔄 网络自动重试**：遇到网络波动自动重试最多 3 次，无需手动干预

---

## 一键安装

### 前置条件

- Python 3.8+
- 已注册 红狐Hub 账号并获取 API Key（格式 `ak_xxxxxxxx`）

### 安装步骤

```bash
# 1. 安装 Python 依赖
pip install python-docx==1.1.0 beautifulsoup4==4.12.3 playwright==1.58.0

# 2. 安装 Playwright 浏览器（网页检测需要）
playwright install chromium
```

---

## 鉴权

### 获取 API Key

1. 访问 [红狐Hub 官网](https://redfox.hk?source=github) 了解服务详情
2. 前往 [注册页面](https://redfox.hk/login?source=github) 注册账号
3. **新注册用户将获赠免费积分**，可立即开始使用 API 服务
4. 注册登录后，在个人中心获取 API Key，格式为 `ak_xxxxxxxx`

### 配置 API Key

将 API Key 配置为环境变量 `REDFOX_API_KEY`：

**方式一：临时设置（当前终端会话有效）**

```bash
export REDFOX_API_KEY=ak_xxxxxxxx
```

**方式二：永久设置（推荐）**

```bash
# Bash 用户
echo 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.bashrc
source ~/.bashrc

# Zsh 用户
echo 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.zshrc
source ~/.zshrc
```

| 变量名 | 必填 | 说明 |
|--------|------|------|
| `REDFOX_API_KEY` | 是 | RedFox API 访问密钥，格式 `ak_xxxxxxxx`，脚本自动通过 `X-API-KEY` 请求头附加 |

---

## 使用指南

### 基础使用

#### 1. 直接贴文案

最简单的用法，直接把抖音文案粘贴进来：

> 用户：帮我看下这段抖音脚本有没有违禁词：这款美白神器真的太有效了，用了三天就白了一个度

检测完成后自动输出三个板块：检测结果 → 修改建议 → 优化文案，并自动生成可下载的纯文本文件。

#### 2. 上传文件

支持 TXT、DOC、DOCX 文件，直接上传即可自动提取文字并检测：

> 用户：[上传 script.docx] 帮我检查这个文档

脚本自动提取文件内容 → 字数判断 → 调用检测 API → 输出结果。

#### 3. 上传图片

上传视频截图或字幕截图，自动提取图中文字进行检测（仅提取文字，不分析图片内容）：

> 用户：[上传字幕截图.png] 检测图片里的文字有没有违禁词

#### 4. 粘贴链接

直接粘贴网页地址，自动抓取页面文字内容进行检测：

> 用户：帮我检测这个网页 https://example.com/article

### 高级使用：超长文案分批检测

当文案超过 3000 字时，系统会自动暂停并询问：
- **回复 1**：仅检测前 3000 字符
- **回复 2**：分批检测全部内容，完成后自动合并结果
- **回复 3**：取消

当文案超过 10000 字时，系统会提示建议手动分批，不执行检测。

### 命令速查

| 输入形态 | 助手动作 |
|----------|----------|
| 纯文本 | 计算字数 → 字数闸门 → `--content="..."` → 三板块输出 → 写文件 |
| 上传 TXT/DOC/DOCX | `--file=path --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |
| 上传图片 | 仅提取图中文字 → 计算字数 → `--content="提取文字"` → 三板块输出 → 写文件 |
| 粘贴 `https://...` | `--url=... --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |
| 超长文案（3000~10000） | 发出询问语，**收到 1/2/3 后再继续** |
| 超长文案（>10000） | 直接提示建议手动分批，不执行检测 |

`--content`、`--file`、`--url` 三者互斥，每次调用仅传一个。平台已固定为抖音，无需指定。

### 输出格式说明

检测成功时，输出固定包含三个板块（顺序固定，禁止增减）：

| 板块 | 内容 |
|------|------|
| 🔍 **违禁词检测结果** | 检测平台、违禁词数量、违禁词类型 |
| 💡 **修改建议** | 违禁词 → 替换词 → 更换理由 表格 |
| ✏️ **建议优化文案** | 替换后的完整文案，替换处加粗显示 |

未检测到违禁词时，仅输出「未检测到违禁词，文案内容合规✅」，不输出后两个板块。

**重要**：三板块输出完成后，会自动将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以文件卡片形式发送给用户，可直接点击下载。

---

## 使用场景

### 场景一：短视频脚本发布前自查

**角色**：短视频编导/创作者

**需求**：口播脚本、字幕文案发布前排查极限词、禁宣用语

**使用方式**：
1. 将完成的脚本文案粘贴进来
2. 查看违禁词标记和替换建议
3. 下载优化后的安全版本

**预期收益**：避免因违禁词导致视频限流或下架，安心发布

---

### 场景二：电商商品文案批量扫雷

**角色**：电商运营

**需求**：商品详情页、活动页文案上架前批量合规检测

**使用方式**：
1. 上传包含多条商品文案的 DOCX 文档
2. 系统自动分批检测长文档
3. 获取全部替换后的合规版本

**预期收益**：批量排查，避免商品因文案违规被下架处罚

---

### 场景三：直播话术合规过筛

**角色**：直播话术策划

**需求**：直播间台词、促销话术上线前快速过筛

**使用方式**：
1. 直接粘贴直播话术脚本
2. 一键获取违禁词位置和替换建议
3. 根据建议调整话术

**预期收益**：保障直播话术合规，降低直播风险

---

### 场景四：品牌落地页文案抽查

**角色**：品牌/市场团队

**需求**：落地页、H5 活动页发布前文案合规抽查

**使用方式**：
1. 粘贴落地页 URL
2. 系统自动抓取页面文字内容
3. 检测文案合规性

**预期收益**：快速完成页面文案审核，避免对外发布后出现问题

---

## 项目架构

### 目录结构

```
douyin-prohibited-word/
├── SKILL.md                             # Skill 说明文档（本文件）
├── references/
│   └── core_workflow.md                 # 完整执行规程（输出模板、铁律、详细步骤）
├── scripts/
│   └── check_sensitive_words.py         # 核心检测脚本
└── _meta.json                           # 元数据配置
```

### 技术栈

| 组件 | 技术 |
|------|------|
| **运行环境** | Python 3.8+ |
| **HTTP 请求** | requests（Python 原生 HTTP 库，自动重试） |
| **文档解析** | python-docx（DOC/DOCX） |
| **网页提取** | Playwright（JS 动态页面）+ BeautifulSoup4（静态页面回退） |
| **检测平台** | 抖音（硬编码） |

### 核心模块说明

| 模块 | 文件 | 职责 |
|------|------|------|
| **文本提取** | `check_sensitive_words.py` — `extract_from_file()` / `extract_from_web()` | 从文件、网页中提取文本内容 |
| **违禁词检测** | `check_sensitive_words.py` — `check_sensitive_words()` | 调用违禁词检测 API，返回标记后的 HTML + 违禁词列表 |
| **英文误匹配过滤** | `check_sensitive_words.py` | 自动过滤英文单词内部子串误标（如 "Glasswing" 中的 "ass"） |
| **执行规程** | `references/core_workflow.md` | 完整的输出模板、执行铁律、超长内容处理规则、异常处理话术 |

---

## 常见问答

### 安装相关问题

**Q1: 安装时提示缺少依赖库怎么办？**

A: 按以下命令安装缺失的依赖：

```bash
pip install python-docx==1.1.0 beautifulsoup4==4.12.3 playwright==1.58.0
playwright install chromium
```

**Q2: Playwright 安装失败怎么办？**

A: 网页检测需要 Playwright 渲染 JS 页面。如果 Playwright 不可用，脚本会自动回退到静态页面提取方式，不影响其他功能使用。

---

### 使用相关问题

**Q3: 一次最多能检测多少内容？**

A: 单次检测上限 3000 字符。3000~10000 字符支持分批检测后自动合并，超过 10000 字符建议手动分批。

**Q4: 支持哪些文件格式？**

A: 支持 TXT、DOC、DOCX、CSV、MD 等文本类型文件，以及常见图片格式（提取图中文字）。**暂不支持 PDF**，请转为图片或文本文件后上传。

**Q5: 数据会外传吗？如何保障隐私？**

A: 文案将通过加密 HTTPS 连接发送至检测服务进行匹配，不在本地存储。

---

### 故障排除

**Q6: 检测服务返回异常怎么办？**

A: 脚本内置自动重试机制（最多 3 次），偶尔网络波动会自动重试。如果多次重试仍失败，请稍后重试或联系技术支持。

**Q7: 英文单词被误判为违禁词？**

A: 已内置英文误匹配过滤。脚本会自动识别并过滤英文单词内部子串误标（如 "Glasswing" 中的 "ass"），无需额外处理。

**Q8: 文件或网页提取失败？**

A: 请检查文件格式是否正确、网址是否可正常访问。PDF 文件不支持，请先转换为图片或文本格式。

---

### 获取帮助

- 完整执行规程、输出模板、执行铁律详见 [`references/core_workflow.md`](references/core_workflow.md)

---

## 触发条件

满足以下任一即激活本 Skill：
- 用户提到「抖音违禁词」「抖音敏感词」「抖音审核」「限流词」「脚本合规」「口播文案合规」
- 用户要求检测抖音短视频脚本、直播话术、字幕文案、商品详情等内容安全性
- 用户上传文件/图片/链接并提到抖音相关的检测需求

## 执行铁律

调用脚本、格式化输出前，**必须先读取并严格遵循** [`references/core_workflow.md`](references/core_workflow.md) **全文**。核心原则：

1. **禁止编造结果** —— 仅以脚本返回 JSON 为准，不得臆造违禁词或替换建议
2. **禁止输出原始 JSON** —— 必须解析后填入输出模板
3. **禁止多余寒暄** —— 仅输出三个板块（🔍检测结果、💡修改建议、✏️优化文案），无开场白/结束语
4. **分批/字数超限必须暂停** —— 发出提示后立即停止，等待用户明确回复 1/2/3 后再继续
5. **图片仅限文字** —— 禁止获取图片的视觉风格、布局、色彩、人物等任何非文字信息
6. **必须交付文件** —— 三板块输出完成后，必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以卡片形式发送给用户，禁止省略
A: 已内置英文误匹配过滤。脚本会自动识别并过滤英文单词内部子串误标（如 "Glasswing" 中的 "ass"），无需额外处理。

**Q8: 文件或网页提取失败？**

A: 请检查文件格式是否正确、网址是否可正常访问。PDF 文件不支持，请先转换为图片或文本格式。

---

### 获取帮助

- 完整执行规程、输出模板、执行铁律详见 [`references/core_workflow.md`](references/core_workflow.md)

---

## 触发条件

满足以下任一即激活本 Skill：
- 用户提到「抖音违禁词」「抖音敏感词」「抖音审核」「限流词」「脚本合规」「口播文案合规」
- 用户要求检测抖音短视频脚本、直播话术、字幕文案、商品详情等内容安全性
- 用户上传文件/图片/链接并提到抖音相关的检测需求

## 执行铁律

调用脚本、格式化输出前，**必须先读取并严格遵循** [`references/core_workflow.md`](references/core_workflow.md) **全文**。核心原则：

1. **禁止编造结果** —— 仅以脚本返回 JSON 为准，不得臆造违禁词或替换建议
2. **禁止输出原始 JSON** —— 必须解析后填入输出模板
3. **禁止多余寒暄** —— 仅输出三个板块（🔍检测结果、💡修改建议、✏️优化文案），无开场白/结束语
4. **分批/字数超限必须暂停** —— 发出提示后立即停止，等待用户明确回复 1/2/3 后再继续
5. **图片仅限文字** —— 禁止获取图片的视觉风格、布局、色彩、人物等任何非文字信息
6. **必须交付文件** —— 三板块输出完成后，必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以卡片形式发送给用户，禁止省略

