> Boo哥AI智写 工具集成员 · 联系 QQ邮箱:409966830@qq.com · 智写万象,标定未来
每次启动时首先输出:
> "Boo哥AI智写 · 投标附表自动生成助手 · 智写万象,标定未来
> 请提供招标文件和工程量清单文件。"
输出欢迎语后检查:
Boo哥AI智写 工具集成员 — 本技能从招标文件和工程量清单中自动提取关键数据,结合工程行业经验和AI推断,生成4个标准格式的投标附表。适用于施工单位编制技术标(施工组织设计)中的附表部分。
产出文件(1份):
| 文件 | 内容 |
|---|---|
| ------ | ------ |
投标附表.docx | 包含标题页 + 附表一 + 附表二 + 附表三 + 附表六的完整Word文档 |
适用文件:招标文件(PDF/DOC/DOCX/图片)+ 工程量清单(XLSX/XLS/PDF/图片),至少提供一种。
核心能力:
产出目录:bid-appendix_output/<项目名称>/,始终创建在当前工作目录下,不得创建在 skill 文件夹或其他位置。
步骤1: 文档加载与转换 → 提取全部文本,识别文件类型和内容结构
步骤2: 数据分析与提取 → 4个附表并行提取,AI推断缺失数据
步骤3: 生成Word文档 → 组装表格,格式排版,输出.docx
每个步骤完成后展示摘要,关键决策点需用户确认。
bid-appendix_output/<项目名称>/<项目名称>-2、<项目名称>-3自动识别用户提供的文件类型:
| 文件特征 | 识别为 | 用途 |
|---|---|---|
| --------- | -------- | ------ |
| 含"招标"/"招标文件"/技术规范/投标人须知 | 招标文件 | 提取项目信息、技术参数、评分要求 |
| 含"清单"/"工程量"/"BOQ"/分部分项 | 工程量清单 | 提取设备/工种/工程内容数据 |
| 含"图纸" | 施工图纸 | 补充设备选型和布局信息 |
使用转换脚本将各类文件转为纯文本。脚本路径:
SCRIPTS_DIR="<skills_dir>/techbid/scripts"
# 文本型 PDF
python "$SCRIPTS_DIR/extract_pdf.py" "<文件路径>"
# 扫描件/图片 PDF(需安装 tesseract-ocr)
python "$SCRIPTS_DIR/extract_pdf.py" "<文件路径>" --ocr
# DOC/DOCX
python "$SCRIPTS_DIR/extract_doc.py" "<文件路径>"
# XLSX/XLS
python "$SCRIPTS_DIR/extract_xls.py" "<文件路径>"
依赖:pip install pdfplumber pdf2image pytesseract python-docx openpyxl
图片文件(PNG/JPG)直接使用Read工具读取即可进行OCR识别。
所有文本合并保存到 bid-appendix_output/<项目名称>/extracted_text.txt。
读取步骤1产出的全文文本,并行启动4个提取Agent,分别对应4个附表。每个Agent遵循统一的提取-推断-输出模式。
三源融合原则:每个附表的数据从以下三个来源逐层融合:
数据可信度标记:
| 来源 | 标记 | 可信度 |
|---|---|---|
| ------ | ------ | -------- |
| 招标文件/清单原文 | 不标记 | 高,可用于正式投标 |
| AI推断 | 备注列标注"AI建议" | 中,需人工确认后使用 |
缺失处理:无法确定且无法推断的字段,填入"—"(不标注AI建议),备注列填写"招标文件未提供"。
| 列 | 说明 |
|---|---|
| ---- | ------ |
| 序号 | 从1递增 |
| 设备名称 | 施工机械/设备名称 |
| 型号规格 | 具体型号和规格参数 |
| 数量 | 数字(台/套) |
| 国别产地 | 制造国/产地 |
| 制造年份 | 年份 |
| 额定功率(KW) | 功率数值 |
| 生产能力 | 描述生产能力 |
| 用于施工部位 | 对应的施工内容/工序 |
| 备注 | AI建议标记或其他说明 |
步骤A:清单扫描
在工程量清单中搜索关键词:机械台班、施工机械、设备、台时、台班费、机械名称。
从清单子目提取:设备名称 + 关联的工程部位。
步骤B:招标文件扫描
搜索关键词:施工机械、机械设备、设备配置、技术装备、施工方案。
步骤C:AI推断
根据以下逻辑推断缺失数据:
references/equipment-reference.md 中同类型工程的常用设备型号。步骤D:去重与排序
如无清单数据,根据工程类型给出基础配置建议(详见 references/equipment-reference.md)。
推断时在备注列标注"AI建议",提示用户确认或修改。
| 列 | 说明 |
|---|---|
| ---- | ------ |
| 序号 | 从1递增 |
| 仪器设备名称 | 试验/检测仪器名称 |
| 型号规格 | 具体型号和量程/精度 |
| 数量 | 数字(台/套) |
| 国别产地 | 制造国/产地 |
| 制造年份 | 年份 |
| 已使用台时数 | 已累计使用小时数 |
| 用途 | 对应的试验/检测项目 |
| 备注 | AI建议标记或其他说明 |
步骤A:清单扫描
搜索关键词:检测、试验、测试、标养、养护、压力试验机、万能试验机。
步骤B:招标文件扫描
搜索关键词:试验检测、检验批、质量检测、材料检验、检测频率、检测项目、见证取样。
步骤C:AI推断
references/equipment-reference.md,根据工程等级选择合适量程。推断时在备注列标注"AI建议"。
单位:人
表头为合并单元格结构(严格按此格式生成):
┌──────────┬──────────────────────────────────────────────────┐
│ │ 按工程施工阶段投入劳动力情况 │
│ 工种 ├─────────┬─────────┬─────────┬───┬─────────┬─────────┤
│ │ 阶段1 │ 阶段2 │ 阶段3 │...│ 阶段6 │ 阶段7 │
├──────────┼─────────┼─────────┼─────────┼───┼─────────┼─────────┤
│ 项目经理 │ 1 │ 1 │ 1 │...│ 1 │ 1 │
├──────────┼─────────┼─────────┼─────────┼───┼─────────┼─────────┤
│ 合计 │ 42 │ 98 │ 120 │...│ 38 │ 18 │
└──────────┴─────────┴─────────┴─────────┴───┴─────────┴─────────┘
合并单元格规则:
优先从招标文件提取施工阶段划分。 搜索关键词:进度计划、施工阶段、工期安排、关键节点、里程碑。
若文件中无明确阶段划分,使用标准7阶段:
| 阶段 | 名称 | 典型内容 |
|---|---|---|
| ------ | ------ | --------- |
| 阶段1 | 施工准备 | 临建搭设、测量放线、场地平整 |
| 阶段2 | 基础施工 | 土方开挖、地基处理、基础结构 |
| 阶段3 | 主体结构 | 主体结构施工(混凝土/钢结构等) |
| 阶段4 | 装饰装修 | 内外装饰、装修工程 |
| 阶段5 | 机电安装 | 电气、给排水、暖通、消防 |
| 阶段6 | 调试检测 | 系统调试、检测试验 |
| 阶段7 | 竣工验收 | 收尾清理、竣工验收 |
步骤A:清单扫描
搜索关键词:人工、工日、综合工日、普工、技工。从清单子目中提取工种信息。
步骤B:招标文件扫描
搜索关键词:施工队伍、人员配置、项目管理人员、特种作业人员、持证上岗。
步骤C:AI推断
根据工程类型和施工方案,推断所需工种(详见 references/labor-reference.md)。
典型工种列表(根据工程类型裁剪):
步骤D:人数估算
管理类人员:根据工程规模确定:
技术工种:按以下方式估算:
普工:按技术工种总人数的15%-25%估算。
步骤E:分阶段分配
将各工种分配到对应施工阶段,遵循:
推断的所有数据在表末加注"部分数据为AI根据工程类型估算,请根据实际施工组织设计调整"。
| 用途 | 面积(平方米) | 位置 | 需用时间 |
|---|---|---|---|
| ------ | -------------- | ------ | --------- |
| 临时设施名称 | 占地面积 | 设置位置描述 | 使用时间段 |
步骤A:清单扫描
搜索关键词:临时设施、临时工程、安全文明施工费、临时用地。
步骤B:招标文件扫描
搜索关键词:临时用地、临时设施、施工用地、施工总平面、红线范围、用地限制、业主提供。
步骤C:AI推断
覆盖以下标准临时设施类别(根据工程类型裁剪):
| 大类 | 典型设施 |
|---|---|
| ------ | --------- |
| 办公生活 | 项目部办公室、工人宿舍、食堂、卫生间/浴室、会议室 |
| 生产加工 | 钢筋加工棚、木工加工棚、搅拌站、预制场、构件堆场 |
| 材料存储 | 水泥库、砂石料场、钢材堆场、模板堆场、危险品库 |
| 临建道路 | 施工便道、场内道路、停车场 |
| 公用设施 | 施工用水设施、施工用电设施、污水处理、门卫/大门 |
面积估算参考(按中型工程基准):
位置描述格式:"施工现场[方位,如东侧/西南角],临近[参照物,如主入口/XX路],桩号[如有]"
需用时间格式:"开工至竣工" / "XX年X月—XX年X月" / 根据总工期推算。
推断时在备注列或表末加注"以上面积和位置为AI根据工程类型估算,请根据实际施工总平面布置调整"。
将4个Agent的提取结果合并为一个 input.json,保存在 bid-appendix_output/<项目名称>/,字段名与生成脚本一致(详见 references/docx-template.md):
{
"appendix_1": { "items": [{"序号":1, "设备名称":"...", "型号规格":"...", ...}] },
"appendix_2": { "items": [{"序号":1, "仪器设备名称":"...", "型号规格":"...", ...}] },
"appendix_3": { "stages": [...], "items": [{"工种":"...", "数量": [...]}] },
"appendix_6": { "items": [{"用途":"...", "面积":"...", "位置":"...", "需用时间":"..."}] }
}
所有提取结果展示给用户确认后,进入步骤3。
使用 python-docx 库编写Python脚本生成.docx文件(pip install python-docx)。
格式标准(严格遵循):
| 元素 | 字体 | 字号 | 对齐 | 其他 |
|---|---|---|---|---|
| ------ | ------ | ------ | ------ | ------ |
| 附表标题 | 黑体 | 14pt | 居中 | 加粗 |
| 表格表头 | 宋体 | 9pt | 居中 | 加粗 |
| 表格内容 | 宋体 | 9pt | 居中 | — |
| 备注/注释 | 宋体 | 10.5pt | 左对齐 | — |
| 项目名称(DOC标题) | 黑体 | 16pt | 居中 | 加粗 |
页面设置:
表格格式:
w:sz="4"(0.5磅))Pt(1)(紧凑排版)列宽设置(python-docx 使用 Cm()):
[Cm(1.2), Cm(2.2), Cm(2.2), Cm(1.2), Cm(1.8), Cm(1.5), Cm(1.8), Cm(2.0), Cm(2.2), Cm(1.5)] 总计 17.6cm[Cm(1.2), Cm(2.8), Cm(2.2), Cm(1.2), Cm(1.8), Cm(1.5), Cm(2.0), Cm(2.5), Cm(1.5)] 总计 16.7cmCm(2.0),每阶段列 Cm(1.8),总计根据阶段数自动计算[Cm(4.0), Cm(3.5), Cm(5.0), Cm(3.5)] 总计 16cm使用 scripts/generate_appendix.py 脚本(完整代码),读取步骤2产出的JSON文件生成.docx。
基本调用:
python scripts/generate_appendix.py <input.json> <output.docx>
JSON输入格式(与步骤2产出一致):
{
"project_name": "XX工程",
"appendix_1": { "items": [...] },
"appendix_2": { "items": [...] },
"appendix_3": { "stages": [...], "items": [...] },
"appendix_6": { "items": [...] }
}
附表三合并单元格(python-docx 方式):
table.cell(0, 1).merge(table.cell(0, last_col)) — "按工程施工阶段投入劳动力情况" 横跨所有阶段列table.cell(0, 0).merge(table.cell(1, 0)) — "工种"纵跨两行脚本模板详见 scripts/generate_appendix.py 和 references/docx-template.md。
pip install python-docx
python scripts/generate_appendix.py input.json 投标附表.docx
输出文件保存在:bid-appendix_output/<项目名称>/投标附表.docx
本技能在两个关键节点需用户确认:
| 场景 | 处理 |
|---|---|
| ------ | ------ |
| 输入文件为空或无法读取 | 提示用户重新提供有效文件 |
| 文本转换失败 | 尝试备选方案(如pdfplumber失败→尝试pymupdf) |
| 扫描件OCR质量差 | 提示用户关键数据可能不完整,建议提供清晰扫描件 |
| 清单中无机械/人工数据 | 全部使用AI推断,表头加粗标注"以下数据为AI推断,仅供参考" |
| 招标文件中无阶段划分 | 使用标准7阶段,并在表下加注说明 |
| docx生成失败 | 检查python-docx安装,回退到pandoc方案 |
bid-appendix_output/<项目名称>/
├── input.json # 步骤2:合并后的JSON
├── 投标附表.docx # 最终产出
└── extracted/ # 中间数据(可选保留)
├── appendix-1-machinery.json
├── appendix-2-instruments.json
├── appendix-3-labor.json
└── appendix-6-land.json
> Boo哥AI智写 工具集成员 · 联系 QQ邮箱:409966830@qq.com · 智写万象,标定未来
共 1 个版本