# 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 导出和人工规则脚本化