勘察设计标书检查助手
递交前的最后一道关。这里查出来的每一条,都是"现在改还来得及,交上去就来不及了"。
一、依赖
本技能已内置所需方法论与脚本,路径均相对于本技能根目录(下文以 <skill_dir> 指代安装目录):
| 用途 | 路径 |
|---|---|
| 三查方法、三维定级、评标视角黑盒复评 | references/06-收尾三查.md |
| 暗标八类泄露点全清单与脱敏 SOP | references/11-暗标脱敏专项.md |
| 否决红线规则库(R-* 约 60 条) | references/02-资格红线与废标.md |
| 机读适配自检 15 项 | references/09-AI评标适配.md |
| 机械查脚本 | scripts/check_bid.py |
| 暗标检查脚本 | scripts/anon_check.py |
| 废标自查表 | templates/废标自查表.md |
| 暗标自查表 | templates/暗标自查表.md |
查重不在这里做——用 sdb-dedup(勘察设计标书查重助手)。
包内构成
本技能自带完整工具箱,单独安装即可运行,不依赖其他技能或外部路径:
| 目录 | 内容 |
|---|---|
references/ |
17 个知识库 |
templates/ |
10 个模板 |
scripts/ |
7 个脚本 |
上表依赖节列出的是本流程会用到的部分;其余为关联能力(如接续其他阶段的产物),需要时可调用。
脚本仅依赖 Python 标准库;下列为可选项,缺失时相应功能降级并明确提示,不会崩溃:
| 依赖 | 用途 | 缺失后果 |
|---|---|---|
Pillow |
图片哈希、EXIF 检查 | 相关功能自动跳过并提示 |
pymupdf |
PDF 文字抽取、扫描件渲染 | 相关功能自动跳过并提示 |
pywin32 |
老版 .doc 转换(需 Windows + Office) | 相关功能自动跳过并提示 |
完整能力:pip install pymupdf pdfplumber python-docx pillow numpy
二、五查,顺序不能乱
| # | 查法 | 命令/依据 | 查什么 |
|---|---|---|---|
| 1 | 机械查 | check_bid.py <目录> --place "项目所在地名" |
占位符残留、金额大小写、跨文件矛盾、技术标价格泄露、文件属性作者名、规范编号—名称错配、地名异写 |
| 2 | 残留查 | check_bid.py <目录> --residue "旧项目名,旧地名,旧河名,旧工程类型" |
复用历史标书的张冠李戴 |
| 3 | 暗标查 | anon_check.py <文件> --company "全称" --names "姓名" |
八类泄露点 |
| 4 | 机读查 | references/09 自检清单 A01–A15 |
评分点找不找得到、关键信息是否在图片里、有无空词、图表有无题注 |
| 5 | 逐项查 | templates/废标自查表.md + references/06 |
W 类(编制规范)+ E 类(实质响应)逐条打勾 |
最后再做黑盒复评:换评委身份重读一遍——找得到吗?看得见吗?有证据吗?
三、机械查能抓到的六类(实测有效)
| 规则 | 案例 | 级别 |
|---|---|---|
W-PH 占位符 |
【待补充:钻孔单价】、XX 公司、___、TODO |
P0 |
R-ANON-01 暗标泄露 |
正文出现单位名/简称/人员姓名 | P0 |
W-NORM-01 同编号两个名称 |
同一文件里 JGJ/T 87 写成《建筑工程地质勘探与取样技术规程》和《建筑工程地质勘察勘探与取样技术规程》 | P1 |
W-NORM-02 同标准多版本 |
GB/T50123 与 GB/T50123-2019 混用 |
P1 |
W-NORM-03 名称与版本不符 |
GB50202-2018 写作《…施工质量验收规范》(2018 版已更名"标准");GB50223 漏"工程"二字 |
P2 |
W-PLACE 地名异写 |
「某县」7 次、「某某县」2 次 | P2 |
R-RSD-01 历史残留 |
住宅项目里出现"道路和管线工程"章节 | P0 |
E06 工期矛盾 |
商务标 45 天、技术标 90 天 | P1 |
W-EMPTY / W-OUTLINE |
标题下无正文(目录与提纲区自动降级) | P1 / P2 |
脚本结果是线索不是结论。 每条都要回原文确认,误报(如"元"出现在专业术语里)排除后再写进报告。
四、暗标检查的八类泄露点
| 类 | 泄露点 | 检查手段 |
|---|---|---|
| A 正文 | 单位全称/简称、分支机构名、项目名带单位 | 文本匹配+变体匹配 |
| B 人员 | 姓名、手机号、邮箱、身份证 | 名单比对+格式识别 |
| C 图件 | 图签栏(单位名/资质章/注册章)、自制图框 LOGO、CAD 图层名与块名、图纸编号前缀、指北针与图例样式 | 须人眼/CAD 源文件 |
| D 页眉页脚 | 单位名、项目编号、内部文件号 | 独立解析页眉页脚 |
| E 文件属性 | creator / lastModifiedBy / Company / 模板路径 / 自定义属性 | 直读 docProps/core.xml、app.xml、custom.xml |
| F 修订批注 | 修订作者、批注作者、隐藏文字 | 解析 w:ins、w:del、w:comment |
| G 内容特征 | 特有表述习惯、专属业绩描述、内部术语 | 无法自动,人工 |
| H 文件名 | 文件名含单位名、路径含人名 | 文件名扫描 |
C 与 E 是头号泄露源:正文洗得再干净,图签栏和文档属性里还留着单位名。
明标不要按暗标返工
脚本会判断:若正文中出现了基线单位名/人员名,说明是明标,此时 E 类(文档属性/修订/隐藏文字)属正常状态,不必清空。报告里必须写清"本项目为明标,暗标结论不适用"。
是否暗标以招标文件为准。 招标文件没要求匿名,就不要按暗标结论返工。
五、三维定级(决定改不改、改多急)
| 级别 | 判据 | 处理 |
|---|---|---|
| P0 | 会被判否决/无效/拒收,或构成提供虚假材料 | 必须清零才能递交 |
| P1 | 重大偏差风险、明显扣分、评委可见的形式缺陷 | 递交前必须改 |
| P2 | 观感瑕疵、表述不一致 | 有时间就改 |
"未发现"≠"通过"。 未覆盖的部分(CAD 源文件、纸质件、图片内容、G 类内容特征)必须在报告里显式写"未覆盖",不能默认没问题。
六、检查报告结构(七节)
- 受检范围(文件清单、字数、检查项数、未覆盖项声明)
- 五查执行记录(每查:查了什么、命令、结论、误报说明)
- P0 清单(逐条:文件、定位、原文、依据、改法)
- P1 清单
- P2 清单
- 误报排除记录(哪些线索经复核不成立,为什么)
- 结论:P0 是否清零/未覆盖项/可否递交建议
七、两条纪律
- P0 未清零不得建议递交。
- 查出的每一条都要能定位到文件+行号/章节+原文片段。 说不清在哪儿的,等于没查。
八、常见误报(实测踩过,别重复报)
| 误报 | 原因 | 判断方法 |
|---|---|---|
| 目录被判"空章节" | 目录条目天然无正文 | 脚本已自动识别文档开头的密集编号区 |
| 「南部县」「西充县」被判"南充"错字 | 形近真实地名 | 正确写法出现 0 次时不上报 |
| 总工期 90 天与初勘 5 天被判"工期矛盾" | 总工期与阶段工期语义不同 | 工期字段只抓"总工期/服务期限" |
| 百分比被当金额 | 正则过宽 | 已排除 % 上下文 |