一个高性能的敏感词检测和过滤库,基于 Go 语言开发,采用整洁架构设计。专注于中文文本的敏感词检测,支持多种检测策略和灵活的扩展机制。
- 🚀 超高性能:基于优化的 Trie 和 AC 自动机算法
- 📚 并发安全:支持高并发场景,内置多重并发优化机制
- 📚 海量词库:内置20W+敏感词,经过深度优化和去重后保留7W+高质量词条
- 🎯 精准检测:支持多种文本匹配策略
- 🔄 灵活分类:支持多种敏感词分类(涉黄、涉政、暴力等),可独立开关
- 🛠 可扩展:支持自定义词库扩展,支持动态更新
- 📦 轻量级:无外部依赖,即插即用
- 🔒 安全性:内置多种反规避机制
- 💡 智能匹配:支持模糊匹配、变体识别
- 🤖 AI辅助:支持OpenAI、Anthropic等多种AI模型进行智能检测
docker run -d --name daf -p 8088:8088 -v ./data:/app/data ghcr.io/rachelos/go-daf:latest
docker stop daf
docker rm daf
docker pull ghcr.io/rachelos/daf:latest
# If you added other parameters, please modify accordingly
docker run -d --name daf -p 8088:8088 -v ./data:/app/data ghcr.io/rachelos/go-daf:latest
docker run -d --name daf -p 8088:8088 -v ./data:/app/data rachelos/go-daf:latest
docker run -d --name daf -p 8088:8088 -v ./data:/app/data docker.1ms.run/rachelos/go-daf:latest
version: '3.8'
services:
daf:
image: rachelos/go-daf:latest
ports:
- "8088:8088"
volumes:
- ./config.yml:/app/config.yml:ro
- ./data:/app/data
environment:
- SERVER_PORT=8088登录
数据统计
文本检测
文本过滤
词库管理
词库列表
分类信息
系统配置
检测日志
日志分析
用户管理
AK管理

本项目采用清晰的分层架构设计,遵循Clean Architecture的原则,各层次职责分明,依赖关系清晰。
-
检测引擎 (Detector)
- 实现敏感词检测算法
- 支持多种匹配策略
-
过滤器 (Filter)
- 处理文本过滤和替换
- 提供多样化的过滤策略
-
词典管理 (Dictionary)
- 管理敏感词词库
- 支持动态更新和扩展
-
算法实现 (Algorithm)
- 封装核心算法实现
- 包括Trie树和AC自动机等
-
并发安全的词库管理
- 使用
sync.Map实现线程安全的词典存储 - 原子操作保证计数器和时间戳的一致性
- 使用
-
高效的批量处理
- 批量加载支持,减少锁竞争
- 智能的通知机制,避免频繁更新
-
上下文控制
- 支持
context取消和超时控制 - 优雅的并发任务管理
- 支持
-
性能优化
- 通知节流机制,避免过度通知
- 批量操作优化,提高并发效率
- 无锁设计,减少竞争开销
graph TD
subgraph API层
DAF[daf - API封装]
end
subgraph 业务逻辑层
DET[detector - 检测引擎]
FIL[filter - 过滤器]
DIC[dictionary - 词典管理]
end
subgraph 算法层
ALG[algorithm - 算法实现]
end
subgraph 核心层
CORE[core - 接口定义]
TYPES[types - 类型定义]
end
%% 依赖关系
DAF --> DET
DAF --> FIL
DAF --> DIC
DET --> ALG
DET --> CORE
FIL --> CORE
DIC --> CORE
ALG --> CORE
ALG --> TYPES
CORE --> TYPES
- Vite 5 - 快速构建工具
- Vue 3 - 渐进式 JavaScript 框架
- TypeScript - 类型安全的 JavaScript
- Arco Design - 字节跳动企业级设计系统
- Axios - HTTP 请求库
- Pinia - Vue 状态管理
npm installnpm run devnpm run buildnpm run preview- 管理员: admin / admin123
API 地址默认配置为 http://localhost:8081,可在 vite.config.ts 中修改代理配置。
src/
├── api/ # API 接口定义
├── stores/ # Pinia 状态管理
├── views/ # 页面组件
├── router/ # 路由配置
├── App.vue # 根组件
└── main.ts # 入口文件