敏感词检测工具
一个本地运行的敏感词检测工具,用于对文本内容做快速扫描和风险提示。
sensitive-word-checker 用户说明书
github仓库地址: https://github.com/Ztachi/strawberrybear-tools/tree/main/apps/sensitive-word-checker
目录
- 1. 产品简介
- 2. 功能概览
- 3. 界面说明
- 4. 首次使用流程
- 5. 如何管理词库
- 6. 如何导入本地词库
- 7. 词库文件格式说明
- 8. 如何进行文本扫描
- 9. 如何理解检测结果
- 10. 设置项说明
- 11. 数据与隐私说明
- 12. 常见问题
- 13. 推荐使用顺序
1. 产品简介
sensitive-word-checker 是一个本地运行的敏感词检测工具,用于对文本内容做快速扫描和风险提示。
它的核心特点是:
- 扫描在浏览器本地完成,不依赖服务端处理文本内容
- 支持 GitHub 远程词库同步,也支持手动导入本地
.txt词库 - 支持高风险、中风险、低风险三档结果高亮
- 支持 PC 和移动端浏览器使用
适合场景:
- 内容发布前自检
- 文案审核前预筛查
- 自建词库的本地敏感词巡检
- 针对不同业务源切换或组合词库进行对比扫描
2. 功能概览
当前版本提供以下能力:
- 文本输入扫描:直接粘贴或输入待检测文本
- 文本文件导入:支持导入
.txt文件作为待检测内容 - 词库同步:从 GitHub 仓库同步词库到本地
- 词库管理:新增、编辑、启用、停用、删除自定义词库
- 本地词库导入:导入本地
.txt词库到“自己导入”词库 - 风险分级展示:按高 / 中 / 低风险显示命中结果
- 结果复制:将检测报告复制到剪贴板
- 扫描设置:支持区分大小写、忽略标点
- 本地持久化:词库保存在浏览器 IndexedDB,设置保存在 localStorage
3. 界面说明
首页主要分为四个区域:
3.1 顶部栏
- 左侧 Logo:点击后跳转主站
- 主站按钮:跳转工具详情页或主站入口
- 语言切换:支持中文和英文
- 设置按钮:打开扫描设置弹窗
3.2 待检测文本区
- 文本输入框:粘贴或输入待检测文本
- 扫描按钮:启动检测
- 导入文件按钮:将本地
.txt内容读入输入框 - 字符统计:显示当前输入内容的字符数
3.3 词库管理区
- 显示当前已加载词条总数
- 点击“词汇管理”打开词库管理弹窗
- 支持同步远程词库、导入本地词库、添加自定义 GitHub 词库
3.4 检测结果区
- 显示扫描结果和风险统计
- 未检测前显示空状态提示
- 无命中时显示“未发现敏感词”
- 有命中时按风险等级高亮原文中的命中位置
- 支持点击风险标签筛选显示效果
- 支持复制结构化检测报告
4. 首次使用流程
第一次打开应用时,建议按下面流程操作:
步骤 1:打开词汇管理
点击首页中的“词汇管理”按钮,进入词库管理弹窗。
步骤 2:同步默认词库
系统会内置一个默认词库源:
- 名称:
Sensitive-lexicon - 来源:GitHub 仓库
konsheng/Sensitive-lexicon
首次使用时,这个默认词库只是预置了来源信息,尚未真正拉取词条内容。你需要在词库管理表格中手动执行一次“同步”。
同步成功后:
- 词条会保存到当前浏览器本地数据库
- 首页词条总数会更新
- 之后刷新页面仍可继续使用,不需要每次重新同步
步骤 3:输入待检测文本
回到首页,在“待检测文本”区域:
- 直接粘贴文本
- 或点击“导入文件”载入本地
.txt文件内容
步骤 4:点击扫描
点击“扫描”按钮,等待结果展示。
如果词库为空,系统会提示“词库为空”,此时需要先完成词库同步或导入。
5. 如何管理词库
5.1 默认词库
默认词库是系统内置的 GitHub 词库源,特点如下:
- 不能删除
- 不能编辑
- 默认启用
- 可以手动同步更新
当远程词库更新后,你可以重新执行同步,系统会用新的内容替换该词库现有数据。
5.2 新增自定义 GitHub 词库
如果你有自己的 GitHub 词库仓库或目录,可以这样添加:
- 打开“词汇管理”弹窗
- 点击“新增词汇库”
- 填写词库名称
- 填写 GitHub 地址
- 提交保存
- 回到列表后执行“同步”
支持的地址形式:
- 普通 GitHub 仓库地址
- GitHub 仓库某个目录的地址
- GitHub Contents API 地址
注意事项:
- 目前仅支持 GitHub 地址
- 名称不能重复
- GitHub 词库地址不能重复
- 新增后不会自动下载,仍需手动同步一次
5.3 编辑自定义 GitHub 词库
对于你自己新增的 GitHub 词库,可以修改:
- 名称
- GitHub 地址
修改后建议重新同步一次,确保词条内容与最新地址一致。
5.4 启用或停用词库
除默认词库外,其他词库都可以启用或停用。
启用状态会影响扫描时是否参与匹配:
- 启用:参与检测
- 停用:保留在本地,但不参与检测
这适合做不同词库组合的对比测试。
5.5 删除词库
删除词库时,系统会同时删除该词库下的全部词条。
请注意:
- 默认词库不可删除
- 删除操作不可恢复
5.6 清空全部词库内容
点击词库区域中的清空按钮后,系统会清空本地保存的全部词条。
清空后:
- 词条数量会归零
- 现有词库配置项仍可能保留在列表中
- 如需继续使用,需要重新同步或重新导入
6. 如何导入本地词库
在词库管理弹窗中点击“导入文件”,可以将本地 .txt 文件导入到“自己导入”词库。
导入规则:
- 支持
.txt文件 - 导入内容会追加到“自己导入”词库
- 不会覆盖其他 GitHub 词库
- 已存在的同一条记录不会重复新增
适合场景:
- 临时补充业务私有词
- 离线导入内部维护的词库文件
- 与远程词库组合使用
7. 词库文件格式说明
7.1 推荐格式
每行一个词条,推荐使用:
词语|等级|类型
例如:
诈骗话术|high|诈骗
擦边内容|medium|低俗
测试词|low|自定义
7.2 兼容格式
也支持只有词语本身:
测试词
另一个测试词
7.3 注释行
以 # 开头的行会被忽略:
# 这是注释
敏感词示例
7.4 风险等级识别规则
风险等级在导入或同步词库时确定,不是在扫描时动态计算。
优先级如下:
- 先按文件名关键词推断风险等级
- 如果文件名没有命中,再读取每行中的“等级”字段
- 如果仍无法识别,默认按
medium处理
当前支持的等级映射包括:
- 高风险:
high、h、1、高、高风险、严重、critical - 中风险:
medium、mid、m、2、中、中风险、一般 - 低风险:
low、l、3、低、低风险、轻微
8. 如何进行文本扫描
8.1 直接输入文本
在首页文本框中输入或粘贴要检测的内容,然后点击“扫描”。
8.2 通过文件导入文本
点击“导入文件”,选择本地 .txt 文件后,文件内容会自动填入输入框。随后点击“扫描”即可。
8.3 扫描前提
扫描前必须满足:
- 输入框中有文本内容
- 当前至少存在一个已启用且已加载完成的词库
否则系统不会执行扫描。
8.4 扫描方式
扫描在 Web Worker 中执行,目的是避免大量文本匹配时阻塞页面交互。对用户来说,这意味着:
- 扫描过程中界面仍可保持响应
- 大文本场景下体验更稳定
9. 如何理解检测结果
9.1 风险颜色说明
- 高风险:红色高亮
- 中风险:橙色高亮
- 低风险:绿色高亮
9.2 风险统计
结果面板顶部会显示命中统计,包括:
- 总命中数
- 高风险命中数
- 中风险命中数
- 低风险命中数
点击对应风险标签,可以切换该风险等级是否高亮显示。
9.3 Tooltip 信息
将鼠标悬停到高亮词上,可以查看:
- 风险等级
- 风险类型
9.4 复制结果
点击“复制结果”后,系统会生成一份结构化文本报告,内容包括:
- 各风险等级的命中词汇汇总
- 原始文本内容
适合用于人工复核、提交给审核人员或留档。
10. 设置项说明
点击右上角设置按钮,可以打开“扫描设置”。
10.1 区分大小写
开启后:
ABC和abc会被视为不同内容
适用于英文词条或大小写敏感的识别场景。
10.2 忽略标点符号
开启后:
- 扫描时会跳过标点字符进行匹配
适用于需要识别“插入符号规避”的文本场景。
设置会自动保存在当前浏览器本地,下次打开页面仍然有效。
11. 数据与隐私说明
本工具当前是本地运行模式,主要数据行为如下:
- 待检测文本:在浏览器本地处理
- 词库数据:保存在浏览器 IndexedDB 中
- 扫描设置:保存在浏览器 localStorage 中
- 远程请求:仅在你主动同步 GitHub 词库时访问 GitHub API / 文件地址
这意味着:
- 关闭页面后,本地词库和设置通常仍会保留
- 更换浏览器、清空浏览器站点数据或使用无痕模式,可能导致本地数据丢失
12. 常见问题
12.1 为什么点击扫描没有结果?
请依次检查:
- 是否已输入待检测文本
- 是否至少同步或导入过一个词库
- 是否有词库被误停用
12.2 为什么提示“词库为空”?
说明当前没有任何已加载词条。常见原因:
- 第一次使用但还没同步默认词库
- 清空过全部词库后未重新同步
- 当前启用的词库中没有词条
12.3 为什么新增词库后还是扫不出来?
新增 GitHub 词库只会保存来源信息,不会自动下载内容。新增后还需要手动执行一次“同步”。
12.4 为什么切换浏览器后词库没了?
词库保存在当前浏览器本地,不会自动跨浏览器同步。
12.5 为什么同步失败?
优先检查:
- GitHub 地址是否正确
- 目标仓库或目录是否可公开访问
- 当前网络是否可访问 GitHub
12.6 本地导入会覆盖以前的数据吗?
不会覆盖其他词库。导入内容会进入“自己导入”词库,并以追加方式写入;已存在的同一条记录不会重复新增。
13. 推荐使用顺序
如果你是第一次正式使用,建议按这个顺序操作:
- 打开词汇管理
- 同步默认词库
- 根据业务需要新增远程词库或导入本地词库
- 检查哪些词库处于启用状态
- 粘贴文本或导入待检测文件
- 根据需要调整扫描设置
- 执行扫描并复制结果
按照这个流程,基本可以覆盖大多数日常使用场景。

