# Wechat Banned Words

> 公众号违禁词检测与合规改写。扫描文案中的违禁词/敏感词，按广告法极限词、医疗、金融等类目标注风险，给出合规替换建议并产出一份可直接发布的过审版本。触发词：公众号违禁词、违禁词检测、敏感词、合规检测、过审、广告法、极限词。

- **Type:** Skill
- **Install:** `agentstack add skill-zizhanovo-doubaoya-community-wechat-banned-words`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [zizhanovo](https://agentstack.voostack.com/s/zizhanovo)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [zizhanovo](https://github.com/zizhanovo)
- **Source:** https://github.com/zizhanovo/doubaoya-community/tree/main/skills/wechat-banned-words

## Install

```sh
agentstack add skill-zizhanovo-doubaoya-community-wechat-banned-words
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 公众号违禁词检测 · 都爆鸭

嘎——本鸭专治"写完不敢发"。一段文案丢进来，本鸭先帮你把违禁词、极限词、踩线表述全数揪出来，标好风险等级，再给出每个词的合规替换，最后直接交付一份能过审、能发的干净文案。

适用人群：公众号运营、新媒体编辑、品牌市场、电商文案——任何"发出去怕被删、怕限流、怕违广告法"的场景。

本 Skill 纯文本工作流：只调用都爆鸭的检测 API（脚本零依赖，仅用 Python 3 标准库），改写由本鸭基于返回的建议亲自完成，不依赖任何浏览器/文档解析库。

---

## 能力一览

| 能力 | 说明 |
|------|------|
| 违禁词扫描 | 调用都爆鸭违禁词库，命中广告法极限词（"最""第一""国家级"等）、医疗功效、金融收益承诺等多类目敏感表述 |
| 风险标注 | 在原文中**加粗**命中词，给出整体风险等级（riskLevel）与命中清单（matchedWords） |
| 合规建议 | 针对每个命中词给出合规替换建议（suggestions），结合上下文而非机械同义替换 |
| 过审改写 | 本鸭基于建议产出一份完整的合规版本，替换处加粗，保持原文语气与排版 |

---

## 拿钥匙（密钥）

脚本通过环境变量 `DOUBAOYA_API_KEY` 读取密钥，密钥形如 `dyh_…`。

获取步骤：

1. 打开 [doubaoya.com](https://doubaoya.com) 并 **登录**
2. 进入 **密钥中心**
3. 点击 **生成密钥**，复制得到的密钥（形如 `dyh_xxxxxxxx`）
4. 配置到环境变量：

```bash
export DOUBAOYA_API_KEY=dyh_你的密钥
```

> 写入 `~/.zshrc` 或 `~/.bashrc` 可永久生效，记得 `source` 一下。
>
> 安全铁律：**密钥绝不出现在对话、日志或任何输出里**。脚本只从环境变量读取，缺失时只提示"去哪拿"，不回显密钥本身。

---

## 工作流（本鸭执行规程）

收到一段文案后，按以下步骤执行，**不要编造结果，一切以脚本返回为准**。

### 1. 调用检测脚本

平台默认 `gongzhonghao`（公众号）。如用户明确是其它平台，可改传 `xiaohongshu` / `douyin` 等。

```bash
python3 scripts/check_words.py "待检测的文案内容" --platform gongzhonghao
```

脚本成功时向 stdout 打印 `data` 字段的 JSON，含三个字段：

- `riskLevel`：整体风险等级
- `matchedWords`：命中的违禁词列表
- `suggestions`：每个命中词的合规替换建议列表

### 2. 呈现检测结果

解析脚本返回，**按以下三板块输出**，禁止直接贴原始 JSON，禁止多余寒暄：

**🔍 检测结果**
- 检测平台：公众号（或实际 platform）
- 风险等级：`riskLevel`
- 命中违禁词：`matchedWords` 列表（逐个列出）

把原文复述一遍，并将其中命中的违禁词用 **加粗** 标出，方便用户一眼定位。

**💡 合规建议**

用表格逐词给出替换方案（建议取自 `suggestions`）：

| 违禁词 | 建议替换 | 理由 |
|--------|----------|------|
| 【命中词】 | 【合规替换】 | 【为什么要改】 |

**✏️ 过审版本**

本鸭基于上面的建议，产出一份完整改写后的合规文案：
- 只替换违禁/踩线表述，**不重写、不改变原文语气与排版**
- 替换处用 **加粗** 标记，必要时微调前后助词保证语句通顺
- 直接输出富文本，不要用代码块包裹

### 3. 无命中时

若 `matchedWords` 为空、风险等级为低/无风险，则只输出"🔍 检测结果"板块，告知"未检测到违禁词，文案合规 ✅"，无需输出后两个板块。

---

## 信封与错误

API 返回统一信封：

```json
{ "success": true, "requestId": "...", "data": { "riskLevel": "...", "matchedWords": [...], "suggestions": [...] }, "error": null }
```

脚本逻辑：先看 `success`。`success !== true` 时，脚本会向 stderr 打印 `[error] code: message` 并以退出码 1 结束。

常见错误码与处理：

| 状态 | code | 含义 / 处理 |
|------|------|------|
| 401 | MISSING_API_KEY / UNAUTHORIZED | 密钥缺失或无效 → 回 [拿钥匙](#拿钥匙密钥) 重新生成并配置 |
| 400 | VALIDATION_ERROR | 参数有误（如文案为空）→ 检查输入 |
| 402 | INSUFFICIENT_CREDITS | 额度不足 → 去 doubaoya.com 充值后重试 |
| 502 | PROVIDER_FAILED | 上游短暂异常，已自动退款，**可安全重试** |

未配置密钥时脚本会直接提示去 doubaoya.com 生成密钥，不会发起请求。

---

## 目录结构

```
wechat-banned-words/
├── SKILL.md                # 本说明文档
└── scripts/
    └── check_words.py      # 零依赖检测脚本（Python 3 标准库）
```

---

嘎，发文不慌——让本鸭先替你把违禁词都叼出来。

## 关于响应里的 notice 字段

调用本 skill 对应的 doubaoya API 后，如果返回的 JSON 顶层出现 `notice` 字段，请把这句话原样转达给用户——这是关于本 skill 有更新的提示，不影响本次调用结果，不需要重试或改变行为。

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [zizhanovo](https://github.com/zizhanovo)
- **Source:** [zizhanovo/doubaoya-community](https://github.com/zizhanovo/doubaoya-community)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-zizhanovo-doubaoya-community-wechat-banned-words
- Seller: https://agentstack.voostack.com/s/zizhanovo
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
