filter/
├── main.py # 主启动脚本
├── start_gui.bat # Windows批处理启动文件
├── requirements.txt # 依赖包列表
├── README.md # 项目说明
├── GUI_README.md # GUI使用说明
├── MySQL_Setup_Guide.md # MySQL配置指南
├── PROJECT_STRUCTURE.md # 项目结构说明(本文件)
│
├── config/ # 配置包
│ ├── __init__.py
│ ├── system_config.py # 系统配置
│ └── database_config.py # 数据库配置
│
├── gui/ # GUI包
│ ├── __init__.py
│ ├── main_window.py # 主窗口
│ ├── database_config_dialog.py # 数据库配置对话框
│ ├── keyword_manager_widget.py # 关键词管理组件
│ ├── message_detection_widget.py # 消息检测组件
│ └── system_status_widget.py # 系统状态组件
│
├── database/ # 数据库包
│ ├── __init__.py
│ ├── mysql_db.py # MySQL数据库操作
│ └── sqlite_db.py # SQLite数据库操作
│
├── BaseData/ # 基础数据(保留原有结构)
│ ├── KeyWord.py # 关键词数据模型
│ ├── SQLite.py # 原有SQLite实现(已弃用)
│ ├── MySQL.py # 原有MySQL实现(已弃用)
│ └── violation_keywords.db # SQLite数据库文件
│
├── Test/ # 测试和核心功能
│ ├── Filter.py # 关键词匹配器
│ ├── GetDouyinMsg.py # 抖音消息获取
│ └── test_filter.py # 测试文件
│
├── logs/ # 日志目录
├── data/ # 数据目录
└── config/ # 配置文件目录
└── database_config.json # 数据库配置文件
- system_config.py: 系统全局配置,包括界面设置、检测参数、正则表达式等
- database_config.py: 数据库配置管理,支持配置的加载、保存和验证
- main_window.py: 主窗口,包含菜单栏、状态栏和标签页管理
- database_config_dialog.py: 数据库连接配置对话框和数据库管理组件
- keyword_manager_widget.py: 关键词管理界面,支持MySQL和SQLite双模式
- message_detection_widget.py: 消息检测监控界面,包含检测线程管理
- system_status_widget.py: 系统状态监控界面,显示系统信息和日志
- mysql_db.py: MySQL数据库操作类,支持关键词管理和检测记录存储
- sqlite_db.py: SQLite数据库操作类,保持向后兼容
python main.pystart_gui.batpython -m gui.main_window系统配置在 config/system_config.py 中定义,包括:
- 数据库路径配置
- 界面设置
- 检测参数
- 正则表达式模式
- 关键词类型定义
数据库配置通过GUI界面进行管理,配置文件保存在 config/database_config.json:
{
"host": "localhost",
"port": 3306,
"user": "root",
"password": "your_password",
"database": "filter_system",
"charset": "utf8mb4"
}- 支持MySQL和SQLite双数据库模式
- 关键词类型分类管理
- 批量导入/导出功能
- 关键词搜索和删除
- 实时监控抖音客服消息
- 多算法违规检测(精确匹配、正则、模糊匹配)
- 检测结果实时显示
- 检测记录自动保存
- MySQL连接配置和测试
- 数据库状态监控
- 统计信息显示
- 连接状态管理
- 系统信息实时显示
- 数据库统计信息
- 系统日志记录
- 状态监控
DrissionPage # 浏览器自动化
pymysql # MySQL数据库连接
cachetools # 缓存工具
pyahocorasick # 多模式字符串匹配
rapidfuzz # 模糊字符串匹配
PyQt5 # GUI框架
- 在相应的包中创建新模块
- 更新包的
__init__.py文件 - 在主窗口中集成新功能
- 更新配置文件和文档
- 系统配置:修改
config/system_config.py - 数据库配置:通过GUI界面或直接编辑
config/database_config.json
- 从SQLite迁移到MySQL:使用关键词管理界面的导出/导入功能
- 配置MySQL连接:使用数据库管理界面的配置功能
- 目录权限: 确保程序有权限创建和写入
logs、data、config目录 - 数据库连接: 首次使用需要配置MySQL连接信息
- 依赖安装: 确保所有依赖包已正确安装
- Python版本: 建议使用Python 3.7或更高版本
- 导入错误: 检查Python路径和包结构
- 数据库连接失败: 检查MySQL服务和配置信息
- GUI启动失败: 检查PyQt5安装和依赖包
- 权限错误: 检查目录权限和文件访问权限
系统日志会显示在"系统状态"标签页中,包含详细的错误信息和操作记录。