Skip to content

rachelos/daf

Repository files navigation

敏感词检测平台

一个高性能的敏感词检测和过滤库,基于 Go 语言开发,采用整洁架构设计。专注于中文文本的敏感词检测,支持多种检测策略和灵活的扩展机制。

主要特性

  • 🚀 超高性能:基于优化的 Trie 和 AC 自动机算法
  • 📚 并发安全:支持高并发场景,内置多重并发优化机制
  • 📚 海量词库:内置20W+敏感词,经过深度优化和去重后保留7W+高质量词条
  • 🎯 精准检测:支持多种文本匹配策略
  • 🔄 灵活分类:支持多种敏感词分类(涉黄、涉政、暴力等),可独立开关
  • 🛠 可扩展:支持自定义词库扩展,支持动态更新
  • 📦 轻量级:无外部依赖,即插即用
  • 🔒 安全性:内置多种反规避机制
  • 💡 智能匹配:支持模糊匹配、变体识别
  • 🤖 AI辅助:支持OpenAI、Anthropic等多种AI模型进行智能检测

Quick Start

docker run -d  --name daf  -p 8088:8088 -v ./data:/app/data  ghcr.io/rachelos/go-daf:latest

Quick Upgrade

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

Official Image

docker run -d  --name daf  -p 8088:8088 -v ./data:/app/data  rachelos/go-daf:latest

Proxy Mirror for Faster Access (Faster access in China)

docker run -d  --name daf  -p 8088:8088 -v ./data:/app/data  docker.1ms.run/rachelos/go-daf:latest  

Compose Example

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

界面预览

登录 image 数据统计 image 文本检测 image 文本过滤 image 词库管理 image 词库列表 image 分类信息 image 系统配置 image image 检测日志 image 日志分析 image 用户管理 image AK管理 image image

项目架构

本项目采用清晰的分层架构设计,遵循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
Loading

技术栈

  • Vite 5 - 快速构建工具
  • Vue 3 - 渐进式 JavaScript 框架
  • TypeScript - 类型安全的 JavaScript
  • Arco Design - 字节跳动企业级设计系统
  • Axios - HTTP 请求库
  • Pinia - Vue 状态管理

安装依赖

npm install

开发模式

npm run dev

访问 http://localhost:3000

构建生产版本

npm run build

预览生产构建

npm run preview

默认账号

  • 管理员: admin / admin123

API 配置

API 地址默认配置为 http://localhost:8081,可在 vite.config.ts 中修改代理配置。

目录结构

src/
├── api/           # API 接口定义
├── stores/        # Pinia 状态管理
├── views/         # 页面组件
├── router/        # 路由配置
├── App.vue        # 根组件
└── main.ts        # 入口文件

About

AI敏感词检测平台、敏感词管理、敏感词分类、AI智能检测、平台级联、舆情风控

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors