Install
openclaw skills install @thcjp/content-qa-guardopenclaw skills install @thcjp/content-qa-guard核心功能: 本技能提供/价格调整等能力。
v25.0合并: content-compliance-checker已合并到本Skill(R75.5 Skill去重)。U19管道合规步骤由check_compliance.py执行,委托risk-detector进行10类风险检测。原content-compliance-checker目录已删除。
接收审核请求
{success:false, error:"...", code:"INVALID_INPUT"}一级审核: 敏感词库扫描
check_sensitive_words(text, platform, context)二级审核: AI语义级检测
check_fortune_words执行算命合规检测三级审核: 平台规则合规检查
生成审核报告
replace_sensitive_words生成自动替换版本发布后端到端验证(可选)
管道步骤"合规风控(U19)"由check_compliance.py执行,委托risk-detector进行10类风险检测:
python scripts/check_compliance.py --content "<content>" --platform "<platform>"{
"text": "待审核的文案内容",
"platform": "xianyu",
"context": "publish"
}
{
"content": "待检查的内容文本",
"platform": "juejin",
"content_type": "article"
}
{
"success": true,
"data": {
"result": "pass|warning|blocked",
"risk_level": "SAFE|LOW|MEDIUM|HIGH|CRITICAL",
"level1": {"found": [], "count": 0, "library_status": "ok"},
"level2": {"enabled": true, "llm_findings": []},
"level3": {"platform_violations": []},
"suggestion": "修改建议或自动替换版本",
"daily_count": 12,
"daily_limit": 50
},
"error": null,
"code": null
}
{
"success": true,
"data": {
"risk_level": "SAFE",
"score": 95,
"passed": true,
"block": false,
"details": {
"R01_sensitive_words": "pass",
"R02_violation_tactics": "pass",
"overall_compliance": "pass"
}
},
"error": null,
"code": null
}
| 异常 | 处理 | code |
|---|---|---|
| text为空 | 返回success:false | INVALID_INPUT |
| platform无效 | 返回success:false | INVALID_PLATFORM |
| 词库过期>=14天 | 直接blocked | LIBRARY_EXPIRED_BLOCKED |
| 词库过期>=7天 | 继续但标记warning | LIBRARY_WARNING |
| LLM调用失败 | 跳过二级审核,降级为warning | LLM_UNAVAILABLE |
| 每日限额超限 | 返回blocked | DAILY_LIMIT_EXCEEDED |
| MCP调用超时 | 返回success:false | MCP_TIMEOUT |
输入: {"text": "AI代写文案,加微信xxx获取", "platform": "xianyu"}
输出:
{
"success": true,
"data": {
"result": "blocked",
"risk_level": "HIGH",
"level1": {"found": ["微信"], "count": 1, "library_status": "ok"},
"level2": {"enabled": true, "llm_findings": ["导流行为"]},
"level3": {"platform_violations": ["闲鱼禁止导流"]},
"suggestion": "AI代写文案,联系客服获取",
"daily_count": 3,
"daily_limit": 50
}
}
输入: {"text": "AI代写文案,专业润色", "platform": "xianyu"}
输出:
{
"success": true,
"data": {
"result": "pass",
"risk_level": "SAFE",
"level1": {"found": [], "count": 0, "library_status": "ok"},
"level2": {"enabled": true, "llm_findings": []},
"level3": {"platform_violations": []},
"suggestion": null,
"daily_count": 4,
"daily_limit": 50
}
}
| 版本 | 操作 | 时间 | 原因 |
|---|---|---|---|
| cycle_20260622 | optimized | 2026-06-22T06:52:35.883544+00:00 | 自生长周期优化触发(metrics_based) |
| v2.0.0 | merged | 2026-07-22 | v25.0: 合并content-compliance-checker(R75.5 Skill去重),新增U19管道合规步骤+risk-detector依赖 |
| 版本 | 操作 | 时间 | 原因 |
|---|---|---|---|
| cycle_20260725 | optimized | 2026-07-25T12:20:31.274115+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260726 | optimized | 2026-07-25T23:25:32.375220+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260729 | optimized | 2026-07-28T19:18:46.277609+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260729 | optimized | 2026-07-28T19:19:36.160768+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260730 | optimized | 2026-07-29T22:09:36.602431+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260801 | optimized | 2026-07-31T19:36:51.680883+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260802 | optimized | 2026-08-01T18:34:53.200000+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260803 | optimized | 2026-08-03T01:00:42.388844+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260804 | optimized | 2026-08-03T18:34:23.224315+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260804 | optimized | 2026-08-03T18:34:35.792222+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260804 | optimized | 2026-08-03T18:34:50.188486+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260805 | optimized | 2026-08-04T18:36:23.594326+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260805 | optimized | 2026-08-04T18:36:38.721684+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260806 | optimized | 2026-08-05T18:34:49.986465+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260806 | optimized | 2026-08-05T18:35:02.280946+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260807 | optimized | 2026-08-06T18:35:53.318737+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260810 | optimized | 2026-08-09T19:18:59.289336+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260811 | optimized | 2026-08-10T18:36:35.462776+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260811 | optimized | 2026-08-10T18:36:50.553991+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260812 | optimized | 2026-08-12T02:37:48.152188+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260813 | optimized | 2026-08-12T23:33:44.219732+00:00 | 自生长周期优化触发(metrics_based) |
| 版本 | 操作 | 时间 | 原因 |
| ------ | ------ | ------ | ------ |
| cycle_20260814 | optimized | 2026-08-13T18:35:35.390503+00:00 | 自生长周期优化触发(metrics_based) |