投标暗标格式合规扫描Bid Blind Bid Format Scanner
本技能用于投标人在封装或上传投标文件前,对"暗标"部分(技术标/施工组织设计/技术方案)执行盲审格式化条款的机械合规扫描。当用户说"暗标格式检查""盲标排版""暗标废标风险""检查技术标格式是否符合暗标要求""扫描标书里有没有泄露公司名/Logo/项目负责人""页边距字体页码页眉页脚是否合规",或上传 Word/PDF 技术暗标要求做封标前体检时触发。技能逐…
一线评标专家
@chesaram
What This Skill Does
Scans Word or PDF technical bid documents against the tender's blind-bid formatting requirements (margins, fonts, line spacing, page numbers, headers/footers, metadata, and any residual bidder identity info). Outputs a side-by-side 'requirement vs. actual' discrepancy list with risk levels (disqualification-grade vs. deduction-grade) and one-click fix instructions.
Replaces manual spot-checking of dozens of formatting rules and metadata fields, reducing the risk of disqualification due to mechanical non-compliance.
When to Use It
- Check a technical bid document for hidden company name, logo, or project manager references before sealing
- Verify that margins, fonts, line spacing, and page numbers match the tender's blind-bid requirements
- Compare the tender's blind-bid formatting rules against the current document and generate a discrepancy report
- Scan document metadata (author, company, last saved by) for any residual bidder identity information
- Identify whether the document exceeds the page limit specified in the blind-bid requirements
- Extract the blind-bid formatting requirements section from a full tender document for automated comparison
Install
$ openclaw skills install @chesaram/bid-blind-bid-format-scanner暗标格式"防盲"合规扫描仪
Overview
面向投标人侧的封标前"防盲"体检工具。暗标评审普遍实行"一票否决"或"扣分/零分制",而判定依据纯机械:页边距偏 1 毫米、标题用了微软雅黑而非宋体、页码位置不对、文档属性残留作者名——都可能直接废标或零分,毫无商榷余地。本技能用确定性脚本提取 Word/PDF 的格式属性与元数据,结合招标文件"暗标编制要求",逐项比对并输出差异清单、风险等级与修订指令;同时扫描全文与文档属性,揪出任何残留的投标人身份信息。
When to Use
触发场景(任一项即触发):
- 用户要求"暗标格式检查 / 盲标排版 / 暗标废标风险 / 封标前体检 / 复检"。
- 用户上传技术暗标 Word/PDF,要求核对页边距、字体、字号、行距、页码、页眉页脚、标题编号。
- 用户担心标书里"有没有泄露公司名 / Logo / 项目负责人 / 既往项目"。
- 用户问"技术暗标超页数了怎么办""怎么精简暗标篇幅"。
- 用户需要"招标文件暗标要求 vs 我文件现状"的对照表与修订建议。
- 用户说"帮我从招标文件里找暗标要求 / 提取暗标编制要求"——可接收完整招标文件,在 Step 1 自动定位暗标编制要求所在章节并提取(可能在"投标人须知""评标办法"或单独附件中)。
- 用户要"暗标格式自检清单"——输出
references/self_check_list.md的可打印清单供手动核对。
不触发:技术方案内容优劣评价、报价评分预测、商务标明标检查——这些超出本技能边界,应引导至对应专家技能。
护栏铁律(不可逾越)
- 只做机械格式检查,不评价内容优劣:不预测技术方案得分,不对施工工艺、工期合理性、人员配置做主观评价。发现内容问题只可提示"建议核对",不得打分或建议改写技术内容。
- 不保留用户文件副本,扫描后立即清理:运行脚本提取的中间文件、临时副本、解压内容,在输出报告后必须删除;不在任何持久位置留存用户标书。仅交付"报告"(及用户显式请求的修订后副本,该副本生成在用户工作区、由用户自行保管)。
- 以招标文件条款为最高准绳:通用标尺(见
references/blind_bid_specs.md)仅在招标条款完全缺失某维度时作回退默认值,且须在报告中显式标注"依据通用标尺假设",不得冒充招标要求。若招标写了但模糊(如"字体美观大方"),不得用标尺补全,须标"待确认"并反问用户向其招标方澄清(见references/blind_bid_specs.md顶部失效场景说明)。 - 风险分级必须明确:每条差异标注 🔴 废标级 / 🟡 扣分零分级,让投标人一眼分清"会废标"与"会扣分",不得含糊。身份类(含文档元数据残留)按 🔴,纯格式类按 🟡(见后果矩阵)。
- 不教唆规避暗标规则:只帮用户"去除标识、合规格式",绝不协助"做暗记""藏标识""用谐音/变体替代公司名""故意混淆以逃避盲评"。任何此类请求一律拒绝并说明理由。
- 不替代人工终审:报告末尾必须声明"本检查为辅助性工具,最终合规性以评标委员会认定为准;图片 EXIF、隐藏图层、扫描件、图签栏等项需人工复核"。
输入槽位
- 招标文件"暗标编制要求"章节:用户粘贴文本或上传文件;也可直接上传完整招标文件,Step 1 自动定位暗标编制要求所在章节并提取。须从中解析出"要求画像"(Requirement Profile)。
- 投标人暗标正文:上传 Word(.docx,首选,检测最可靠)或 PDF(最佳努力,见局限)。
- 暗标篇幅限制(可选):如"不超过 300 页",用于篇幅裁剪建议。
- 评分标准(可选):若提供,Step 5 篇幅裁剪按章节权重给出"建议删/保留"建议。
- 白名单/允许自称(可选):如本项目允许"我公司"自称,提供后加
--allow避免误报。
若槽位 1 缺失,主动询问用户提供招标文件的暗标编制要求;若槽位 2 缺失,提示上传文件。槽位 3/4/5 可留空,仅影响对应建议的精细度。
工作流程
Step 1 · 解析"要求画像"(Requirement Profile)
从用户提供的"暗标编制要求"中提取结构化画像,逐项记录;若用户给的是完整招标文件,先自动定位暗标编制要求所在章节(常在"投标人须知""评标办法"或单独附件)再提取。
回退与降级规则(关键):
- 招标完全未涉及某维度 → 按
references/blind_bid_specs.md通用标尺填入,标注(假设)。 - 招标写了但模糊(如"字体美观大方""排版整洁")→ 不得用标尺补全,标
待确认,并在下方确认环节反问用户向招标方澄清。 - 低置信度预警:若解析出 ≥3 项标注
(假设)或待确认,主动提示"⚠️ 当前解析可能有偏差,建议重新粘贴原文或上传清晰截图;以下比对基准可能不准确"。
解析维度:
- 纸张与方向(A4 纵向?)
- 页边距:上 / 下 / 左 / 右(cm)
- 颜色:是否全黑、禁底纹水印
- 字体字号:正文、标题、图表内(如"宋体四号常规")
- 字形:禁加粗/加色/倾斜/下划线/删除线
- 行距:固定值 X 磅 / 倍数
- 对齐与缩进:左对齐或两端对齐、首行缩进 2 字符、禁空格空行
- 页码 / 页眉 / 页脚:是否禁止
- 标题编号方案:中文层级 或 阿拉伯分级
- 篇幅上限:N 页
- 身份禁止:名称/Logo/人员/业绩/企业特征/暗示措辞
🔒 阻塞式确认(必须):Step 1 解析完成后,先向用户展示"要求画像"并请求确认,用户未确认不得进入 Step 2。若用户直接上传了文件且画像清晰,可一并展示画像与"确认后我即开始扫描"的提示,但仍须等用户明确确认(如"对,开始")再运行脚本。
⚠️ 常见踩坑提醒(解析后主动推送):结合 references/blind_bid_failure_cases.md,向用户提示本项目高频雷区,例如:
- "本项目要求'不得设置页码'——注意 Word 默认模板可能自带页码,请检查'插入→页码→删除页码'。"
- "本项目要求'标题编号采用一、(一)、1、(1)'——注意 Word 自动编号可能生成'1.1.1',需手动调整。"
- "本项目要求'全篇黑色'——注意超链接默认蓝色,需改黑或取消超链接。"
- "本项目要求'不得出现加粗'——注意从他处复制粘贴的内容可能自带加粗格式。"
Step 2 · 运行检测脚本
优先用 .docx 路径。使用受管 Python 运行 scripts/scan_docx.py;PDF 用 scripts/scan_pdf.py。
# Word(最可靠):
C:/Users/Meng/.workbuddy/binaries/python/envs/default/bin/python \
<skill>/scripts/scan_docx.py "<暗标文件.docx>" \
--identifiers "公司全称,公司简称,项目负责人姓名,既往项目名称" \
--allow "我公司,我单位" \
> scan_result.json
# PDF(最佳努力,字体/页边距不可靠):
C:/Users/Meng/.workbuddy/binaries/python/envs/default/bin/python \
<skill>/scripts/scan_pdf.py "<暗标文件.pdf>" \
--identifiers "公司全称,公司简称,项目负责人姓名" \
--allow "我公司,我单位"
--identifiers:请用户列出可识别身份信息(公司全称/简称/英文缩写/Logo文字/项目负责人/既往项目名),这是精确扫描的关键。--allow:白名单(逗号分隔)。若本项目允许使用某些自称/术语(如允许"我公司"),填入后命中不报,避免误报。仅精确匹配。- 若受管 venv 缺
python-docx/pypdf,先安装再运行:.../envs/default/bin/pip install python-docx pypdf。 - 脚本输出 JSON:不输出全文,仅输出格式画像 + 泄漏命中片段(含前后各约 50 字
context),避免上下文爆炸。 - 扫描结束后,删除
scan_result.json等中间产物(护栏铁律 2)。
脚本输出 Schema(解析契约)
AI 按以下字段解析脚本返回值(以 scan_docx.py 为例;scan_pdf.py 字段略少,见其 unreliable_fields):
{
"file": "技术暗标.docx",
"format": "docx",
"sections": [ // 每个分节(首页边距/页眉页脚)
{"index":0,"page_width_cm":21.0,"page_height_cm":29.7,"orientation":"portrait",
"margin_top_cm":2.5,"margin_bottom_cm":2.0,"margin_left_cm":2.0,"margin_right_cm":2.0,
"has_header":false,"has_footer":false,
"header_has_page_number":false,"footer_has_page_number":false}
],
"font_stats": { // 字体/字号/字形画像
"eastasia_fonts":["宋体"],"ascii_fonts":["Times New Roman"],"sizes_pt":[14.0],
"any_bold":false,"any_italic":false,"any_underline":false,"any_colored_text":false
},
"alignment_dist": {"LEFT":120,"JUSTIFY":3}, // 对齐分布
"line_spacing_dist": {"EXACTLY:30.0pt":118}, // 行距分布
"indent_dist": {"0.74cm":118}, // 首行缩进分布
"title_number_samples":["一、工程概况","二、施工方案"], // 标题编号采样(判断采用哪套方案)
"doc_properties": { // 元数据(身份显形)
"author":"张三","last_modified_by":"李四","company":"XX建设集团","title":"施工组织设计"
},
"leakage_hits": [ // 身份命中(含上下文)
{"type":"identifier","match":"XX建设集团","pos":123,
"context":"……我公司承建的XX建设集团高速公路项目……"}
],
"text_length":15230,
"errors":[]
}
注:脚本不输出"页码/页数"逐页信息,
pos为全文字符偏移(非页码)。PDF 路径见scan_pdf.py的unreliable_fields——字体/行距/页边距等标不可靠,比对时按references/blind_bid_specs.md的"PDF 可靠性矩阵"处理。
Step 3 · 逐项比对,生成差异
将脚本输出与 Step 1 画像逐条对照,对每条格式项给出:要求值 / 当前值 / 是否相符 / 风险等级 / 修订指令。比对容差严格按 references/blind_bid_specs.md 的「容差与判定规则表」(字体、对齐、页码、字形、颜色为零容差;页边距 ±0.2cm、行距 ±2 磅、字号 ±0.5 磅、缩进 ±0.5 字符为默认容差)。重点检查:
- 版面:A4 纵向、无封面目录(或合规封面)。
- 页边距:四边数值与偏差(按容差表判定相符性)。
- 字体字号:是否全为宋体(或招标指定)、四号;图表内是否合规;是否混入微软雅黑/等线/仿宋等(零容差,必须精确匹配,含中英文别名)。
- 字形:是否存在加粗/倾斜/下划线/彩色(脚本
any_*标记,零容差)。 - 行距:固定值是否等于招标值(±2 磅容差);倍数制按 ±0.1 倍。
- 对齐/缩进:首行缩进是否 2 字符、是否混入空格/空行(按容差表)。
- 页码/页眉/页脚:脚本
has_header/footer、*_has_page_number任一为 true 即 🔴(若招标禁止,零容差)。 - 标题编号:用脚本
title_number_samples判断当前采用哪套方案,与画像对照。 - 文档元数据:
doc_properties中 author/company/last_modified_by 非空即 🔴,给出清零指令。 - PDF 输入:字体/行距/页边距/对齐等项按「PDF 可靠性矩阵」标 ⚠️ 需人工复核,不计入 🔴 判定;仅页数、元数据、身份文本作可靠判定。
Step 4 · 身份"显形"扫描
- 精确命中(🔴):脚本
--identifiers返回的leakage_hits(type=identifier)全部 🔴,必须处理;给出安全改写(如"XX建设集团"→"投标人")。 - 启发式命中(🟡):type=heuristic 的暗示措辞("我公司""荣获""独家"等),一律标 🟡 而非 🔴,仅作补充告警。必须参看返回的前后各约 50 字
context判断是否为真实泄漏,再给改写建议(如"我公司承建"→"本项目实施")。禁止单凭词命中即判废标。 - 白名单豁免:若运行脚本时加了
--allow,命中已在脚本层剔除,不在此重复报告。 - 图像/表格专项(人工复核):脚本无法看像素,按
references/identity_patterns.md第三节主动提示用户逐项自查——图片内嵌文字(OCR)、图片 EXIF/XMP(ExifTool)、表格边框颜色、图表内字体、图片水印、图签栏公司名/签章(🔴)、修订痕迹批注者(🔴)、超链接蓝色(🟡)。这些项一律标"⚠️ 需人工复核",不计入自动判定。
误报分级与白名单机制详见
references/identity_patterns.md第〇节。原则:宁可漏报提示、不可误伤废标。
Step 5 · 篇幅逻辑裁剪(若超限)
当页数 > 上限(或用户担心超限):给出"精简优先级建议",原则——保留关键工期、质量保证措施、核心方案;优先压缩:附图(合并/缩印/移图表内说明)、冗长工艺描述、重复章节、可移至商务明标的内容。不替用户删改技术内容,只给可执行的裁剪方向。
结合评分权重(若用户提供评分标准):在裁剪建议中增加"该章节评分权重"列——
- 高权重章节 → 标注"不建议删减",避免误删失分。
- 无权重/低权重章节 → 标注"优先压缩"。 这能直接回应投标人"怕删了不该删的导致失分"的顾虑。若用户未提供评分标准,则按通用优先级给建议。
Step 6 · 输出一键差异报告
按下方模板输出"招标文件要求 vs 当前文件现状"对照表 + 修订指令清单 + 身份扫描结果。报告末尾附技能署名与反馈脚注(护栏要求,见文末)。
核心能力映射
| 能力 | 实现方式 |
|---|---|
| 1. 格式硬检 | scan_docx.py 提取页边距/字体/字号/行距/对齐/缩进/页码页眉页脚 + Step 3 按容差表比对 |
| 2. 身份显形扫描 | 脚本 --identifiers 精确命中(🔴) + 启发式词表(🟡) + --allow 白名单 + 元数据检查 + 图片/表格人工复核提醒 |
| 3. 篇幅逻辑裁剪 | Step 5 优先级建议(结合评分权重,不删改内容) |
| 4. 一键差异报告 | Step 6 模板输出,附 🤖批处理(VBA/Python)/👤人工 分级修订指令 |
| 5. 复检闭环 | 用户修订后上传并输入"复检",仅复查上次不合格项 |
| 6. 智能提取 / 自检清单 | 接收完整招标文件自动定位暗标要求;输出可打印自检清单 |
输出模板(差异报告)
【暗标格式"防盲"合规扫描报告】
文件:<文件名> | 扫描时间:<时间> | 要求来源:<招标文件章节/通用标尺假设>
(若含通用标尺假设或待确认项,在此顶部红色提示)
一、格式逐项比对
| # | 检查项 | 招标要求 | 当前现状 | 结论 | 风险 | 修订指令 |
|---|--------|---------|---------|------|------|---------|
| 1 | 页边距(上/下/左/右) | 2.5/2/2/2 cm | 2.5/2/2/2.3 cm | 不符 | 🟡 | 右页边距由2.3改为2.0cm |
| 2 | 正文字体 | 宋体四号常规 | 微软雅黑四号 | 不符 | 🟡 | 全文字体替换为宋体 |
| 3 | 页码/页眉页脚 | 禁止 | 检测到页脚页码 | 不符 | 🔴 | 删除页脚及页码域 |
| ... | ... | ... | ... | ... | ... | ... |
二、身份"显形"扫描
🔴 精确命中:公司名"XX建设集团"出现于第N段:"……"(建议替换为"投标人")
🔴 文档元数据:author=张三、company=XX建设集团(建议清零,见下"批处理脚本")
🟡 启发式:出现"我公司承建"(前后文:"……我公司承建XX公路……",建议改为"本项目实施")
⚠️ 人工复核:图片EXIF/图签栏/修订痕迹须自行核查(见第四部分)
三、篇幅
当前约 N 页 / 上限 M 页 → 未超限 / 超限。
[若有评分标准] 高权重章节(如"工期保证")不建议删减;低权重/无权重章节(如冗长工艺描述)优先压缩。
四、修订指令汇总
🤖 可批处理(一键执行):
1. 全文字体→宋体四号常规,清除加粗/倾斜/下划线/彩色
2. 页边距统一 上2.5 下/左/右2 cm;行距固定值30磅
3. 删除页眉页脚及页码;首行缩进2字符、去空格空行
4. 文档属性 author/company/lastModifiedBy 清零
5. 替换/删除所有精确标识符残留
▸ Word 宏(Alt+F11 粘贴运行):
Sub FixBlindBidFormat()
With ActiveDocument.Content.Font
.Name = "宋体": .NameFarEast = "宋体": .Size = 14
End With
With ActiveDocument.Content.ParagraphFormat
.LineSpacingRule = wdLineSpaceExactly: .LineSpacing = 25
End With
ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Delete
ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range.Delete
ActiveDocument.BuiltInDocumentProperties("Author").Value = ""
ActiveDocument.BuiltInDocumentProperties("Company").Value = ""
End Sub
▸ 元数据清零(技术用户,Python):
python -c "from docx import Document; d=Document('技术暗标.docx'); d.core_properties.author=''; d.core_properties.company=''; d.core_properties.last_modified_by=''; d.save('技术暗标_clean.docx')"
👤 需人工核对(AI 不代决):
1. 启发式命中"我公司/荣获"等:逐句判断上下文,手动改为"投标人/本项目实施"
2. 压缩附图与冗长工艺:人工选择保留哪些、删减哪些
3. 图片EXIF(ExifTool)、图签栏公司名、修订痕迹批注者:逐项人工核查去标识
五、风险结论
🔴 废标级 N 项(须 100% 修复后封标)| 🟡 扣分零分级 M 项(建议修复)
六、复检与声明
· 修订完成后,请重新上传文件并输入"复检",我将仅针对本次不合格项定向复查(✅已修复 / ❌仍未修复)。
· ⚠️ 本检查为辅助性工具,最终合规性以评标委员会认定为准;图片EXIF、隐藏图层、扫描件、图签栏等项需人工复核。
PDF 输入时,字体/行距/页边距/对齐等项在报告中标注"PDF 不可靠,建议转 docx 后复检",且不计入 🔴 判定(见
references/blind_bid_specs.mdPDF 可靠性矩阵)。
署名与反馈(落地铁律,报告末尾必须附)
署名:一线评标专家&ChesaraM | 反馈/交流:微信公众号「一线评标专家」(使用问题、误报反馈、实务建议,欢迎留言交流)
Top skills in this category
Nano Pdf
@steipeteEdit PDFs with natural-language instructions using the nano-pdf CLI.
Word / DOCX
@ivangdavilaCreate, inspect, and edit Microsoft Word documents and DOCX files with reliable styles, numbering, tracked changes, tables, sections, and compatibility check...
Excel / XLSX
@ivangdavilaCreate, inspect, and edit Microsoft Excel workbooks and XLSX files with reliable formulas, dates, types, formatting, recalculation, and template preservation...
Markdown Converter
@steipeteConvert documents and files to Markdown using markitdown. Use when converting PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx, .xls), HTML, CSV, JSON, XML, images (with EXIF/OCR), audio (with transcription), ZIP archives, YouTube URLs, or EPubs to Markdown format for LLM processing or text analysis.
Powerpoint / PPTX
@ivangdavilaCreate, inspect, and edit Microsoft PowerPoint presentations and PPTX decks with reliable layouts, templates, placeholders, notes, charts, and visual QA. Use...