Skip to content

消息审查(message_scrub)

字数
582 字
阅读时间
3 分钟

复读学习与做梦采集/漂流前统一过滤入站消息:命中规则的内容不入库、不参与后续逻辑。4.0 起默认开启审查框架;未配置词表或远程 API 时不拦截,与关闭时行为一致。

实现:src/features/message_scrub/

配置

说明
WebUI通用配置 → 消息审查与入站过滤
落盘data/pallas_config/webui.json
生效保存后 hub 热重载;分片 worker 按磁盘 mtime 自动重读
启用4.0 默认开启;WebUI「通用配置 → 消息审查」可直接配词表或 API。设 PALLAS_MESSAGE_SCRUB_ENABLED=false 可完全关闭

常用配置键

默认说明
PALLAS_INBOUND_FILTER_SUBSTRINGS英文逗号分隔关键词,命中即拦
PALLAS_SCRUB_LEXICON_PATH本地词表 txt(UTF-8,一行一词)
PALLAS_SCRUB_LEXICON_EXTRA追加词,逗号分隔
PALLAS_SCRUB_REVIEW_PROVIDERS自动远程审查顺序:baidujson_http
PALLAS_SCRUB_BAIDU_API_KEY / SECRET百度内容审核密钥
PALLAS_SCRUB_API_URL自建审查 HTTP 接口
PALLAS_INBOUND_FILTER_API_FAIL_OPEN放行远程失败时:1 放行,0 当拦

完整字段见 WebUI 或 config.py

使用场景

目标做法
完全不用审查PALLAS_MESSAGE_SCRUB_ENABLED=false
拦固定说法配关键词子串
本地词表准备 txt → 设 PALLAS_SCRUB_LEXICON_PATH;改词表内容一般无需重启
百度审核填 API Key + Secret Key
自建网关PALLAS_SCRUB_API_URL;约定 POST JSON,blocked: true 表示拦截
本地 + 远程可同时启用;顺序由 PALLAS_SCRUB_REVIEW_PROVIDERS 控制,默认先百度再自建

词表文件

UTF-8 文本,一行一词;# 开头为注释。相对路径相对于 Bot 工作目录,不确定时用绝对路径。大词表易误拦,建议小群试跑。

远程审查

  • 百度:只需 Key/Secret,Token 自动换取;可选策略 ID、是否拦「疑似」。
  • 自建:Bearer 鉴权可用 PALLAS_INBOUND_FILTER_API_KEY;超时默认 2 秒。

排障

现象处理
正常话被拦缩小词表/关键词;远程「疑似」可关 BLOCK_SUSPECTED
改了词表不生效确认路径;或调用 reload_message_scrub_caches()
远程总失败查网络与超时;默认 fail-open 会放行

关联

实现

src/features/message_scrub/