{"id":"24ef0f43-75d5-47e7-9df3-0af8c848c5ca","entityType":"agent","slug":"clawhub-if530770-dy-prohibited-word","name":"抖音违禁词检测","canonicalUrl":"https://www.xpersona.co/agent/clawhub-if530770-dy-prohibited-word","canonicalPath":"/agent/clawhub-if530770-dy-prohibited-word","generatedAt":"2026-10-11T03:56:33.636Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T01:41:23.801Z","emptyReason":null},"description":"检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。 Skill: 抖音违禁词检测 Owner: if530770 Summary: 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。 Tags: douyin video:1.0.1, latest:1.0.2 Version history: v1.0.2 | 2026-06-05T03:37:00.554Z | user **Changelog for dy-prohibited-word v1.0.2:** - Renamed skill from dy-prohibited-word to douyin-prohibited-word. - Added English and Chinese README files for better documentation (README.m","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17dj64hf08x3mak1j99vesphd84gs9c:dy-prohibited-word","sourceUrl":"https://clawhub.ai/if530770/dy-prohibited-word","homepage":"https://clawhub.ai/if530770/skills/dy-prohibited-word","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/if530770/dy-prohibited-word","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/if530770/skills/dy-prohibited-word","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。 Skill: 抖音违禁词检测 Owner: if530770 Summary: 检测文案、文件或网页中的抖音违禁词并加粗显示，提"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:41:23.801Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:41:23.801Z","emptyReason":null},"stars":null,"forks":null,"downloads":1202,"packageName":null,"latestVersion":"1.0.2","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:41:23.730Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T01:41:23.801Z","lastCrawledAt":"2026-10-11T01:41:23.730Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T01:41:23.730Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.2","createdAt":"2026-06-05T03:37:00.554Z","changelog":"**Changelog for dy-prohibited-word v1.0.2:** - Renamed skill from `dy-prohibited-word` to `douyin-prohibited-word`. - Added English and Chinese README files for better documentation (README.md, README.en.md). - Removed outdated or redundant documentation file (skill-card.md). - Updated and expanded SKILL.md with more detailed usage instructions, install guides, FAQ, and clear output/trigger rules. - Provided a more systematic project structure and clarified input/output formats and scenarios.","fileCount":7,"zipByteSize":21236},{"version":"1.0.1","createdAt":"2026-05-18T08:55:04.486Z","changelog":"- Skill简介与功能表述全面优化，强调基于官方违禁词库及抖音平台审核规则。 - 主要用户收益及使用场景描述更清晰，支持文本、文件、图片、链接四类输入。 - 增加易懂的使用流程、输入类型说明和异常应对话术。 - 补充“执行铁律”，明确执行过程的合规要点（如拒绝编造结果、严禁多余寒暄、输出文件等）。 - 入口条件、边界约束和模板输出要求整体梳理，便于新手快速理解与上手。 - 保留所有核心检测与文件输出能力，暂无功能/接口变更。","fileCount":5,"zipByteSize":15188},{"version":"1.0.0","createdAt":"2026-05-09T08:09:09.815Z","changelog":"- Initial release of dy-prohibited-word skill for Douyin compliance checks. - Supports one-stop detection of prohibited words in plain text, TXT/DOC/DOCX files, web pages, and images. - Highlights violations, provides structured replacement suggestions, and outputs optimized compliant text. - Enforces workflow by requiring adherence to a core_workflow.md for all usage and output scenarios. - Detects word count limits and pauses or stops based on thresholds (3,000/10,000 characters). - Outputs results in fixed, easy-to-understand formats and delivers optimized text as downloadable plain text files when violations are found.","fileCount":4,"zipByteSize":13907}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17dj64hf08x3mak1j99vesphd84gs9c:dy-prohibited-word","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T03:56:33.632Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-if530770-dy-prohibited-word/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T01:41:23.801Z","emptyReason":null},"readme":"Skill: 抖音违禁词检测\n\nOwner: if530770\n\nSummary: 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。\n\nTags: douyin video:1.0.1, latest:1.0.2\n\nVersion history:\n\nv1.0.2 | 2026-06-05T03:37:00.554Z | user\n\n**Changelog for dy-prohibited-word v1.0.2:**\n\n- Renamed skill from `dy-prohibited-word` to `douyin-prohibited-word`.\n- Added English and Chinese README files for better documentation (README.md, README.en.md).\n- Removed outdated or redundant documentation file (skill-card.md).\n- Updated and expanded SKILL.md with more detailed usage instructions, install guides, FAQ, and clear output/trigger rules. \n- Provided a more systematic project structure and clarified input/output formats and scenarios.\n\nv1.0.1 | 2026-05-18T08:55:04.486Z | user\n\n- Skill简介与功能表述全面优化，强调基于官方违禁词库及抖音平台审核规则。\n- 主要用户收益及使用场景描述更清晰，支持文本、文件、图片、链接四类输入。\n- 增加易懂的使用流程、输入类型说明和异常应对话术。\n- 补充“执行铁律”，明确执行过程的合规要点（如拒绝编造结果、严禁多余寒暄、输出文件等）。\n- 入口条件、边界约束和模板输出要求整体梳理，便于新手快速理解与上手。\n- 保留所有核心检测与文件输出能力，暂无功能/接口变更。\n\nv1.0.0 | 2026-05-09T08:09:09.815Z | user\n\n- Initial release of dy-prohibited-word skill for Douyin compliance checks.\n- Supports one-stop detection of prohibited words in plain text, TXT/DOC/DOCX files, web pages, and images.\n- Highlights violations, provides structured replacement suggestions, and outputs optimized compliant text.\n- Enforces workflow by requiring adherence to a core_workflow.md for all usage and output scenarios.\n- Detects word count limits and pauses or stops based on thresholds (3,000/10,000 characters).\n- Outputs results in fixed, easy-to-understand formats and delivers optimized text as downloadable plain text files when violations are found.\n\nArchive index:\n\nArchive v1.0.2: 7 files, 21236 bytes\n\nFiles: README.en.md (5623b), README.md (5098b), references/core_workflow.md (12681b), scripts/check_sensitive_words.py (13267b), skill-card.md (2935b), SKILL.md (14714b), _meta.json (137b)\n\nFile v1.0.2:SKILL.md\n\n---\r\nname: douyin-prohibited-word\r\ndescription: 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。\r\ndependency:\r\n  python:\r\n    - python-docx==1.1.0\r\n    - beautifulsoup4==4.12.3\r\n    - playwright==1.58.0\r\n  system:\r\n    - playwright install chromium\r\n---\r\n\r\n# 抖音违禁词检测\r\n\r\n## 简介\r\n\r\n抖音违禁词检测是一款专为抖音内容创作者和运营人员设计的智能合规检测工具，帮你快速排查文案中的违禁词并给出安全替换方案。\r\n\r\n> 视频被限流、文案被下架？可能就是一两个词惹的祸。把文案扔进来，快速告诉你哪里踩雷、怎么改才安全。\r\n\r\n通过简单的输入操作，你可以：\r\n- 🔍 自动识别抖音违禁词，原文加粗定位风险点\r\n- 💡 获得结合上下文的智能替换建议 + 更换理由\r\n- ✏️ 一键生成替换后的可发布版本，复制粘贴就能用\r\n\r\n适用于短视频编导、电商运营、直播策划、品牌市场等需要确保抖音文案合规发布的场景。\r\n\r\n---\r\n\r\n## 功能特性\r\n\r\n### 🎯 核心功能\r\n\r\n- **🔍 违禁词标记**：原文中命中词直接**加粗**，一眼看到风险点\r\n- **💡 智能替换建议**：每个违禁词配一个结合上下文的替换词 + 更换理由，帮你\"改通顺\"而不是机械替换\r\n- **✏️ 优化文案生成**：直接输出一份替换后的可发布版本，替换词**加粗**标记，复制粘贴就能用\r\n- **📎 文件自动交付**：自动生成纯文本优化文案文件，点击即可下载保存\r\n- **📏 长文案分批检测**：超过 3000 字自动提醒，支持分批检测后自动合并结果\r\n\r\n### ✨ 特色亮点\r\n\r\n- **📥 多输入形态**：支持直接粘贴文案、上传 TXT/DOC/DOCX 文件、上传图片提取文字、粘贴网页链接\r\n- **⚡ 一站式处理**：文本提取 + 违禁词检测一次完成，无需多次调用脚本\r\n- **🌐 动态网页支持**：网页检测使用 Playwright 无头浏览器渲染 JS 页面，也支持静态页面回退\r\n- **🔤 英文误匹配过滤**：内置英文单词误匹配过滤，不会把正常英文单词片段误判为违禁词\r\n- **🔄 网络自动重试**：遇到网络波动自动重试最多 3 次，无需手动干预\r\n\r\n---\r\n\r\n## 一键安装\r\n\r\n### 前置条件\r\n\r\n- Python 3.8+\r\n- 已注册 红狐Hub 账号并获取 API Key（格式 `ak_xxxxxxxx`）\r\n\r\n### 安装步骤\r\n\r\n```bash\r\n# 1. 安装 Python 依赖\r\npip install python-docx==1.1.0 beautifulsoup4==4.12.3 playwright==1.58.0\r\n\r\n# 2. 安装 Playwright 浏览器（网页检测需要）\r\nplaywright install chromium\r\n```\r\n\r\n---\r\n\r\n## 鉴权\r\n\r\n### 获取 API Key\r\n\r\n1. 访问 [红狐Hub 官网](https://redfox.hk/) 了解服务详情\r\n2. 前往 [注册页面](https://redfox.hk/login) 注册账号\r\n3. **新注册用户将获赠免费积分**，可立即开始使用 API 服务\r\n4. 注册登录后，在个人中心获取 API Key，格式为 `ak_xxxxxxxx`\r\n\r\n### 配置 API Key\r\n\r\n将 API Key 配置为环境变量 `REDFOX_API_KEY`：\r\n\r\n**方式一：临时设置（当前终端会话有效）**\r\n\r\n```bash\r\nexport REDFOX_API_KEY=ak_xxxxxxxx\r\n```\r\n\r\n**方式二：永久设置（推荐）**\r\n\r\n```bash\r\n# Bash 用户\r\necho 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.bashrc\r\nsource ~/.bashrc\r\n\r\n# Zsh 用户\r\necho 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.zshrc\r\nsource ~/.zshrc\r\n```\r\n\r\n| 变量名 | 必填 | 说明 |\r\n|--------|------|------|\r\n| `REDFOX_API_KEY` | 是 | RedFox API 访问密钥，格式 `ak_xxxxxxxx`，脚本自动通过 `X-API-KEY` 请求头附加 |\r\n\r\n---\r\n\r\n## 使用指南\r\n\r\n### 基础使用\r\n\r\n#### 1. 直接贴文案\r\n\r\n最简单的用法，直接把抖音文案粘贴进来：\r\n\r\n> 用户：帮我看下这段抖音脚本有没有违禁词：这款美白神器真的太有效了，用了三天就白了一个度\r\n\r\n检测完成后自动输出三个板块：检测结果 → 修改建议 → 优化文案，并自动生成可下载的纯文本文件。\r\n\r\n#### 2. 上传文件\r\n\r\n支持 TXT、DOC、DOCX 文件，直接上传即可自动提取文字并检测：\r\n\r\n> 用户：[上传 script.docx] 帮我检查这个文档\r\n\r\n脚本自动提取文件内容 → 字数判断 → 调用检测 API → 输出结果。\r\n\r\n#### 3. 上传图片\r\n\r\n上传视频截图或字幕截图，自动提取图中文字进行检测（仅提取文字，不分析图片内容）：\r\n\r\n> 用户：[上传字幕截图.png] 检测图片里的文字有没有违禁词\r\n\r\n#### 4. 粘贴链接\r\n\r\n直接粘贴网页地址，自动抓取页面文字内容进行检测：\r\n\r\n> 用户：帮我检测这个网页 https://example.com/article\r\n\r\n### 高级使用：超长文案分批检测\r\n\r\n当文案超过 3000 字时，系统会自动暂停并询问：\r\n- **回复 1**：仅检测前 3000 字符\r\n- **回复 2**：分批检测全部内容，完成后自动合并结果\r\n- **回复 3**：取消\r\n\r\n当文案超过 10000 字时，系统会提示建议手动分批，不执行检测。\r\n\r\n### 命令速查\r\n\r\n| 输入形态 | 助手动作 |\r\n|----------|----------|\r\n| 纯文本 | 计算字数 → 字数闸门 → `--content=\"...\"` → 三板块输出 → 写文件 |\r\n| 上传 TXT/DOC/DOCX | `--file=path --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |\r\n| 上传图片 | 仅提取图中文字 → 计算字数 → `--content=\"提取文字\"` → 三板块输出 → 写文件 |\r\n| 粘贴 `https://...` | `--url=... --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |\r\n| 超长文案（3000~10000） | 发出询问语，**收到 1/2/3 后再继续** |\r\n| 超长文案（>10000） | 直接提示建议手动分批，不执行检测 |\r\n\r\n`--content`、`--file`、`--url` 三者互斥，每次调用仅传一个。平台已固定为抖音，无需指定。\r\n\r\n### 输出格式说明\r\n\r\n检测成功时，输出固定包含三个板块（顺序固定，禁止增减）：\r\n\r\n| 板块 | 内容 |\r\n|------|------|\r\n| 🔍 **违禁词检测结果** | 检测平台、违禁词数量、违禁词类型 |\r\n| 💡 **修改建议** | 违禁词 → 替换词 → 更换理由 表格 |\r\n| ✏️ **建议优化文案** | 替换后的完整文案，替换处加粗显示 |\r\n\r\n未检测到违禁词时，仅输出「未检测到违禁词，文案内容合规✅」，不输出后两个板块。\r\n\r\n**重要**：三板块输出完成后，会自动将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以文件卡片形式发送给用户，可直接点击下载。\r\n\r\n---\r\n\r\n## 使用场景\r\n\r\n### 场景一：短视频脚本发布前自查\r\n\r\n**角色**：短视频编导/创作者\r\n\r\n**需求**：口播脚本、字幕文案发布前排查极限词、禁宣用语\r\n\r\n**使用方式**：\r\n1. 将完成的脚本文案粘贴进来\r\n2. 查看违禁词标记和替换建议\r\n3. 下载优化后的安全版本\r\n\r\n**预期收益**：避免因违禁词导致视频限流或下架，安心发布\r\n\r\n---\r\n\r\n### 场景二：电商商品文案批量扫雷\r\n\r\n**角色**：电商运营\r\n\r\n**需求**：商品详情页、活动页文案上架前批量合规检测\r\n\r\n**使用方式**：\r\n1. 上传包含多条商品文案的 DOCX 文档\r\n2. 系统自动分批检测长文档\r\n3. 获取全部替换后的合规版本\r\n\r\n**预期收益**：批量排查，避免商品因文案违规被下架处罚\r\n\r\n---\r\n\r\n### 场景三：直播话术合规过筛\r\n\r\n**角色**：直播话术策划\r\n\r\n**需求**：直播间台词、促销话术上线前快速过筛\r\n\r\n**使用方式**：\r\n1. 直接粘贴直播话术脚本\r\n2. 一键获取违禁词位置和替换建议\r\n3. 根据建议调整话术\r\n\r\n**预期收益**：保障直播话术合规，降低直播风险\r\n\r\n---\r\n\r\n### 场景四：品牌落地页文案抽查\r\n\r\n**角色**：品牌/市场团队\r\n\r\n**需求**：落地页、H5 活动页发布前文案合规抽查\r\n\r\n**使用方式**：\r\n1. 粘贴落地页 URL\r\n2. 系统自动抓取页面文字内容\r\n3. 检测文案合规性\r\n\r\n**预期收益**：快速完成页面文案审核，避免对外发布后出现问题\r\n\r\n---\r\n\r\n## 项目架构\r\n\r\n### 目录结构\r\n\r\n```\r\ndouyin-prohibited-word/\r\n├── SKILL.md                             # Skill 说明文档（本文件）\r\n├── references/\r\n│   └── core_workflow.md                 # 完整执行规程（输出模板、铁律、详细步骤）\r\n├── scripts/\r\n│   └── check_sensitive_words.py         # 核心检测脚本\r\n└── _meta.json                           # 元数据配置\r\n```\r\n\r\n### 技术栈\r\n\r\n| 组件 | 技术 |\r\n|------|------|\r\n| **运行环境** | Python 3.8+ |\r\n| **HTTP 请求** | requests（Python 原生 HTTP 库，自动重试） |\r\n| **文档解析** | python-docx（DOC/DOCX） |\r\n| **网页提取** | Playwright（JS 动态页面）+ BeautifulSoup4（静态页面回退） |\r\n| **检测平台** | 抖音（硬编码） |\r\n\r\n### 核心模块说明\r\n\r\n| 模块 | 文件 | 职责 |\r\n|------|------|------|\r\n| **文本提取** | `check_sensitive_words.py` — `extract_from_file()` / `extract_from_web()` | 从文件、网页中提取文本内容 |\r\n| **违禁词检测** | `check_sensitive_words.py` — `check_sensitive_words()` | 调用违禁词检测 API，返回标记后的 HTML + 违禁词列表 |\r\n| **英文误匹配过滤** | `check_sensitive_words.py` | 自动过滤英文单词内部子串误标（如 \"Glasswing\" 中的 \"ass\"） |\r\n| **执行规程** | `references/core_workflow.md` | 完整的输出模板、执行铁律、超长内容处理规则、异常处理话术 |\r\n\r\n---\r\n\r\n## 常见问答\r\n\r\n### 安装相关问题\r\n\r\n**Q1: 安装时提示缺少依赖库怎么办？**\r\n\r\nA: 按以下命令安装缺失的依赖：\r\n\r\n```bash\r\npip install python-docx==1.1.0 beautifulsoup4==4.12.3 playwright==1.58.0\r\nplaywright install chromium\r\n```\r\n\r\n**Q2: Playwright 安装失败怎么办？**\r\n\r\nA: 网页检测需要 Playwright 渲染 JS 页面。如果 Playwright 不可用，脚本会自动回退到静态页面提取方式，不影响其他功能使用。\r\n\r\n---\r\n\r\n### 使用相关问题\r\n\r\n**Q3: 一次最多能检测多少内容？**\r\n\r\nA: 单次检测上限 3000 字符。3000~10000 字符支持分批检测后自动合并，超过 10000 字符建议手动分批。\r\n\r\n**Q4: 支持哪些文件格式？**\r\n\r\nA: 支持 TXT、DOC、DOCX、CSV、MD 等文本类型文件，以及常见图片格式（提取图中文字）。**暂不支持 PDF**，请转为图片或文本文件后上传。\r\n\r\n**Q5: 数据会外传吗？如何保障隐私？**\r\n\r\nA: 文案将通过加密 HTTPS 连接发送至检测服务进行匹配，不在本地存储。\r\n\r\n---\r\n\r\n### 故障排除\r\n\r\n**Q6: 检测服务返回异常怎么办？**\r\n\r\nA: 脚本内置自动重试机制（最多 3 次），偶尔网络波动会自动重试。如果多次重试仍失败，请稍后重试或联系技术支持。\r\n\r\n**Q7: 英文单词被误判为违禁词？**\r\n\r\nA: 已内置英文误匹配过滤。脚本会自动识别并过滤英文单词内部子串误标（如 \"Glasswing\" 中的 \"ass\"），无需额外处理。\r\n\r\n**Q8: 文件或网页提取失败？**\r\n\r\nA: 请检查文件格式是否正确、网址是否可正常访问。PDF 文件不支持，请先转换为图片或文本格式。\r\n\r\n---\r\n\r\n### 获取帮助\r\n\r\n- 完整执行规程、输出模板、执行铁律详见 [`references/core_workflow.md`](references/core_workflow.md)\r\n\r\n---\r\n\r\n## 触发条件\r\n\r\n满足以下任一即激活本 Skill：\r\n- 用户提到「抖音违禁词」「抖音敏感词」「抖音审核」「限流词」「脚本合规」「口播文案合规」\r\n- 用户要求检测抖音短视频脚本、直播话术、字幕文案、商品详情等内容安全性\r\n- 用户上传文件/图片/链接并提到抖音相关的检测需求\r\n\r\n## 执行铁律\r\n\r\n调用脚本、格式化输出前，**必须先读取并严格遵循** [`references/core_workflow.md`](references/core_workflow.md) **全文**。核心原则：\r\n\r\n1. **禁止编造结果** —— 仅以脚本返回 JSON 为准，不得臆造违禁词或替换建议\r\n2. **禁止输出原始 JSON** —— 必须解析后填入输出模板\r\n3. **禁止多余寒暄** —— 仅输出三个板块（🔍检测结果、💡修改建议、✏️优化文案），无开场白/结束语\r\n4. **分批/字数超限必须暂停** —— 发出提示后立即停止，等待用户明确回复 1/2/3 后再继续\r\n5. **图片仅限文字** —— 禁止获取图片的视觉风格、布局、色彩、人物等任何非文字信息\r\n6. **必须交付文件** —— 三板块输出完成后，必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以卡片形式发送给用户，禁止省略\r\nA: 已内置英文误匹配过滤。脚本会自动识别并过滤英文单词内部子串误标（如 \"Glasswing\" 中的 \"ass\"），无需额外处理。\r\n\r\n**Q8: 文件或网页提取失败？**\r\n\r\nA: 请检查文件格式是否正确、网址是否可正常访问。PDF 文件不支持，请先转换为图片或文本格式。\r\n\r\n---\r\n\r\n### 获取帮助\r\n\r\n- 完整执行规程、输出模板、执行铁律详见 [`references/core_workflow.md`](references/core_workflow.md)\r\n\r\n---\r\n\r\n## 触发条件\r\n\r\n满足以下任一即激活本 Skill：\r\n- 用户提到「抖音违禁词」「抖音敏感词」「抖音审核」「限流词」「脚本合规」「口播文案合规」\r\n- 用户要求检测抖音短视频脚本、直播话术、字幕文案、商品详情等内容安全性\r\n- 用户上传文件/图片/链接并提到抖音相关的检测需求\r\n\r\n## 执行铁律\r\n\r\n调用脚本、格式化输出前，**必须先读取并严格遵循** [`references/core_workflow.md`](references/core_workflow.md) **全文**。核心原则：\r\n\r\n1. **禁止编造结果** —— 仅以脚本返回 JSON 为准，不得臆造违禁词或替换建议\r\n2. **禁止输出原始 JSON** —— 必须解析后填入输出模板\r\n3. **禁止多余寒暄** —— 仅输出三个板块（🔍检测结果、💡修改建议、✏️优化文案），无开场白/结束语\r\n4. **分批/字数超限必须暂停** —— 发出提示后立即停止，等待用户明确回复 1/2/3 后再继续\r\n5. **图片仅限文字** —— 禁止获取图片的视觉风格、布局、色彩、人物等任何非文字信息\r\n6. **必须交付文件** —— 三板块输出完成后，必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以卡片形式发送给用户，禁止省略\n\nFile v1.0.2:README.md\n\n# 抖音违禁词检测 / douyin-prohibited-word\r\n\r\n---\r\n\r\n## 简介\r\n\r\n检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和替换后的安全文案，帮你发布前快速排查合规风险。\r\n\r\n**核心价值**\r\n\r\n- 🔍 **一眼定位风险**：原文中命中词直接加粗，哪里踩雷一目了然\r\n- 💡 **改得通顺**：每个违禁词给出结合上下文的替换词与更换理由，不是机械替换\r\n- ✏️ **拿来就能发**：一键生成替换后的完整文案，并自动交付可下载的纯文本文件\r\n\r\n**适用对象**\r\n\r\n- 🎬 **短视频编导 / 创作者** — 口播脚本、字幕文案发布前排查，避免限流或下架\r\n- 🛍️ **电商运营** — 商品详情页、活动页文案上架前批量合规检测\r\n- 🎙️ **直播话术策划** — 直播间台词、促销话术上线前快速过筛\r\n- 🏢 **品牌 / 市场团队** — 落地页、H5 活动页文案合规抽查\r\n\r\n---\r\n\r\n## 功能特性\r\n\r\n### 核心功能\r\n\r\n- **违禁词标记**：原文中命中词直接**加粗**，一眼看到风险点\r\n- **智能替换建议**：每个违禁词配一个结合上下文的替换词 + 更换理由，帮你「改通顺」而不是机械替换\r\n- **优化文案生成**：直接输出一份替换后的可发布版本，替换词**加粗**标记，复制粘贴就能用\r\n- **文件自动交付**：自动生成纯文本优化文案文件，点击即可下载保存\r\n- **长文案分批检测**：超过 3000 字自动提醒，支持分批检测后自动合并结果\r\n\r\n---\r\n\r\n## 密钥获取与安全说明\r\n\r\n- 本技能需要使用环境变量：`REDFOX_API_KEY`。\r\n- `REDFOX_API_KEY` 由 [红狐 hub](https://redfox.hk/settings/api-keys?source=clawhub) (`https://redfox.hk`)提供。\r\n- 请前往 [红狐 hub](https://redfox.hk?source=github) 注册账号，获取 `REDFOX_API_KEY`。\r\n- 配置设备环境变量 `REDFOX_API_KEY` 后使用本技能。\r\n- 在提供密钥前，请先确认密钥来源、可用范围、有效期及是否支持重置/撤销。\r\n- 禁止在代码、提示词、日志或输出文件中硬编码/明文暴露密钥。\r\n\r\n---\r\n\r\n## 使用指南\r\n\r\n直接用自然语言描述需求，无需记忆命令。支持粘贴文案、上传 TXT/DOC/DOCX 文件、上传图片提取文字，或粘贴网页链接。\r\n\r\n### 常用说法速查\r\n\r\n| 意图       | 示例话术                                                         | 效果                                               |\r\n| ---------- | ---------------------------------------------------------------- | -------------------------------------------------- |\r\n| 直接贴文案 | 「帮我看下这段抖音脚本有没有违禁词：这款美白神器真的太有效了……」 | 输出检测结果、修改建议、优化文案，并生成可下载文件 |\r\n| 上传文件   | 「[上传 script.docx] 帮我检查这个文档」                          | 自动提取文档文字并完成检测                         |\r\n| 上传图片   | 「[上传字幕截图.png] 检测图片里的文字有没有违禁词」              | 提取图中文字并完成检测（仅文字，不分析画面）       |\r\n| 粘贴链接   | 「帮我检测这个网页 https://example.com/article」                 | 自动获取页面文字并完成检测                         |\r\n| 超长文案   | 文案超过 3000 字时会询问处理方式                                 | 可选仅检前段、分批全检或取消                       |\r\n\r\n### 输出示例\r\n\r\n检测完成后，你将收到三个板块（顺序固定）：\r\n\r\n**🔍 违禁词检测结果** — 检测平台、违禁词数量、违禁词类型\r\n\r\n**💡 修改建议** — 违禁词 → 替换词 → 更换理由（表格形式）\r\n\r\n**✏️ 建议优化文案** — 替换后的完整文案，替换处**加粗**显示；同时自动生成可下载的纯文本文件\r\n\r\n若未检测到违禁词，则仅提示「未检测到违禁词，文案内容合规✅」。\r\n\r\n---\r\n\r\n## 使用场景\r\n\r\n| 场景             | 角色              | 示例问法                                       | 收益                                       |\r\n| ---------------- | ----------------- | ---------------------------------------------- | ------------------------------------------ |\r\n| 脚本发布前自查   | 短视频编导/创作者 | 「帮我检查这段口播脚本有没有抖音违禁词」       | 避免因违禁词导致视频限流或下架             |\r\n| 商品文案批量扫雷 | 电商运营          | 「[上传商品文案.docx] 上架前帮我过一遍违禁词」 | 批量排查，降低商品因文案违规被处罚风险     |\r\n| 直播话术合规过筛 | 直播话术策划      | 「这段促销直播话术有没有敏感词，怎么改安全」   | 保障直播话术合规，降低直播风险             |\r\n| 落地页文案抽查   | 品牌/市场团队     | 「帮我检测这个活动页链接里的文案是否合规」     | 快速完成页面文案审核，避免对外发布后出问题 |\r\n\r\n---\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7bbcfey44zzvtyay8yqzq0r584h3zz\",\n  \"slug\": \"dy-prohibited-word\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1780630620554\n}\n\nFile v1.0.2:references/core_workflow.md\n\n# 抖音违禁词查询 — 核心工作流\r\n\r\n执行本 Skill 时须完整遵守本文档全部条款；与 [scripts/check_sensitive_words.py](../scripts/check_sensitive_words.py) 配合使用。\r\n\r\n## 任务目标\r\n\r\n- 本 Skill 用于:检测用户输入的文案、上传的文件（图片/TXT/DOC/DOCX等文本类型文件）或网页地址中是否包含抖音违禁词，将违禁词加粗显示，提供替换建议和仅替换违禁词后的文案\r\n- 能力包含:支持文本、文件、网页三种输入方式的抖音违禁词查询，一站式检测无需多次调用脚本\r\n- 触发条件:用户输入文案内容、上传文件、提供网页地址，需要检测抖音违禁词\r\n\r\n## 前置准备\r\n\r\n- 依赖说明:脚本依赖python-docx（Word文档提取）、beautifulsoup4（网页内容提取）、playwright（无头浏览器渲染JS动态网页，需执行`playwright install chromium`安装浏览器）；网络请求使用原生 requests 库\r\n- 非标准文件/文件夹准备:无\r\n\r\n## 超长内容处理规则（所有输入类型通用）\r\n\r\n当获取到的文案字符数超过3000时，**必须暂停并按以下规则提示用户，等待用户回复后再继续，禁止未等用户回复就自行执行后续流程**：\r\n\r\n- **3000 < 字数 ≤ 10000**：提示用户：\r\n  > ⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\r\n  > 回复1：执行单次查询（仅检测前3000字符）\r\n  > 回复2：执行分批查询\r\n  > 回复3：取消执行\r\n\r\n- **字数 > 10000**：直接提示用户并中断，不执行任何检测：\r\n  > ⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\r\n\r\n  提示后立即结束任务，不提供分批选项，不执行检测。\r\n\r\n用户回复对应动作（仅适用于3000 < 字数 ≤ 10000的场景）：\r\n- **回复1**：仅取前3000字符调用脚本检测（超出部分丢弃）\r\n- **回复2**：按3000字符在自然断句处切割分批，逐批调用 `python scripts/check_sensitive_words.py --content=\"...\"` 检测全部内容；分批检测完成后必须汇总所有批次的替换结果，输出一份完整的优化文案文件，不可遗漏\r\n- **回复3**：结束任务，不执行检测\r\n\r\n## 操作步骤\r\n\r\n1. 智能体识别用户输入类型（文本/文件/网页），执行对应流程\r\n   - **文本输入**：\r\n     1. **先判断文案字数**：智能体必须先计算用户输入文案的字符数\r\n     2. 若不超过3000字符，直接调用 `python scripts/check_sensitive_words.py --content=\"文案内容\"` 检测\r\n     3. 若超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **文本类型文件（TXT/DOC/DOCX等）**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --file=/path/to/file.txt --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **网页地址**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --url=https://example.com --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **图片文件**：智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再用 --content 传入；若提取文字超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **PDF文件**：不支持，提醒用户\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n   - --content、--file、--url 三者互斥，每次调用仅传一个\r\n   - 平台已硬编码为抖音，无需也无法指定其他平台\r\n2. 解析脚本返回的JSON，**严格按下方输出模板呈现结果，禁止偏离**；分批检测时每批均输出三板块结果\r\n3. **【必须执行，不可跳过】** 将纯文本优化文案（移除所有HTML标记）写入文件 `./抖音_优化文案_{随机6位数字}.txt`，写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n\r\n---\r\n\r\n## 输出模板（必须严格照此输出，禁止增减任何板块）\r\n\r\n以下三个板块为完整输出，必须同时出现、顺序固定、标题加粗。占位符用【】标注，替换为实际值。\r\n\r\n🔍 **违禁词检测结果**\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：【word_count】个\r\n- **违禁词类型**：【prohibited_words_type】\r\n\r\n📚 **违禁文案：**\r\n【html_content，原文中违禁词用**加粗**，单独成段展示确保渲染生效】\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 【违禁词1】 | 【替换词1】 | 【更换理由1】 |\r\n| 【违禁词2】 | 【替换词2】 | 【更换理由2】 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 **加粗文案**表示已替换的文案\r\n\r\n【仅将违禁词替换为对应的安全替换词，替换时必须确保替换词与前后文语境通顺、语法正确、语义自然，如需微调前后助词/连接词以保证通顺则一并调整；所有替换词及微调处用**加粗**标记；不改变原文语气、排版、用词风格，不添加emoji，不重写文案；该板块不使用代码块包裹，直接输出富文本】\r\n\r\n---\r\n\r\n## 输出格式铁律\r\n\r\n1. **检测结果输出时仅输出上述三个板块**，禁止在该结果中添加开场白、结束语、补充说明、额外标题等任何其他内容；但检测完成并输出结果后，智能体可正常回复用户的后续提问\r\n2. 三个板块标题必须加粗，emoji在加粗标记外：🔍 **违禁词检测结果**、💡 **修改建议**、✏️ **建议优化文案**\r\n3. **✏️建议优化文案**必须确保替换词与前后文语境通顺，整句话语法正确、语义自然，禁止机械替换单词导致语病（如\"回神秘公寓\"→\"回神秘居所\"而非\"回神秘公寓\"）；如需微调前后助词/连接词以保证通顺则一并调整并用加粗标记；不改变原文语气/排版/用词风格，禁止添加emoji，禁止重写文案；所有替换词及微调处必须用**加粗**显示；该板块不使用代码块包裹，直接输出富文本\r\n4. **【不可跳过】三板块输出完成后，智能体必须将纯文本优化文案写入文件** `./抖音_优化文案_{随机6位数字}.txt`，文件内容与\"✏️建议优化文案\"完全一致但移除所有HTML标记，仅保留纯文本。写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果按原文顺序汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n5. 脚本返回JSON后，智能体必须解析并填入模板，禁止直接输出原始JSON\r\n6. 未检测到违禁词（word_count=0）时：仅输出\"**🔍 违禁词检测结果**\"板块，内容为\"未检测到违禁词，文案内容合规✅\"，不输出后两个板块，不输出文件\r\n\r\n---\r\n\r\n## 完整输出示例\r\n\r\n用户输入：\"这款美白神器真的太有效了，用了三天就白了一个度\"\r\n\r\n🔍 **违禁词检测结果**\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：2个\r\n- **违禁词类型**：禁用词\r\n\r\n📚 **违禁文案：**\r\n这款美白神器真的太**有效**了，用了三天就**白了一个度**\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 有效 | 用着感觉不错 | \"有效\"属禁用词，改为描述使用感受的口语化表达 |\r\n| 白了一个度 | 肤色提亮了不少 | \"白了一个度\"暗示美白功效，改为描述视觉感受的间接表达 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 **加粗文案**表示已替换的文案\r\n\r\n这款美白神器真的太**用着感觉不错**了，用了三天就**肤色提亮了不少**\r\n\r\n（三板块输出完成后，智能体必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt`，内容与上方一致但无HTML标记。文件必须实际写入磁盘，写入后**必须将文件以卡片形式发送给用户**，禁止仅告知路径而不发送文件卡片）\r\n\r\n---\r\n\r\n## 注意事项\r\n\r\n- 所有输入类型（文本/文件/网页/图片）超过3000字符时，必须按【超长内容处理规则】处理；3000 < 字数 ≤ 10000 提示\"⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\"，用户回复1执行单次查询（仅前3000字符），回复2分批查询（每批3000字符），回复3取消执行；字数 > 10000 直接提示\"⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\"并中断，不执行任何检测\r\n- 网络请求自动重试：遇到5xx、超时、连接错误等场景最多重试2次，智能体无需手动重试\r\n- API凭证：脚本通过环境变量 `REDFOX_API_KEY` 读取API Key（支持从 ~/.bashrc / ~/.zshrc 等 shell 配置文件自动回退读取），请求头自动附加 `X-API-KEY`，无需智能体手动传入\r\n- 脚本已内置英文误匹配过滤：API会将英文单词内部子串误标为违禁词（如\"Glasswing\"中的\"ass\"），脚本自动识别并过滤此类误匹配，无需智能体额外处理\r\n- 违禁词用**加粗**标记；优化文案中替换词用**加粗**标记\r\n- \"✏️建议优化文案\"仅替换违禁词，替换时必须确保与前后文语境通顺、语法正确，如需微调前后助词/连接词以保证通顺则一并调整并用加粗标记；禁止改变语气/排版/添加emoji/重写文案\r\n- **【不可跳过】**三板块输出完成后必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt`，其中随机数由智能体每次生成（如用当前时间戳后6位或随机6位数字），确保连续对话中不同次检测的文件名唯一、内容不被覆盖。文件内容与\"✏️建议优化文案\"一致但移除所有HTML标记。写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次完成后必须将全部替换结果按原文顺序汇总写入一份完整文件并发送文件卡片，不可遗漏任何批次**\r\n- 图片文件由智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再以 --content 传入脚本检测\r\n- 不支持PDF文件，若用户上传PDF需提醒\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n- 检测完成并输出结果、写入文件后，智能体可正常回复用户的后续提问（如调整替换词、重新检测、解释违禁规则等），不应因铁律约束而拒绝后续对话\n\nFile v1.0.2:README.en.md\n\n# Douyin Prohibited Word Checker / douyin-prohibited-word\r\n\r\n---\r\n\r\n## Overview\r\n\r\nDetect prohibited words in copy, files, or web pages for Douyin (TikTok China), highlight hits in **bold**, and deliver replacement suggestions plus a safe revised version—so you can spot compliance risks before publishing.\r\n\r\n**Core Value**\r\n\r\n- 🔍 **Spot risks at a glance**: Hits are **bolded** in the original text so you see exactly what to fix\r\n- 💡 **Reads naturally after edits**: Each hit gets a context-aware replacement and a clear reason—not a blunt find-and-replace\r\n- ✏️ **Ready to publish**: Get a full revised copy in one go, plus an auto-generated plain-text file you can download\r\n\r\n**Intended Users**\r\n\r\n- 🎬 **Short-video creators / editors** — Pre-check voiceover scripts and subtitles to avoid throttling or takedowns\r\n- 🛍️ **E-commerce operators** — Compliance-check product detail and campaign copy before listing\r\n- 🎙️ **Live-stream script planners** — Quickly screen promo lines and live-room scripts\r\n- 🏢 **Brand / marketing teams** — Spot-check landing pages and H5 campaign copy\r\n\r\n---\r\n\r\n## Features\r\n\r\n### Core Capabilities\r\n\r\n- **Prohibited-word highlighting**: Hits are **bolded** in the original text for instant visibility\r\n- **Smart replacement suggestions**: Each hit includes a context-aware replacement and rationale—so edits flow naturally\r\n- **Optimized copy generation**: Delivers a publish-ready full version with replacements **bolded** for easy copy-paste\r\n- **Automatic file delivery**: Generates a downloadable plain-text optimized copy file\r\n- **Batch checks for long copy**: Prompts when content exceeds 3,000 characters; supports batch detection with merged results\r\n\r\n---\r\n\r\n## API Key Acquisition & Security\r\n\r\n- This skill requires the environment variable: `REDFOX_API_KEY`.\r\n- `REDFOX_API_KEY` is issued by [RedFoxHub](https://redfox.hk/settings/api-keys?source=clawhub) (`https://redfox.hk`).\r\n- Register at [RedFoxHub](https://redfox.hk?source=github) to obtain `REDFOX_API_KEY`.\r\n- Configure `REDFOX_API_KEY` on your device before using this skill.\r\n- Before providing your key, confirm its source, scope, validity period, and whether it can be reset or revoked.\r\n- Do not hard-code or expose keys in plain text in code, prompts, logs, or output files.\r\n\r\n---\r\n\r\n## Usage Guide\r\n\r\nDescribe your need in natural language—no commands to memorize. You can paste copy, upload TXT/DOC/DOCX files, upload images for text extraction, or paste a web page URL.\r\n\r\n### Quick Reference\r\n\r\n| Intent          | Example phrase                                                                        | Result                                                                       |\r\n| --------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |\r\n| Paste copy      | \"Check this Douyin script for prohibited words: This whitening product really works…\" | Detection results, edit suggestions, optimized copy, and a downloadable file |\r\n| Upload a file   | \"[Upload script.docx] Check this document for me\"                                     | Text is extracted automatically, then checked                                |\r\n| Upload an image | \"[Upload subtitle-screenshot.png] Check the text in this image for prohibited words\"  | Text is extracted from the image and checked (text only—no visual analysis)  |\r\n| Paste a URL     | \"Check this page for prohibited words: https://example.com/article\"                   | Page text is fetched automatically, then checked                             |\r\n| Long copy       | When copy exceeds 3,000 characters, you'll be asked how to proceed                    | Choose first segment only, batch full check, or cancel                       |\r\n\r\n### Output Example\r\n\r\nAfter detection, you receive three sections (fixed order):\r\n\r\n**🔍 Prohibited Word Detection Results** — Platform, hit count, and word categories\r\n\r\n**💡 Edit Suggestions** — Prohibited word → replacement → reason (in a table)\r\n\r\n**✏️ Suggested Optimized Copy** — Full revised text with replacements **bolded**, plus an auto-generated downloadable plain-text file\r\n\r\nIf no prohibited words are found, you only see: \"No prohibited words detected. Copy is compliant ✅.\"\r\n\r\n---\r\n\r\n## Use Cases\r\n\r\n| Scenario                    | Role                | Example question                                                         | Benefit                                                             |\r\n| --------------------------- | ------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------- |\r\n| Pre-publish script check    | Creator / editor    | \"Check this voiceover script for Douyin prohibited words\"                | Avoid throttling or takedowns caused by risky wording               |\r\n| Bulk product copy screening | E-commerce operator | \"[Upload product-copy.docx] Screen for prohibited words before listing\"  | Batch screening to reduce listing penalties from non-compliant copy |\r\n| Live-stream script review   | Live script planner | \"Are there sensitive words in this promo script? How should I fix them?\" | Keep live-room scripts compliant and lower live-stream risk         |\r\n| Landing page spot check     | Brand / marketing   | \"Check whether the copy on this campaign page URL is compliant\"          | Fast page copy review before going live                             |\r\n\r\n---\n\nFile v1.0.2:skill-card.md\n\n## Description:\n\n检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[if530770](https://clawhub.ai/user/if530770)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal content creators, e-commerce operators, live-stream planners, and brand marketing teams use this skill to check Douyin copy, uploaded text documents, image-extracted text, or web page text for prohibited words before publication.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: User-provided copy, file text, image-extracted text, and fetched page text may be sent to the RedFox detection service.\n\nMitigation: Use the skill only with content approved for RedFox processing; avoid private, confidential, regulated, or internal-only material unless that transfer is permitted.\n\nRisk: URL checks fetch and render web pages, which can expose private/internal URLs or retrieve untrusted page content.\n\nMitigation: Do not submit private network URLs or sensitive internal pages; review fetched text before detection when handling non-public sources.\n\nRisk: Command examples that embed raw user or webpage text can be unsafe if copied into a shell.\n\nMitigation: Pass content through stdin, a safe argument-array call, or a temporary file rather than constructing shell commands from untrusted text.\n\nRisk: The script can read REDFOX_API_KEY from shell profile files and writes optimized-copy files automatically.\n\nMitigation: Store the API key with least privilege and revocation available; disable shell-profile credential lookup or automatic output-file writes if local policy requires tighter control.\n\n## Reference(s):\n\n- [Core workflow](artifact/references/core_workflow.md)\n- [RedFoxHub API key settings](https://redfox.hk/settings/api-keys?source=clawhub)\n- [ClawHub skill page](https://clawhub.ai/if530770/skills/dy-prohibited-word)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, files, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown detection report with tables, inline bold highlighting, and a generated plain-text optimized-copy file]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Detection output is based on RedFox API responses; long inputs are gated at 3000 characters per request and may be batched up to 10000 characters.]\n\n## Skill Version(s):\n\n1.0.2 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.1: 5 files, 15188 bytes\n\nFiles: references/core_workflow.md (14344b), scripts/check_sensitive_words.py (14924b), skill-card.md (2238b), SKILL.md (6552b), _meta.json (137b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: dy-prohibited-word\ndescription: 基于站长之家官方违禁词库，专攻抖音平台审核规则，支持文案、文件（TXT/DOC/DOCX）、图片、链接多形式输入，快速输出违禁词标记、上下文智能替换建议，帮你一次改对、安心发布内容。\nversion: 1.0.1\ntags:\n  - douyin\n  - compliance\n  - sensitive-words\n  - content-check\ndependency:\n  python:\n    - python-docx==1.1.0\n    - beautifulsoup4==4.12.3\n    - playwright==1.58.0\n  system:\n    - playwright install chromium\n---\n\n# 抖音违禁词检测\n\n> 视频被限流、文案被下架？可能就是一两个词惹的祸。\n\n---\n\n## 你会得到什么\n\n**把你的抖音文案扔进来，快速告诉你哪里踩雷、怎么改才安全。**\n\n🔍 **违禁词标记** —— 原文中命中词直接标红，一眼看到风险点\n\n💡 **替换建议表** —— 每个违禁词配一个结合上下文的替换词 + 更换理由，帮你\"改通顺\"而不是机械替换\n\n✏️ **优化文案** —— 直接给你一份替换后的可发布版本，替换词标蓝标记，复制粘贴就能用\n\n📎 **优化文案文件** —— 自动生成纯文本文件，点击即可下载保存\n\n📏 **长文案分批检测** —— 超过 3000 字自动提醒，支持分批检测后合并结果\n\n## 怎么用\n\n四种输入方式，挑你最顺手的：\n\n**💬 直接贴文案**\n> 帮我看下这段抖音脚本有没有违禁词：这款美白神器真的太有效了……\n\n**📎 上传文件**\n> 支持 TXT、DOC、DOCX 文件，直接上传自动读取检测\n\n**🖼️ 上传图片**\n> 上传视频截图/字幕截图，自动提取图中文字进行检测（仅提取文字，不分析图片内容）\n\n**🌐 粘贴链接**\n> 帮我检测这个网页：https://example.com/article\n\n**注意**：平台固定为抖音，无需指定。PDF 不支持，需转为图片或文本文件后上传。\n\n## 谁适合用\n\n- 🎬 **短视频编导/创作者** —— 口播脚本、字幕文案发布前自查，排除极限词、禁宣用语。如：*\"帮我查一下这个抖音脚本有没有敏感词\"*\n- 🛒 **电商运营** —— 商品详情页、活动页文案上架前批量扫雷。如：*\"检查这个文档有没有抖音违禁词\"*\n- 📢 **直播话术策划** —— 直播间台词、促销话术快速过筛。如：*\"这几段直播话术帮我查一下\"*\n- 🏷️ **品牌/市场团队** —— 落地页、H5 页面纯文本抽查。如：*\"检测这个网页内容有没有违规\"*\n\n## 使用须知\n\n- **内容长度**：建议单次 ≤ 3000 字，效果最佳；超过 3000 字会询问你是否分批；超过 10000 字暂不支持\n- **支持格式**：纯文本、TXT、DOC、DOCX、图片（提取文字）、网页链接\n- **暂不支持**：PDF（请转为图片或文本文件）\n- **数据隐私**：文案将通过加密连接发送至对接检测服务进行匹配，不在本地存储。如不希望外传，请提前告知\n- **英文内容友好**：内置英文误匹配过滤，不会把正常英文单词中的片段误判为违禁词\n- **网络容错**：内置自动重试机制，偶尔网络波动无需手动重试\n\n---\n\n> **完整执行规程**：调用脚本、格式化输出前，**必须先读取并严格遵循** [`references/core_workflow.md`](references/core_workflow.md) **全文**。\n\n### 触发条件\n\n满足以下任一即激活本 Skill：\n- 用户提到「抖音违禁词」「抖音敏感词」「抖音审核」「限流词」「脚本合规」「口播文案合规」\n- 用户要求检测抖音短视频脚本、直播话术、字幕文案、商品详情等内容安全性\n- 用户上传文件/图片/链接并提到抖音相关的检测需求\n\n### 执行铁律\n\n1. **禁止编造结果** —— 仅以脚本返回 JSON 为准，不得臆造违禁词或替换建议\n2. **禁止输出原始 JSON** —— 必须解析后填入输出模板\n3. **禁止多余寒暄** —— 仅输出三个板块（🔍检测结果、💡修改建议、✏️优化文案），无开场白/结束语\n4. **分批/字数超限必须暂停** —— 发出提示后立即停止，等待用户明确回复 1/2/3 后再继续\n5. **图片仅限文字** —— 禁止获取图片的视觉风格、布局、色彩、人物等任何非文字信息\n6. **必须交付文件** —— 三板块输出完成后，必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt` 并以卡片形式发送给用户，禁止省略\n\n### 执行流程\n\n完整步骤、话术模板与切割规则详见 [`references/core_workflow.md`](references/core_workflow.md)，速览如下：\n\n1. **识别输入类型** → 文本/文件(TXT/DOC/DOCX)/网页/图片，分别处理\n2. **字数判断** → ≤3000 直接检测；3001~10000 暂停询问（1=单次/2=分批/3=取消）；>10000 中断\n3. **调用脚本** → `python {skill_dir}/scripts/check_sensitive_words.py --content=\"...\"` 或 `--file` 或 `--url`\n4. **模板输出** → 按核心工作流三板块模板排版，违禁词用 `<span style=\"color:red\">` 标红，替换词用 `<span style=\"color:blue\">` 标蓝\n5. **交付文件** → 写入 `./抖音_优化文案_{随机6位数字}.txt` 并发送文件卡片\n\n#### 命令速查\n\n| 输入形态 | 助手动作 |\n|---|---|\n| 纯文本 | 计算字数 → 字数闸门 → `--content=\"...\"` → 三板块输出 → 写文件 |\n| 上传 TXT/DOC/DOCX | `--file=path --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |\n| 上传图片 | 仅提取图中文字 → 计算字数 → `--content=\"提取文字\"` → 三板块输出 → 写文件 |\n| 粘贴 `https://...` | `--url=... --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |\n| 超长文案 | 发出询问语，**收到 1/2/3 后再继续** |\n\n`--content`、`--file`、`--url` 三者互斥。平台已硬编码为抖音。\n\n#### 异常处理\n\n| 异常场景 | 用户话术 |\n|---|---|\n| 文件/网页提取失败 | 「内容提取失败，请检查文件格式或网址是否可访问」 |\n| PDF 文件 | 「不支持 PDF 文件，请转为图片或文本文件后重新上传」 |\n| API 超时或网络异常 | 「检测服务暂时不可用，已自动重试仍失败，请稍后重试」 |\n| API 返回业务错误（code≠2000） | 「检测服务返回异常，请稍后重试」 |\n| 未配置检测接口 | 「检测接口未配置，请设置 DY_SENSITIVE_WORD_API_URL 或使用 --api-url 参数」 |\n| 依赖缺失（python-docx/playwright 等） | 提示用户安装对应依赖后重试 |\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7bbcfey44zzvtyay8yqzq0r584h3zz\",\n  \"slug\": \"dy-prohibited-word\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1779094504486\n}\n\nFile v1.0.1:references/core_workflow.md\n\n# 抖音违禁词查询 — 核心工作流\r\n\r\n执行本 Skill 时须完整遵守本文档全部条款；与 [scripts/check_sensitive_words.py](../scripts/check_sensitive_words.py) 配合使用。\r\n\r\n## 数据源说明\r\n\r\n本 Skill 的违禁词匹配基于**站长之家官方违禁词库**，通过独立后端 API 完成检测。执行脚本时，会将待检测内容通过 HTTPS POST 发往对接服务端（JSON），**不在本地计算词库**。\r\n\r\n| 项目 | 说明 |\r\n|---|---|\r\n| **数据来源** | 站长之家官方违禁词库 |\r\n| **默认 API** | 须由部署方配置 `DY_SENSITIVE_WORD_API_URL`（HTTPS 完整 URL） |\r\n| **请求体字段** | `content`（待检测文案）、`platform`（固定为\"抖音\"）、`source`（来源标识） |\r\n| **替代部署** | 可使用 `--api-url` 参数覆盖环境变量 |\r\n\r\n**对话指引**：首次为用户检测前，应用一两句话说明「文案将通过加密连接发送至检测服务」；若用户拒绝外传数据，则不应调用检测脚本。\r\n\r\n## 任务目标\r\n\r\n- 本 Skill 用于:检测用户输入的文案、上传的文件（图片/TXT/DOC/DOCX等文本类型文件）或网页地址中是否包含抖音违禁词，将违禁词标红显示，提供替换建议和仅替换违禁词后的文案\r\n- 能力包含:支持文本、文件、网页三种输入方式的抖音违禁词查询，一站式检测无需多次调用脚本\r\n- 触发条件:用户输入文案内容、上传文件、提供网页地址，需要检测抖音违禁词\r\n\r\n## 前置准备\r\n\r\n- 依赖说明:脚本依赖python-docx（Word文档提取）、beautifulsoup4（网页内容提取）、playwright（无头浏览器渲染JS动态网页，需执行`playwright install chromium`安装浏览器）\r\n- **违禁词检测接口**：执行检测（非 `--extract-only`）前须配置 **`DY_SENSITIVE_WORD_API_URL`** 环境变量为 **HTTPS 完整 URL（含路径）**，或使用脚本参数 **`--api-url=...`** 覆盖；须指向部署方自有或已合规签约的服务端点，请求为 **POST `application/json`**，响应 JSON 契约须与原 Skill 约定一致（见脚本 `check_sensitive_words`）。仓库内不嵌入第三方域名。\r\n- 非标准文件/文件夹准备:无\r\n\r\n## 超长内容处理规则（所有输入类型通用）\r\n\r\n当获取到的文案字符数超过3000时，**必须暂停并按以下规则提示用户，等待用户回复后再继续，禁止未等用户回复就自行执行后续流程**：\r\n\r\n- **3000 < 字数 ≤ 10000**：提示用户：\r\n  > ⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\r\n  > 回复1：执行单次查询（仅检测前3000字符）\r\n  > 回复2：执行分批查询\r\n  > 回复3：取消执行\r\n\r\n- **字数 > 10000**：直接提示用户并中断，不执行任何检测：\r\n  > ⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\r\n\r\n  提示后立即结束任务，不提供分批选项，不执行检测。\r\n\r\n用户回复对应动作（仅适用于3000 < 字数 ≤ 10000的场景）：\r\n\r\n- **回复1**：仅取前3000字符调用脚本检测（超出部分丢弃）\r\n- **回复2**：按3000字符在自然断句处切割分批，逐批调用 `python scripts/check_sensitive_words.py --content=\"...\"` 检测全部内容；分批检测完成后必须汇总所有批次的替换结果，输出一份完整的优化文案文件，不可遗漏\r\n- **回复3**：结束任务，不执行检测\r\n\r\n## 操作步骤\r\n\r\n1. 智能体识别用户输入类型（文本/文件/网页），执行对应流程\r\n   - **文本输入**：\r\n     1. **先判断文案字数**：智能体必须先计算用户输入文案的字符数\r\n     2. 若不超过3000字符，直接调用 `python scripts/check_sensitive_words.py --content=\"文案内容\"` 检测\r\n     3. 若超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **文本类型文件（TXT/DOC/DOCX等）**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --file=/path/to/file.txt --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **网页地址**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --url=https://example.com --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **图片文件**：智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再用 --content 传入；若提取文字超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **PDF文件**：不支持，提醒用户\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n   - --content、--file、--url 三者互斥，每次调用仅传一个\r\n   - 平台已硬编码为抖音，无需也无法指定其他平台\r\n2. 解析脚本返回的JSON，**严格按下方输出模板呈现结果，禁止偏离**；分批检测时每批均输出三板块结果\r\n3. **【必须执行，不可跳过】** 将纯文本优化文案（移除所有HTML标记）写入文件 `./抖音_优化文案_{随机6位数字}.txt`，写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n\r\n---\r\n\r\n## 输出模板（必须严格照此输出，禁止增减任何板块）\r\n\r\n以下三个板块为完整输出，必须同时出现、顺序固定、标题加粗。占位符用【】标注，替换为实际值。\r\n\r\n🔍 **违禁词检测结果**\r\n\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：【word_count】个\r\n- **违禁词类型**：【prohibited_words_type】\r\n\r\n📚 **违禁文案：**\r\n\r\n【html_content，原文中违禁词用<span style=\"color:red\">标红，单独成段展示确保渲染生效】\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 【违禁词1】 | 【替换词1】 | 【更换理由1】 |\r\n| 【违禁词2】 | 【替换词2】 | 【更换理由2】 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 <span style=\"color:blue\">蓝色文案</span>表示已替换的文案\r\n\r\n【仅将违禁词替换为对应的安全替换词，替换时必须确保替换词与前后文语境通顺、语法正确、语义自然，如需微调前后助词/连接词以保证通顺则一并调整；所有替换词及微调处用\\<span style=\"color:blue\"\\>标蓝；不改变原文语气、排版、用词风格，不添加emoji，不重写文案；该板块不使用代码块包裹，直接输出富文本】\r\n\r\n---\r\n\r\n## 输出格式铁律\r\n\r\n1. **检测结果输出时仅输出上述三个板块**，禁止在该结果中添加开场白、结束语、补充说明、额外标题等任何其他内容；但检测完成并输出结果后，智能体可正常回复用户的后续提问\r\n2. 三个板块标题必须加粗，emoji在加粗标记外：🔍 **违禁词检测结果**、💡 **修改建议**、✏️ **建议优化文案**\r\n3. **✏️建议优化文案**必须确保替换词与前后文语境通顺，整句话语法正确、语义自然，禁止机械替换单词导致语病（如\"回神秘公寓\"→\"回神秘居所\"而非\"回神秘公寓\"）；如需微调前后助词/连接词以保证通顺则一并调整并用蓝色标记；不改变原文语气/排版/用词风格，禁止添加emoji，禁止重写文案；所有替换词及微调处必须用\\<span style=\"color:blue\"\\>标蓝显示；该板块不使用代码块包裹，直接输出富文本\r\n4. **【不可跳过】三板块输出完成后，智能体必须将纯文本优化文案写入文件** `./抖音_优化文案_{随机6位数字}.txt`，文件内容与\"✏️建议优化文案\"完全一致但移除所有HTML标记，仅保留纯文本。写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果按原文顺序汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n5. 脚本返回JSON后，智能体必须解析并填入模板，禁止直接输出原始JSON\r\n6. 未检测到违禁词（word_count=0）时：仅输出\"**🔍 违禁词检测结果**\"板块，内容为\"未检测到违禁词，文案内容合规✅\"，不输出后两个板块，不输出文件\r\n\r\n---\r\n\r\n## 完整输出示例\r\n\r\n用户输入：\"这款美白神器真的太有效了，用了三天就白了一个度\"\r\n\r\n🔍 **违禁词检测结果**\r\n\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：2个\r\n- **违禁词类型**：禁用词\r\n\r\n📚 **违禁文案：**\r\n\r\n这款美白神器真的太<span style=\"color:red\">有效</span>了，用了三天就<span style=\"color:red\">白了一个度</span>\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 有效 | 用着感觉不错 | \"有效\"属禁用词，改为描述使用感受的口语化表达 |\r\n| 白了一个度 | 肤色提亮了不少 | \"白了一个度\"暗示美白功效，改为描述视觉感受的间接表达 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 <span style=\"color:blue\">蓝色文案</span>表示已替换的文案\r\n\r\n这款美白神器真的太<span style=\"color:blue\">用着感觉不错</span>了，用了三天就<span style=\"color:blue\">肤色提亮了不少</span>\r\n\r\n（三板块输出完成后，智能体必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt`，内容与上方一致但无HTML标记。文件必须实际写入磁盘，写入后**必须将文件以卡片形式发送给用户**，禁止仅告知路径而不发送文件卡片）\r\n\r\n---\r\n\r\n## 注意事项\r\n\r\n- 所有输入类型（文本/文件/网页/图片）超过3000字符时，必须按【超长内容处理规则】处理；3000 < 字数 ≤ 10000 提示\"⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\"，用户回复1执行单次查询（仅前3000字符），回复2分批查询（每批3000字符），回复3取消执行；字数 > 10000 直接提示\"⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\"并中断，不执行任何检测\r\n- 网络请求自动重试：遇到5xx、超时、连接重置等场景最多重试2次，智能体无需手动重试；检测请求使用标准 HTTPS 与证书校验，接口 URL 由环境变量 `DY_SENSITIVE_WORD_API_URL` 或 `--api-url` 配置（见「前置准备」）\r\n- 若脚本返回「未配置违禁词检测接口地址」类错误：须提示在运行环境中配置 `DY_SENSITIVE_WORD_API_URL` 或使用 `--api-url`，不得伪造检测结果\r\n- 脚本已内置英文误匹配过滤：API会将英文单词内部子串误标为违禁词（如\"Glasswing\"中的\"ass\"），脚本自动识别并过滤此类误匹配，无需智能体额外处理\r\n- 违禁词用HTML <span style=\"color:red\"> 标记（渲染红色）；优化文案中替换词用 <span style=\"color:blue\"> 标记（渲染蓝色）\r\n- \"✏️建议优化文案\"仅替换违禁词，替换时必须确保与前后文语境通顺、语法正确，如需微调前后助词/连接词以保证通顺则一并调整并用蓝色标记；禁止改变语气/排版/添加emoji/重写文案\r\n- **【不可跳过】**三板块输出完成后必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt`，其中随机数由智能体每次生成（如用当前时间戳后6位或随机6位数字），确保连续对话中不同次检测的文件名唯一、内容不被覆盖。文件内容与\"✏️建议优化文案\"一致但移除所有HTML标记。写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次完成后必须将全部替换结果按原文顺序汇总写入一份完整文件并发送文件卡片，不可遗漏任何批次**\r\n- 图片文件由智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再以 --content 传入脚本检测\r\n- 不支持PDF文件，若用户上传PDF需提醒\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n- 检测完成并输出结果、写入文件后，智能体可正常回复用户的后续提问（如调整替换词、重新检测、解释违禁规则等），不应因铁律约束而拒绝后续对话\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\n基于站长之家官方违禁词库，专攻抖音平台审核规则，支持文案、文件（TXT/DOC/DOCX）、图片、链接多形式输入，快速输出违禁词标记、上下文智能替换建议，帮你一次改对、安心发布内容。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[if530770](https://clawhub.ai/user/if530770) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal creators, e-commerce operators, live-stream planners, and marketing teams use this skill to check Douyin copy, extracted document text, image text, or webpage text for prohibited words and receive replacement suggestions before publishing. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Submitted copy, extracted document text, and webpage text are sent to a configured HTTPS detection service. <br>\nMitigation: Use the skill only with endpoints you trust, avoid confidential or unpublished material unless that endpoint is approved, and tell users before sending their content for detection. <br>\nRisk: The skill writes optimized copy to a local text file after detection. <br>\nMitigation: Delete generated optimized-text files from the workspace when they are no longer needed. <br>\n\n\n## Reference(s): <br>\n- [Core workflow](references/core_workflow.md) <br>\n- [ClawHub skill page](https://clawhub.ai/if530770/dy-prohibited-word) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Files, Guidance] <br>\n**Output Format:** [Markdown result sections with HTML span highlights plus a plain-text optimized-copy file] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Single detection requests are limited to 3000 characters; longer supported inputs require user choice before truncation or batching.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 4 files, 13907 bytes\n\nFiles: references/core_workflow.md (13519b), scripts/check_sensitive_words.py (14925b), SKILL.md (8417b), _meta.json (137b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: dy-prohibited-word\ndescription: 当用户需要查询抖音平台违禁词、检查文案/笔记是否含敏感词、或对上传文件与网页做合规筛查并希望获得替换建议与修改后文案时使用；能力摘要：文本/文件/网页/图片输入的一站式检测，标红违禁词、表格化替换建议、输出优化文案并按规定交付纯文本文件。\nversion: 1.0.0\ntags:\n  - douyin\n  - compliance\n  - sensitive-words\n  - content-check\ndependency:\n  python:\n    - python-docx==1.1.0\n    - beautifulsoup4==4.12.3\n    - playwright==1.58.0\n  system:\n    - playwright install chromium\n---\n\n# 抖音违禁词检测\n\n需要执行完整检测与交付流程时，**必须先读取** [references/core_workflow.md](references/core_workflow.md) 并遵循其中全部规则（超长内容处理、分输入类型步骤、三板块输出模板、输出铁律、示例与注意事项）；详情步骤不在本页重复，以免与核心工作流失效不一致。\n\n## 简介\n\n面向需在**抖音**发布或复盘文案的运营、创作者与商家，在成稿前快速发现违禁表述并拿到可落地的替换说法。\n\n通过本 Skill，你可以：\n\n- 🔍 **合规筛查**：对粘贴文案、TXT/DOC/DOCX、网页正文或图片内文字做违禁词检测（平台固定为抖音）\n- 📌 **结构化反馈**：违禁词标红展示，配套「替换词 + 更换理由」表格，便于逐条修改\n- ✏️ **少改写、可交付**：在保持语气与排版的前提下给出优化文案，并按规范写入纯文本文件并以卡片形式提供给用户下载\n\n适用于短视频脚本校对、直播间话术审核、详情页与活动文案自检等场景。脚本侧依赖 Python 环境与 Playwright Chromium（见 frontmatter `dependency`）；细节安装说明见核心工作流「前置准备」。\n\n## 功能特性\n\n### 核心功能\n\n- **📝 多源输入**：支持直接文本、`--file` 文本类文件、`--url` 网页提取；图片由助手先做文字识别后以 `--content` 送检（流程见核心工作流）\n- **🔁 提取与检测分离**：可先 `--extract-only` 拿到字数再决定是否检测，与超长内容规则衔接\n- **📊 固定输出形态**：检测结果 + 修改建议表 + 建议优化文案（无违禁词时的简化输出规则见核心工作流）\n- **📎 文件交付**：检出违禁词时须写入 `./抖音_优化文案_{随机6位数字}.txt`（纯文本、无 HTML）并发送文件卡片（细则见核心工作流）\n\n### 特色亮点\n\n- **📏 字数闸门**：超过 3000 字须按核心工作流暂停征询；超过 10000 字直接中止检测并提示用户手动分批（阈值与话术以核心工作流为准）\n- **🌐 动态网页**：网页抓取优先 Playwright 渲染，静态回退由脚本内置处理\n- **🧹 英文误匹配过滤**：脚本侧对已知的英文子串误报做过滤，助手无需重复处理\n\n## 使用指南\n\n### 基础使用（执行 checklist）\n\n#### 第 1 步：加载必读工作流\n\n在执行任何检测或输出前，打开并遵循 [references/core_workflow.md](references/core_workflow.md)。其中包含：各类输入的脚本调用顺序、`--content`/`--file`/`--url` 互斥约定、超长内容分支、三板块模板与「输出格式铁律」。\n\n#### 第 2 步：识别输入并调用脚本\n\n根据用户提供的是纯文本、文件路径、URL 或图片，按核心工作流「操作步骤」选用 `--extract-only` 或直接检测；**每次调用仅使用 `--content`、`--file`、`--url` 三者之一**。\n\n> 用户：帮我看下这段话有没有抖音违禁词：「……」\n> 助手：先统计字数；若在阈值内则执行检测（运行环境已配置 `DY_SENSITIVE_WORD_API_URL`，或单次使用 `--api-url=…`），例如 `python scripts/check_sensitive_words.py --content=\"……\"`，再按核心工作流解析 JSON 填模板。\n\n> 用户：这是文案.docx，检查一下\n> 助手：先 `--file=… --extract-only` 看 length，再按字数规则决定单次检测或征询分批。\n\n若用户未提供任何可检测内容：**追问**需要粘贴文案、上传文件还是提供链接；勿凭空生成所谓「检测结果」。\n\n#### 第 3 步：呈现结果并交付文件\n\n严格按核心工作流「输出模板」「输出格式铁律」渲染（含 `word_count=0` 时的简化输出）。仅在检出违禁词时写入优化文案 txt 并发送文件卡片；分批检测须汇总全文后再写文件（见核心工作流）。\n\n### 常用命令速查\n\n| 命令示例                                                                                            | 功能                                              |\n| --------------------------------------------------------------------------------------------------- | ------------------------------------------------- |\n| `DY_SENSITIVE_WORD_API_URL=https://…/path python scripts/check_sensitive_words.py --content=\"文案\"` | 配置接口后检测全文（**extract-only 不需要配置**） |\n| `python scripts/check_sensitive_words.py --api-url=https://…/path --content=\"文案\"`                 | 单次指定检测 API，不写环境变量                    |\n| `python scripts/check_sensitive_words.py --file=/path/to/a.docx --extract-only`                     | 仅提取文本与长度                                  |\n| `python scripts/check_sensitive_words.py --file=/path/to/a.txt`                                     | 从文件提取并检测（≤3000 字路径下，需已配置 API）  |\n| `python scripts/check_sensitive_words.py --url=https://example.com --extract-only`                  | 仅抓取网页正文与长度                              |\n\n完整参数说明与行为边界见 [scripts/check_sensitive_words.py](scripts/check_sensitive_words.py) 及核心工作流。\n\n**失败或无法执行时**：说明原因（缺输入、PDF 不支持、超过 10000 字中止、网络或环境错误等），不得伪造 JSON 或违禁词列表；合规Disclaimer 以核心工作流模板为准。\n\n## 使用场景\n\n| 场景             | 角色          | 需求描述                     | 使用方式                                                          |\n| ---------------- | ------------- | ---------------------------- | ----------------------------------------------------------------- |\n| 短视频口播改稿   | 创作者 / 编导 | 避免台词触碰抖音禁用表述     | 粘贴脚本或导入 DOCX；按模板查看标红与替换表；保存 txt 优化稿      |\n| 商品详情与活动页 | 电商运营      | 上架前自检功效与极限用语风险 | 贴文案或给商品页 URL（extract-only 判长后再检）；对照修改建议微调 |\n| 批量笔记复盘     | 新媒体运营    | 统一规范团队出库文案         | 单篇文本或文件送检；超长按规则分批并汇总优化 txt                  |\n| 网页专题合规     | 市场 / 品牌   | 抓取落地页正文做一次性扫描   | `--url` 提取后检测；动态页依赖 Playwright 环境就绪                |\n\n## 注意事项\n\n- **流程权威**：执行细节以 [references/core_workflow.md](references/core_workflow.md) 为准；本页为提纲与召回说明，不替代核心工作流中的强制性条款。\n- **结果性质**：检测与替换建议仅供参考，用户须结合经营范围与实际功效自行核对（模板中含数据说明）。\n- **输入边界**：不支持 PDF；图片仅提取图中文字送检；不得编造脚本未返回的违禁词或统计数据。\n- **部署**：检测接口须由部署方配置 **`DY_SENSITIVE_WORD_API_URL`**（HTTPS 完整 URL）或调用时传 **`--api-url`**；**`--extract-only` 不调用检测接口，无需配置**。若 Playwright/Chromium 未就绪导致网页提取失败，应向用户说明环境原因并给出可行替代（如改为粘贴正文或使用静态可访问副本）。\n- **角色边界**：仅在主 Agent 执行；子任务中不承载本 Skill 的完整流程。\n\n## 资源索引\n\n- **核心工作流（必读）**：[references/core_workflow.md](references/core_workflow.md)\n- **脚本**：[scripts/check_sensitive_words.py](scripts/check_sensitive_words.py)（`--content` / `--file` / `--url`；`--extract-only` 仅提取；检测依赖环境变量 **`DY_SENSITIVE_WORD_API_URL`** 或 **`--api-url`**；平台字段硬编码抖音）\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7bbcfey44zzvtyay8yqzq0r584h3zz\",\n  \"slug\": \"dy-prohibited-word\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1778314149815\n}\n\nFile v1.0.0:references/core_workflow.md\n\n# 抖音违禁词查询 — 核心工作流\r\n\r\n执行本 Skill 时须完整遵守本文档全部条款；与 [scripts/check_sensitive_words.py](../scripts/check_sensitive_words.py) 配合使用。\r\n\r\n## 任务目标\r\n\r\n- 本 Skill 用于:检测用户输入的文案、上传的文件（图片/TXT/DOC/DOCX等文本类型文件）或网页地址中是否包含抖音违禁词，将违禁词标红显示，提供替换建议和仅替换违禁词后的文案\r\n- 能力包含:支持文本、文件、网页三种输入方式的抖音违禁词查询，一站式检测无需多次调用脚本\r\n- 触发条件:用户输入文案内容、上传文件、提供网页地址，需要检测抖音违禁词\r\n\r\n## 前置准备\r\n\r\n- 依赖说明:脚本依赖python-docx（Word文档提取）、beautifulsoup4（网页内容提取）、playwright（无头浏览器渲染JS动态网页，需执行`playwright install chromium`安装浏览器）\r\n- **违禁词检测接口**：执行检测（非 `--extract-only`）前须配置 **`DY_SENSITIVE_WORD_API_URL`** 环境变量为 **HTTPS 完整 URL（含路径）**，或使用脚本参数 **`--api-url=...`** 覆盖；须指向部署方自有或已合规签约的服务端点，请求为 **POST `application/json`**，响应 JSON 契约须与原 Skill 约定一致（见脚本 `check_sensitive_words`）。仓库内不嵌入第三方域名。\r\n- 非标准文件/文件夹准备:无\r\n\r\n## 超长内容处理规则（所有输入类型通用）\r\n\r\n当获取到的文案字符数超过3000时，**必须暂停并按以下规则提示用户，等待用户回复后再继续，禁止未等用户回复就自行执行后续流程**：\r\n\r\n- **3000 < 字数 ≤ 10000**：提示用户：\r\n  > ⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\r\n  > 回复1：执行单次查询（仅检测前3000字符）\r\n  > 回复2：执行分批查询\r\n  > 回复3：取消执行\r\n\r\n- **字数 > 10000**：直接提示用户并中断，不执行任何检测：\r\n  > ⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\r\n\r\n  提示后立即结束任务，不提供分批选项，不执行检测。\r\n\r\n用户回复对应动作（仅适用于3000 < 字数 ≤ 10000的场景）：\r\n\r\n- **回复1**：仅取前3000字符调用脚本检测（超出部分丢弃）\r\n- **回复2**：按3000字符在自然断句处切割分批，逐批调用 `python scripts/check_sensitive_words.py --content=\"...\"` 检测全部内容；分批检测完成后必须汇总所有批次的替换结果，输出一份完整的优化文案文件，不可遗漏\r\n- **回复3**：结束任务，不执行检测\r\n\r\n## 操作步骤\r\n\r\n1. 智能体识别用户输入类型（文本/文件/网页），执行对应流程\r\n   - **文本输入**：\r\n     1. **先判断文案字数**：智能体必须先计算用户输入文案的字符数\r\n     2. 若不超过3000字符，直接调用 `python scripts/check_sensitive_words.py --content=\"文案内容\"` 检测\r\n     3. 若超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **文本类型文件（TXT/DOC/DOCX等）**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --file=/path/to/file.txt --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **网页地址**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --url=https://example.com --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **图片文件**：智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再用 --content 传入；若提取文字超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **PDF文件**：不支持，提醒用户\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n   - --content、--file、--url 三者互斥，每次调用仅传一个\r\n   - 平台已硬编码为抖音，无需也无法指定其他平台\r\n2. 解析脚本返回的JSON，**严格按下方输出模板呈现结果，禁止偏离**；分批检测时每批均输出三板块结果\r\n3. **【必须执行，不可跳过】** 将纯文本优化文案（移除所有HTML标记）写入文件 `./抖音_优化文案_{随机6位数字}.txt`，写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n\r\n---\r\n\r\n## 输出模板（必须严格照此输出，禁止增减任何板块）\r\n\r\n以下三个板块为完整输出，必须同时出现、顺序固定、标题加粗。占位符用【】标注，替换为实际值。\r\n\r\n🔍 **违禁词检测结果**\r\n\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：【word_count】个\r\n- **违禁词类型**：【prohibited_words_type】\r\n\r\n📚 **违禁文案：**\r\n\r\n【html_content，原文中违禁词用<span style=\"color:red\">标红，单独成段展示确保渲染生效】\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 【违禁词1】 | 【替换词1】 | 【更换理由1】 |\r\n| 【违禁词2】 | 【替换词2】 | 【更换理由2】 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 <span style=\"color:blue\">蓝色文案</span>表示已替换的文案\r\n\r\n【仅将违禁词替换为对应的安全替换词，替换时必须确保替换词与前后文语境通顺、语法正确、语义自然，如需微调前后助词/连接词以保证通顺则一并调整；所有替换词及微调处用\\<span style=\"color:blue\"\\>标蓝；不改变原文语气、排版、用词风格，不添加emoji，不重写文案；该板块不使用代码块包裹，直接输出富文本】\r\n\r\n---\r\n\r\n## 输出格式铁律\r\n\r\n1. **检测结果输出时仅输出上述三个板块**，禁止在该结果中添加开场白、结束语、补充说明、额外标题等任何其他内容；但检测完成并输出结果后，智能体可正常回复用户的后续提问\r\n2. 三个板块标题必须加粗，emoji在加粗标记外：🔍 **违禁词检测结果**、💡 **修改建议**、✏️ **建议优化文案**\r\n3. **✏️建议优化文案**必须确保替换词与前后文语境通顺，整句话语法正确、语义自然，禁止机械替换单词导致语病（如\"回神秘公寓\"→\"回神秘居所\"而非\"回神秘公寓\"）；如需微调前后助词/连接词以保证通顺则一并调整并用蓝色标记；不改变原文语气/排版/用词风格，禁止添加emoji，禁止重写文案；所有替换词及微调处必须用\\<span style=\"color:blue\"\\>标蓝显示；该板块不使用代码块包裹，直接输出富文本\r\n4. **【不可跳过】三板块输出完成后，智能体必须将纯文本优化文案写入文件** `./抖音_优化文案_{随机6位数字}.txt`，文件内容与\"✏️建议优化文案\"完全一致但移除所有HTML标记，仅保留纯文本。写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果按原文顺序汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n5. 脚本返回JSON后，智能体必须解析并填入模板，禁止直接输出原始JSON\r\n6. 未检测到违禁词（word_count=0）时：仅输出\"**🔍 违禁词检测结果**\"板块，内容为\"未检测到违禁词，文案内容合规✅\"，不输出后两个板块，不输出文件\r\n\r\n---\r\n\r\n## 完整输出示例\r\n\r\n用户输入：\"这款美白神器真的太有效了，用了三天就白了一个度\"\r\n\r\n🔍 **违禁词检测结果**\r\n\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：2个\r\n- **违禁词类型**：禁用词\r\n\r\n📚 **违禁文案：**\r\n\r\n这款美白神器真的太<span style=\"color:red\">有效</span>了，用了三天就<span style=\"color:red\">白了一个度</span>\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 有效 | 用着感觉不错 | \"有效\"属禁用词，改为描述使用感受的口语化表达 |\r\n| 白了一个度 | 肤色提亮了不少 | \"白了一个度\"暗示美白功效，改为描述视觉感受的间接表达 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 <span style=\"color:blue\">蓝色文案</span>表示已替换的文案\r\n\r\n这款美白神器真的太<span style=\"color:blue\">用着感觉不错</span>了，用了三天就<span style=\"color:blue\">肤色提亮了不少</span>\r\n\r\n（三板块输出完成后，智能体必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt`，内容与上方一致但无HTML标记。文件必须实际写入磁盘，写入后**必须将文件以卡片形式发送给用户**，禁止仅告知路径而不发送文件卡片）\r\n\r\n---\r\n\r\n## 注意事项\r\n\r\n- 所有输入类型（文本/文件/网页/图片）超过3000字符时，必须按【超长内容处理规则】处理；3000 < 字数 ≤ 10000 提示\"⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\"，用户回复1执行单次查询（仅前3000字符），回复2分批查询（每批3000字符），回复3取消执行；字数 > 10000 直接提示\"⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\"并中断，不执行任何检测\r\n- 网络请求自动重试：遇到5xx、超时、连接重置等场景最多重试2次，智能体无需手动重试；检测请求使用标准 HTTPS 与证书校验，接口 URL 由环境变量 `DY_SENSITIVE_WORD_API_URL` 或 `--api-url` 配置（见「前置准备」）\r\n- 若脚本返回「未配置违禁词检测接口地址」类错误：须提示在运行环境中配置 `DY_SENSITIVE_WORD_API_URL` 或使用 `--api-url`，不得伪造检测结果\r\n- 脚本已内置英文误匹配过滤：API会将英文单词内部子串误标为违禁词（如\"Glasswing\"中的\"ass\"），脚本自动识别并过滤此类误匹配，无需智能体额外处理\r\n- 违禁词用HTML <span style=\"color:red\"> 标记（渲染红色）；优化文案中替换词用 <span style=\"color:blue\"> 标记（渲染蓝色）\r\n- \"✏️建议优化文案\"仅替换违禁词，替换时必须确保与前后文语境通顺、语法正确，如需微调前后助词/连接词以保证通顺则一并调整并用蓝色标记；禁止改变语气/排版/添加emoji/重写文案\r\n- **【不可跳过】**三板块输出完成后必须将纯文本优化文案写入 `./抖音_优化文案_{随机6位数字}.txt`，其中随机数由智能体每次生成（如用当前时间戳后6位或随机6位数字），确保连续对话中不同次检测的文件名唯一、内容不被覆盖。文件内容与\"✏️建议优化文案\"一致但移除所有HTML标记。写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次完成后必须将全部替换结果按原文顺序汇总写入一份完整文件并发送文件卡片，不可遗漏任何批次**\r\n- 图片文件由智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再以 --content 传入脚本检测\r\n- 不支持PDF文件，若用户上传PDF需提醒\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n- 检测完成并输出结果、写入文件后，智能体可正常回复用户的后续提问（如调整替换词、重新检测、解释违禁规则等），不应因铁律约束而拒绝后续对话","readmeExcerpt":"Skill: 抖音违禁词检测 Owner: if530770 Summary: 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。 Tags: douyin video:1.0.1, latest:1.0.2 Version history: v1.0.2 | 2026-06-05T03:37:00.554Z | user **Changelog for dy-prohibited-word v1.0.2:** - Renamed skill from dy-prohibited-word to douyin-prohibited-word. - Added English and Chinese README files for better documentation (README.m","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: douyin-prohibited-word\r\ndescription: 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。\r\ndependency:\r\n  python:\r\n    - python-docx==1.1.0\r\n    - beautifulsoup4==4.12.3\r\n    - playwright==1.58.0\r\n  system:\r\n    - playwright install chromium\r\n---\r\n\r\n# 抖音违禁词检测\r\n\r\n## 简介\r\n\r\n抖音违禁词检测是一款专为抖音内容创作者和运营人员设计的智能合规检测工具，帮你快速排查文案中的违禁词并给出安全替换方案。\r\n\r\n> 视频被限流、文案被下架？可能就是一两个词惹的祸。把文案扔进来，快速告诉你哪里踩雷、怎么改才安全。\r\n\r\n通过简单的输入操作，你可以：\r\n- 🔍 自动识别抖音违禁词，原文加粗定位风险点\r\n- 💡 获得结合上下文的智能替换建议 + 更换理由\r\n- ✏️ 一键生成替换后的可发布版本，复制粘贴就能用\r\n\r\n适用于短视频编导、电商运营、直播策划、品牌市场等需要确保抖音文案合规发布的场景。\r\n\r\n---\r\n\r\n## 功能特性\r\n\r\n### 🎯 核心功能\r\n\r\n- **🔍 违禁词标记**：原文中命中词直接**加粗**，一眼看到风险点\r\n- **💡 智能替换建议**：每个违禁词配一个结合上下文的替换词 + 更换理由，帮你\"改通顺\"而不是机械替换\r\n- **✏️ 优化文案生成**：直接输出一份替换后的可发布版本，替换词**加粗**标记，复制粘贴就能用\r\n- **📎 文件自动交付**：自动生成纯文本优化文案文件，点击即可下载保存\r\n- **📏 长文案分批检测**：超过 3000 字自动提醒，支持分批检测后自动合并结果\r\n\r\n### ✨ 特色亮点\r\n\r\n- **📥 多输入形态**：支持直接粘贴文案、上传 TXT/DOC/DOCX 文件、上传图片提取文字、粘贴网页链接\r\n- **⚡ 一站式处理**：文本提取 + 违禁词检测一次完成，无需多次调用脚本\r\n- **🌐 动态网页支持**：网页检测使用 Playwright 无头浏览器渲染 JS 页面，也支持静态页面回退\r\n- **🔤 英文误匹配过滤**：内置英文单词误匹配过滤，不会把正常英文单词片段误判为违禁词\r\n- **🔄 网络自动重试**：遇到网络波动自动重试最多 3 次，无需手动干预\r\n\r\n---\r\n\r\n## 一键安装\r\n\r\n### 前置条件\r\n\r\n- Python 3.8+\r\n- 已注册 红狐Hub 账号并获取 API Key（格式 `ak_xxxxxxxx`）\r\n\r\n### 安装步骤\r\n\r\n```bash\r\n# 1. 安装 Python 依赖\r\npip install python-docx==1.1.0 beautifulsoup4==4.12.3 playwright==1.58.0\r\n\r\n# 2. 安装 Playwright 浏览器（网页检测需要）\r\nplaywright install chromium\r\n```\r\n\r\n---\r\n\r\n## 鉴权\r\n\r\n### 获取 API Key\r\n\r\n1. 访问 [红狐Hub 官网](https://redfox.hk/) 了解服务详情\r\n2. 前往 [注册页面](https://redfox.hk/login) 注册账号\r\n3. **新注册用户将获赠免费积分**，可立即开始使用 API 服务\r\n4. 注册登录后，在个人中心获取 API Key，格式为 `ak_xxxxxxxx`\r\n\r\n### 配置 API Key\r\n\r\n将 API Key 配置为环境变量 `REDFOX_API_KEY`：\r\n\r\n**方式一：临时设置（当前终端会话有效）**\r\n\r\n```bash\r\nexport REDFOX_API_KEY=ak_xxxxxxxx\r\n```\r\n\r\n**方式二：永久设置（推荐）**\r\n\r\n```bash\r\n# Bash 用户\r\necho 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.bashrc\r\nsource ~/.bashrc\r\n\r\n# Zsh 用户\r\necho 'export REDFOX_API_KEY=ak_xxxxxxxx' >> ~/.zshrc\r\nsource ~/.zshrc\r\n```\r\n\r\n| 变量名 | 必填 | 说明 |\r\n|--------|------|------|\r\n| `REDFOX_API_KEY` | 是 | RedFox API 访问密钥，格式 `ak_xxxxxxxx`，脚本自动通过 `X-API-KEY` 请求头附加 |\r\n\r\n---\r\n\r\n## 使用指南\r\n\r\n### 基础使用\r\n\r\n#### 1. 直接贴文案\r\n\r\n最简单的用法，直接把抖音文案粘贴进来：\r\n\r\n> 用户：帮我看下这段抖音脚本有没有违禁词：这款美白神器真的太有效了，用了三天就白了一个度\r\n\r\n检测完成后自动输出三个板块：检测结果 → 修改建议 → 优化文案，并自动生成可下载的纯文本文件。\r\n\r\n#### 2. 上传文件\r\n\r\n支持 TXT、DOC、DOCX 文件，直接上传即可自动提取文字并检测：\r\n\r\n> 用户：[上传 script.docx] 帮我检查这个文档\r\n\r\n脚本自动提取文件内容 → 字数判断 → 调用检测 API → 输出结果。\r\n\r\n#### 3. 上传图片\r\n\r\n上传视频截图或字幕截图，自动提取图中文字进行检测（仅提取文字，不分析图片内容）：\r\n\r\n> 用户：[上传字幕截图.png] 检测图片里的文字有没有违禁词\r\n\r\n#### 4. 粘贴链接\r\n\r\n直接粘贴网页地址，自动抓取页面文字内容进行检测：\r\n\r\n> 用户：帮我检测这个网页 https://example.com/article\r\n\r\n### 高级使用：超长文案分批检测\r\n\r\n当文案超过 3000 字时，系统会自动暂停并询问：\r\n- **回复 1**：仅检测前 3000 字符\r\n- **回复 2**：分批检测全部内容，完成后自动合并结果\r\n- **回复 3**：取消\r\n\r\n当文案超过 10000 字时，系统会提示建议手动分批，不执行检测。\r\n\r\n### 命令速查\r\n\r\n| 输入形态 | 助手动作 |\r\n|----------|----------|\r\n| 纯文本 | 计算字数 → 字数闸门 → `--content=\"...\"` → 三板块输出 → 写文件 |\r\n| 上传 TXT/DOC/DOCX | `--file=path --extract-only` 查字数 → 按规则检测 → 三板块输出 → 写文件 |\r\n| 上传图片 | 仅提取图中文字 → 计算字数 → `--content=\"提取文字\"` → 三板块输出 → 写文件 |\r\n| 粘贴 `https://...` | `--url=... -"},{"path":"README.md","content":"# 抖音违禁词检测 / douyin-prohibited-word\r\n\r\n---\r\n\r\n## 简介\r\n\r\n检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和替换后的安全文案，帮你发布前快速排查合规风险。\r\n\r\n**核心价值**\r\n\r\n- 🔍 **一眼定位风险**：原文中命中词直接加粗，哪里踩雷一目了然\r\n- 💡 **改得通顺**：每个违禁词给出结合上下文的替换词与更换理由，不是机械替换\r\n- ✏️ **拿来就能发**：一键生成替换后的完整文案，并自动交付可下载的纯文本文件\r\n\r\n**适用对象**\r\n\r\n- 🎬 **短视频编导 / 创作者** — 口播脚本、字幕文案发布前排查，避免限流或下架\r\n- 🛍️ **电商运营** — 商品详情页、活动页文案上架前批量合规检测\r\n- 🎙️ **直播话术策划** — 直播间台词、促销话术上线前快速过筛\r\n- 🏢 **品牌 / 市场团队** — 落地页、H5 活动页文案合规抽查\r\n\r\n---\r\n\r\n## 功能特性\r\n\r\n### 核心功能\r\n\r\n- **违禁词标记**：原文中命中词直接**加粗**，一眼看到风险点\r\n- **智能替换建议**：每个违禁词配一个结合上下文的替换词 + 更换理由，帮你「改通顺」而不是机械替换\r\n- **优化文案生成**：直接输出一份替换后的可发布版本，替换词**加粗**标记，复制粘贴就能用\r\n- **文件自动交付**：自动生成纯文本优化文案文件，点击即可下载保存\r\n- **长文案分批检测**：超过 3000 字自动提醒，支持分批检测后自动合并结果\r\n\r\n---\r\n\r\n## 密钥获取与安全说明\r\n\r\n- 本技能需要使用环境变量：`REDFOX_API_KEY`。\r\n- `REDFOX_API_KEY` 由 [红狐 hub](https://redfox.hk/settings/api-keys?source=clawhub) (`https://redfox.hk`)提供。\r\n- 请前往 [红狐 hub](https://redfox.hk?source=github) 注册账号，获取 `REDFOX_API_KEY`。\r\n- 配置设备环境变量 `REDFOX_API_KEY` 后使用本技能。\r\n- 在提供密钥前，请先确认密钥来源、可用范围、有效期及是否支持重置/撤销。\r\n- 禁止在代码、提示词、日志或输出文件中硬编码/明文暴露密钥。\r\n\r\n---\r\n\r\n## 使用指南\r\n\r\n直接用自然语言描述需求，无需记忆命令。支持粘贴文案、上传 TXT/DOC/DOCX 文件、上传图片提取文字，或粘贴网页链接。\r\n\r\n### 常用说法速查\r\n\r\n| 意图       | 示例话术                                                         | 效果                                               |\r\n| ---------- | ---------------------------------------------------------------- | -------------------------------------------------- |\r\n| 直接贴文案 | 「帮我看下这段抖音脚本有没有违禁词：这款美白神器真的太有效了……」 | 输出检测结果、修改建议、优化文案，并生成可下载文件 |\r\n| 上传文件   | 「[上传 script.docx] 帮我检查这个文档」                          | 自动提取文档文字并完成检测                         |\r\n| 上传图片   | 「[上传字幕截图.png] 检测图片里的文字有没有违禁词」              | 提取图中文字并完成检测（仅文字，不分析画面）       |\r\n| 粘贴链接   | 「帮我检测这个网页 https://example.com/article」                 | 自动获取页面文字并完成检测                         |\r\n| 超长文案   | 文案超过 3000 字时会询问处理方式                                 | 可选仅检前段、分批全检或取消                       |\r\n\r\n### 输出示例\r\n\r\n检测完成后，你将收到三个板块（顺序固定）：\r\n\r\n**🔍 违禁词检测结果** — 检测平台、违禁词数量、违禁词类型\r\n\r\n**💡 修改建议** — 违禁词 → 替换词 → 更换理由（表格形式）\r\n\r\n**✏️ 建议优化文案** — 替换后的完整文案，替换处**加粗**显示；同时自动生成可下载的纯文本文件\r\n\r\n若未检测到违禁词，则仅提示「未检测到违禁词，文案内容合规✅」。\r\n\r\n---\r\n\r\n## 使用场景\r\n\r\n| 场景             | 角色              | 示例问法                                       | 收益                                       |\r\n| ---------------- | ----------------- | ---------------------------------------------- | ------------------------------------------ |\r\n| 脚本发布前自查   | 短视频编导/创作者 | 「帮我检查这段口播脚本有没有抖音违禁词」       | 避免因违禁词导致视频限流或下架             |\r\n| 商品文案批量扫雷 | 电商运营          | 「[上传商品文案.docx] 上架前帮我过一遍违禁词」 | 批量排查，降低商品因文案违规被处罚风险     |\r\n| 直播话术合规过筛 | 直播话术策划      | 「这段促销直播话术有没有敏感词，怎么改安全」   | 保障直播话术合规，降低直播风险             |\r\n| 落地页文案抽查   | 品牌/市场团队     | 「帮我检测这个活动页链接里的文案是否合规」     | 快速完成页面文案审核，避免对外发布后出问题 |\r\n\r\n---"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7bbcfey44zzvtyay8yqzq0r584h3zz\",\n  \"slug\": \"dy-prohibited-word\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1780630620554\n}"},{"path":"references/core_workflow.md","content":"# 抖音违禁词查询 — 核心工作流\r\n\r\n执行本 Skill 时须完整遵守本文档全部条款；与 [scripts/check_sensitive_words.py](../scripts/check_sensitive_words.py) 配合使用。\r\n\r\n## 任务目标\r\n\r\n- 本 Skill 用于:检测用户输入的文案、上传的文件（图片/TXT/DOC/DOCX等文本类型文件）或网页地址中是否包含抖音违禁词，将违禁词加粗显示，提供替换建议和仅替换违禁词后的文案\r\n- 能力包含:支持文本、文件、网页三种输入方式的抖音违禁词查询，一站式检测无需多次调用脚本\r\n- 触发条件:用户输入文案内容、上传文件、提供网页地址，需要检测抖音违禁词\r\n\r\n## 前置准备\r\n\r\n- 依赖说明:脚本依赖python-docx（Word文档提取）、beautifulsoup4（网页内容提取）、playwright（无头浏览器渲染JS动态网页，需执行`playwright install chromium`安装浏览器）；网络请求使用原生 requests 库\r\n- 非标准文件/文件夹准备:无\r\n\r\n## 超长内容处理规则（所有输入类型通用）\r\n\r\n当获取到的文案字符数超过3000时，**必须暂停并按以下规则提示用户，等待用户回复后再继续，禁止未等用户回复就自行执行后续流程**：\r\n\r\n- **3000 < 字数 ≤ 10000**：提示用户：\r\n  > ⚠ 单次查询内容字数建议不超过1000字，现在已超过单次执行字数是否进行分批查询？\r\n  > 回复1：执行单次查询（仅检测前3000字符）\r\n  > 回复2：执行分批查询\r\n  > 回复3：取消执行\r\n\r\n- **字数 > 10000**：直接提示用户并中断，不执行任何检测：\r\n  > ⚠ 当前内容字数超过10000字，查询将会消耗过多的时间和积分，强烈建议手动分批查询。\r\n\r\n  提示后立即结束任务，不提供分批选项，不执行检测。\r\n\r\n用户回复对应动作（仅适用于3000 < 字数 ≤ 10000的场景）：\r\n- **回复1**：仅取前3000字符调用脚本检测（超出部分丢弃）\r\n- **回复2**：按3000字符在自然断句处切割分批，逐批调用 `python scripts/check_sensitive_words.py --content=\"...\"` 检测全部内容；分批检测完成后必须汇总所有批次的替换结果，输出一份完整的优化文案文件，不可遗漏\r\n- **回复3**：结束任务，不执行检测\r\n\r\n## 操作步骤\r\n\r\n1. 智能体识别用户输入类型（文本/文件/网页），执行对应流程\r\n   - **文本输入**：\r\n     1. **先判断文案字数**：智能体必须先计算用户输入文案的字符数\r\n     2. 若不超过3000字符，直接调用 `python scripts/check_sensitive_words.py --content=\"文案内容\"` 检测\r\n     3. 若超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **文本类型文件（TXT/DOC/DOCX等）**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --file=/path/to/file.txt --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **网页地址**：\r\n     1. 先调用 `python scripts/check_sensitive_words.py --url=https://example.com --extract-only` 提取全部文字内容\r\n     2. 若返回的 length 不超过3000，直接调用 `python scripts/check_sensitive_words.py --content=\"提取的内容\"` 检测\r\n     3. 若返回的 length 超过3000，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **图片文件**：智能体先用read_image提取文字（仅提取图片中的文字内容，禁止识别图片的视觉风格描述），再用 --content 传入；若提取文字超过3000字符，按【超长内容处理规则】处理（超过10000字直接提示并中断，3000-10000字提示用户选择）\r\n   - **PDF文件**：不支持，提醒用户\"不支持PDF文件，请将PDF转为图片或文本类型文件后重新上传\"\r\n   - --content、--file、--url 三者互斥，每次调用仅传一个\r\n   - 平台已硬编码为抖音，无需也无法指定其他平台\r\n2. 解析脚本返回的JSON，**严格按下方输出模板呈现结果，禁止偏离**；分批检测时每批均输出三板块结果\r\n3. **【必须执行，不可跳过】** 将纯文本优化文案（移除所有HTML标记）写入文件 `./抖音_优化文案_{随机6位数字}.txt`，写入后**必须将文件以卡片形式发送给用户**，让用户可以直接点击下载，禁止仅告知文件路径而不发送文件卡片。**该文件必须实际写入磁盘，禁止省略不输出、禁止仅提示文件名而不写入内容、禁止不发送文件卡片**。**分批检测时，所有批次检测完成后，必须将全部批次的替换结果汇总为一份完整的优化文案写入文件并发送文件卡片，不可遗漏任何批次的内容**\r\n\r\n---\r\n\r\n## 输出模板（必须严格照此输出，禁止增减任何板块）\r\n\r\n以下三个板块为完整输出，必须同时出现、顺序固定、标题加粗。占位符用【】标注，替换为实际值。\r\n\r\n🔍 **违禁词检测结果**\r\n- ☁️**检测平台**：抖音\r\n- **违禁词数量**：【word_count】个\r\n- **违禁词类型**：【prohibited_words_type】\r\n\r\n📚 **违禁文案：**\r\n【html_content，原文中违禁词用**加粗**，单独成段展示确保渲染生效】\r\n\r\n> ⚠️ 数据说明：以上查询结果仅供参考，请您根据企业经营范围和产品实际效果或功效，自行核对。\r\n\r\n💡 **修改建议**\r\n\r\n针对每个违禁词，提供安全的替换表达。\r\n\r\n| 违禁词 | 替换词 | 更换理由 |\r\n|--------|--------|----------|\r\n| 【违禁词1】 | 【替换词1】 | 【更换理由1】 |\r\n| 【违禁词2】 | 【替换词2】 | 【更换理由2】 |\r\n\r\n✏️ **建议优化文案**\r\n\r\n> 💡 **加粗文案**表示已替换的文案\r\n\r\n【"},{"path":"README.en.md","content":"# Douyin Prohibited Word Checker / douyin-prohibited-word\r\n\r\n---\r\n\r\n## Overview\r\n\r\nDetect prohibited words in copy, files, or web pages for Douyin (TikTok China), highlight hits in **bold**, and deliver replacement suggestions plus a safe revised version—so you can spot compliance risks before publishing.\r\n\r\n**Core Value**\r\n\r\n- 🔍 **Spot risks at a glance**: Hits are **bolded** in the original text so you see exactly what to fix\r\n- 💡 **Reads naturally after edits**: Each hit gets a context-aware replacement and a clear reason—not a blunt find-and-replace\r\n- ✏️ **Ready to publish**: Get a full revised copy in one go, plus an auto-generated plain-text file you can download\r\n\r\n**Intended Users**\r\n\r\n- 🎬 **Short-video creators / editors** — Pre-check voiceover scripts and subtitles to avoid throttling or takedowns\r\n- 🛍️ **E-commerce operators** — Compliance-check product detail and campaign copy before listing\r\n- 🎙️ **Live-stream script planners** — Quickly screen promo lines and live-room scripts\r\n- 🏢 **Brand / marketing teams** — Spot-check landing pages and H5 campaign copy\r\n\r\n---\r\n\r\n## Features\r\n\r\n### Core Capabilities\r\n\r\n- **Prohibited-word highlighting**: Hits are **bolded** in the original text for instant visibility\r\n- **Smart replacement suggestions**: Each hit includes a context-aware replacement and rationale—so edits flow naturally\r\n- **Optimized copy generation**: Delivers a publish-ready full version with replacements **bolded** for easy copy-paste\r\n- **Automatic file delivery**: Generates a downloadable plain-text optimized copy file\r\n- **Batch checks for long copy**: Prompts when content exceeds 3,000 characters; supports batch detection with merged results\r\n\r\n---\r\n\r\n## API Key Acquisition & Security\r\n\r\n- This skill requires the environment variable: `REDFOX_API_KEY`.\r\n- `REDFOX_API_KEY` is issued by [RedFoxHub](https://redfox.hk/settings/api-keys?source=clawhub) (`https://redfox.hk`).\r\n- Register at [RedFoxHub](https://redfox.hk?source=github) to obtain `REDFOX_API_KEY`.\r\n- Configure `REDFOX_API_KEY` on your device before using this skill.\r\n- Before providing your key, confirm its source, scope, validity period, and whether it can be reset or revoked.\r\n- Do not hard-code or expose keys in plain text in code, prompts, logs, or output files.\r\n\r\n---\r\n\r\n## Usage Guide\r\n\r\nDescribe your need in natural language—no commands to memorize. You can paste copy, upload TXT/DOC/DOCX files, upload images for text extraction, or paste a web page URL.\r\n\r\n### Quick Reference\r\n\r\n| Intent          | Example phrase                                                                        | Result                                                                       |\r\n| --------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |\r\n| Paste copy      | \"Check this Douyin script for prohibited words: This whitening product really work"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。 Skill: 抖音违禁词检测 Owner: if530770 Summary: 检测文案、文件或网页中的抖音违禁词并加粗显示，提供违禁词替换建议和仅替换违禁词后的文案；当用户需要查询抖音平台违禁词、检查抖音笔记文案是否包含敏感词、或希望获得安全替换词和修改后文案时使用。 Tags: douyin video:1.0.1, latest:1.0.2 Version history: v1.0.2 | 2026-06-05T03:37:00.554Z | user **Changelog for dy-prohibited-word v1.0.2:** - Renamed skill from dy-prohibited-word to douyin-prohibited-word. - Added English and Chinese README files for better documentation (README.m","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1088,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:41:23.801Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T01:41:23.801Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T03:56:33.636Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}