This commit is contained in:
Your Name
2026-04-16 13:05:07 +08:00
commit 32efff1670
99 changed files with 9974 additions and 0 deletions

View File

@@ -0,0 +1,267 @@
# domainCheck 验收清单
基于 [需求文档内容_utf8.txt](/d:/www/py/domainCheck/需求文档内容_utf8.txt:1) 与当前项目代码、环境联调结果整理。
判定说明:
- `可验收`:已有实现,能进入验收或复测阶段。
- `部分可验收/需优化`:已有基础实现,但与需求有差距,不能算完全交付。
- `未完成/不通过`:关键功能缺失、逻辑不闭环或与需求明显不符。
## 一、总体结论
- `可验收`:桌面端主程序已在本地 Windows 跑起,远程 PostgreSQL、Redis 已连通,基础 UI 已打开。
- `部分可验收/需优化`:域名导入、聚名采集、时光机基础检测、筛选页、系统设置页、数据库初始化。
- `未完成/不通过`完整检测闭环、部分来源采集、TXT 导出、状态码一致性、数据库任务落库稳定性、筛选条件完整性。
## 二、可验收项
### 1. Windows 本地运行环境
- `状态`:可验收
- `结果`:项目已在 Windows + PySide6 环境下启动成功,主窗口标题为“域名工具”。
- `说明`:不是必须 Linux当前更像是 Windows 桌面工具 + 远程 PostgreSQL/Redis 的架构。
### 2. 基础数据库初始化
- `状态`:可验收
- `结果``domains``detect_tasks``domain_blacklist``sensitive_words``domain_detections` 表已成功初始化。
- `说明`:数据库能连通,初始化脚本已跑通。
### 3. 基础界面框架
- `状态`:可验收
- `结果`:主界面标签页已创建。
- `已见模块`
- 聚名爬取
- 域名筛选
- 域名导入
- 敏感词配置
- 系统设置
### 4. 手工输入/TXT 导入域名
- `状态`:可验收
- `结果`已有文本框导入、TXT 文件导入、进度显示、去重入库流程。
- `说明`:符合“手动批量添加域名、窗口输入或导入 txt”的基础要求。
### 5. 聚名一口价/过期删除采集界面
- `状态`:可验收
- `结果`:已有聚名采集页面,可选一口价或删除列表,并支持自动入库。
- `说明`:基础页面和采集流程已存在,适合做功能复测。
### 6. 敏感词录入窗口
- `状态`:可验收
- `结果`:已有敏感词配置界面与数据库表。
- `说明`:界面层面满足“敏感词录入窗口”。
## 三、部分可验收/需优化
### 1. `.com/.net` 域名标准化与过滤
- `状态`:部分可验收/需优化
- `已实现`
- 小写化
- 去空格
- 去协议
- 去路径/参数
- 只保留主域
- 过滤 `.com/.net`
- `需优化`
- 当前实现适合常规导入,但离“全网增量大库”还差批次管理、来源追踪、海量导入策略。
### 2. 时光机检测
- `状态`:部分可验收/需优化
- `已实现`
- 使用 Wayback CDX API
- 获取快照年份
- 拉取快照内容做敏感词匹配
- 有外链数量统计函数
- `需优化`
- 现在更像“基础版”
- 只抓最近快照,不是按年份抽样
- 敏感词命中规则不完整
- 友链数没有完整接入自动筛选闭环
### 3. 平台检测器插件化结构
- `状态`:部分可验收/需优化
- `已实现`
- RDAP
- Wayback
- 百度
- 360
- Google
- Chinaz
- 爱站
- 桔子 SEO
- 聚查
- `需优化`
- 结构上是插件化了,但规则实现深度、数据落库字段、停机规则还不完整。
### 4. 运营筛选页面
- `状态`:部分可验收/需优化
- `已实现`
- 注册状态筛选
- 使用状态筛选
- 检测状态筛选
- 复核状态筛选
- 备案年份
- 快照年份
- 网址搜索
- 域名搜索
- 批量更新部分字段
- `需优化`
- 有些筛选项只是界面有,查询 SQL 没完整接上。
- 状态枚举和需求定义不完全一致,可能导致筛选结果失真。
### 5. Redis 集成
- `状态`:部分可验收/需优化
- `已实现`
- Redis 连接
- 配置同步
- 普通缓存
- `需优化`
- Redis Bloom 模块未安装,布隆过滤器不可用,当前已退回普通缓存。
### 6. 检测端多开思路
- `状态`:部分可验收/需优化
- `已实现`
- 存在独立 `detect_worker.py`
- 有单独界面与线程逻辑
- `需优化`
- 稳定性、任务调度与数据库连接模型仍需重构后再做压力验收。
## 四、未完成/不通过项
### 1. 检测任务落库与完整闭环
- `状态`:未完成/不通过
- `问题`
- 检测任务创建、完成任务清理、检测结果写入这几处数据库代码混用了未初始化的 `self.conn/self.cur`
- 导致“入库后自动建任务、检测后写结果”的主流程不稳定
- `影响`:这是核心闭环问题,必须整改后再验收。
### 2. 状态码体系不统一
- `状态`:未完成/不通过
- `问题`
- 注册状态
- 检测状态
- UI 展示映射
- 工具函数映射
- 检测器返回值
- 上述几套定义互相不一致
- `影响`:筛选、导出、拉黑、运营判断都可能错位。
### 3. 多来源采集未真正完成
- `状态`:未完成/不通过
- `未完成项`
- 搜索引擎采集
- 企业目录采集
- Zone File 采集
- 第三方接口/数据包采集
- `说明`:代码里这些入口还是占位实现。
### 4. 导出 TXT
- `状态`:未完成/不通过
- `需求`:导出 `txt`,一行一个域名
- `现状`:当前只支持 Excel/CSV 导出
- `影响`:与需求明确不符
### 5. “友链数量 > 10”筛选未真正生效
- `状态`:未完成/不通过
- `问题`:界面有选项,但查询条件没有完整落到数据库筛选逻辑上。
### 6. 停止规则未完整落地
- `状态`:未完成/不通过
- `需求`
- 黑名单命中后停止后续检测
- 已使用/已卖出/已预定不进运营池
- 非可注册且非一口价不进可注册池
- `现状`:只实现了部分拉黑中止,完整运营池/可注册池规则没有闭环。
### 7. 需求中的人工筛选脚本化规则未完整落地
- `状态`:未完成/不通过
- `未完整实现的规则示例`
- 站长之家分类敏感规则
- 爱站风险词规则
- 百度/360 子域名规则
- 百度安全中心危险判定
- 聚查备案年份、单位性质、首页一致性规则
- 聚查拦截检测规则
- 桔子 SEO 历史中文/敏感词/外链锚文本规则
### 8. 敏感词配置未真正全链路生效
- `状态`:未完成/不通过
- `问题`:虽然有敏感词配置窗口,但部分主检测逻辑仍使用代码里写死的词表。
### 9. 亿级数据量设计能力不能验收
- `状态`:未完成/不通过
- `问题`
- 当前是桌面工具式实现
- 数据库表结构和索引策略不足以证明“支持亿级”
- 连接池、批量任务、并发模型仍偏脆弱
## 五、建议先验收通过的范围
如果要分阶段验收,当前只建议先验这部分:
- 本地 Windows 启动成功
- 远程 PostgreSQL/Redis 连通
- 数据库初始化成功
- 主界面与各标签页打开成功
- 手工/TXT 导入可用
- 聚名页面可打开并具备基础采集入口
- 敏感词页面可打开
- 基础时光机检测模块存在
## 六、必须整改后再验收的范围
- 检测任务自动创建与检测结果落库
- 状态码统一
- 检测闭环完整性
- TXT 导出
- 多来源采集补齐
- 关键人工规则脚本化
- 敏感词全链路配置化
- 运营筛选条件完整生效
## 七、建议优化项
- 数据库连接池继续做成环境配置,区分测试/生产
- Redis Bloom 如有需要可安装 RedisBloom 模块
- 配置加载时避免界面初始化阶段频繁重复写 Redis
- 敏感词、风险词、平台规则拆成可维护配置
- 导出支持 TXT/CSV/Excel 三种
- 数据库增加更清晰的来源批次、任务批次、失败重试日志
- 清理明文账号密码存储问题
## 八、建议的复测顺序
1. 域名导入
2. 聚名采集入库
3. 注册状态检测
4. 时光机快照年份与敏感词检测
5. 平台检测结果写库
6. 筛选条件查询
7. 批量更新使用状态/人工复核状态
8. TXT 导出
## 九、当前验收结论
- `阶段性可验收`:环境、界面、基础导入、基础采集、基础数据库
- `不能整体验收通过`核心业务闭环还不完整尤其是任务写库、状态码一致性、TXT 导出和人工规则脚本化