| name | tender-analysis |
| description | 分析投标文件(PDF、Word等格式),提取项目要求、技术规格、时间节点等关键信息,梳理疑问细项用于答疑会议,并生成结构化的投标设计方案。当用户提到投标文件、招标文件、投标方案、标书分析、疑问梳理、答疑问题时使用此技能。 |
投标文件分析与方案设计
工作流程
阶段一:投标文件分析
-
识别文件类型并提取内容
- PDF文件:使用
pdfplumber 提取文本和表格(推荐脚本:scripts/extract_pdf.py)
- Word文件(.docx):使用
python-docx 提取文本和表格(推荐脚本:scripts/extract_docx.py)
- Word文件(.doc):使用
docx2txt 或系统工具提取(推荐脚本:scripts/extract_doc.py)
- Excel文件(.xls/.xlsx):使用
openpyxl 或 xlrd 提取数据
- 图片文件:使用 OCR(如
pytesseract)提取文字
-
提取关键信息
按照以下结构提取信息:
## 项目基本信息
- 项目名称:
- 招标编号:
- 招标单位:
- 项目预算:
- 投标截止时间:
- 开标时间:
## 技术要求
- 技术规格:
- 性能指标:
- 质量标准:
- 认证要求:
## 商务要求
- 付款方式:
- 交付周期:
- 质保要求:
- 其他商务条款:
## 评分标准
- 技术分占比:
- 商务分占比:
- 价格分占比:
- 加分项:
## 关键时间节点
- 答疑截止:
- 投标截止:
- 开标时间:
- 合同签订:
-
识别重点和难点
- 标注必须满足的硬性要求(★ 必须满足)
- 标注加分项(+ 加分项)
- 标注潜在风险点(⚠ 风险点)
阶段二:疑问梳理(答疑会议前)
在收到投标文件后、答疑会议前,必须梳理所有疑问细项。这是保护乙方权益、明确项目要求的关键步骤。
-
梳理疑问的原则
- 识别模糊不清的条款
- 识别可能不利于乙方权益的条款
- 识别技术规格不明确的地方
- 识别商务条款有歧义的地方
- 识别评分标准不清晰的地方
-
疑问分类
- 🔴 关键疑问:影响投标决策或方案设计,必须澄清
- 🟡 重要疑问:影响报价或实施计划,建议澄清
- 🟢 一般疑问:有助于优化方案,可选澄清
-
疑问清单格式
使用 question-template.md 模板生成结构化疑问清单
-
疑问表述要求
- 明确引用招标文件的具体章节和条款
- 说明疑问的具体内容
- 说明疑问可能造成的影响
- 提出建议的解决方案(如适用)
-
答疑会议后处理
- 整理甲方回复,更新到分析文档中
- 根据回复调整方案设计方向
- 识别甲方回复中的新信息或要求
阶段三:方案设计生成(答疑会议后)
基于提取的信息和答疑回复,生成投标设计方案:
基于提取的信息,生成投标设计方案:
# [项目名称] 投标设计方案
## 一、项目理解
### 1.1 项目背景
[基于招标文件描述的项目背景]
### 1.2 项目目标
[明确项目要实现的目标]
### 1.3 核心需求分析
- 需求1:[对应技术要求]
- 需求2:[对应技术要求]
- 需求3:[对应技术要求]
## 二、技术方案
### 2.1 总体架构
[技术架构图和说明]
### 2.2 核心技术选型
| 技术项 | 选型 | 理由 |
|--------|------|------|
| 技术1 | 方案A | 满足XX要求 |
| 技术2 | 方案B | 满足XX要求 |
### 2.3 关键技术实现
[详细说明关键技术如何实现,确保满足所有技术要求]
### 2.4 创新点与优势
- 创新点1:[说明]
- 创新点2:[说明]
## 三、实施方案
### 3.1 项目组织架构
[项目团队结构]
### 3.2 实施计划
| 阶段 | 时间 | 主要工作 | 交付物 |
|------|------|----------|--------|
| 阶段1 | X天 | 工作内容 | 交付物1 |
| 阶段2 | X天 | 工作内容 | 交付物2 |
### 3.3 质量保证措施
- 措施1:[说明]
- 措施2:[说明]
### 3.4 风险控制
| 风险 | 应对措施 | 责任人 |
|------|----------|--------|
| 风险1 | 措施1 | 责任人1 |
| 风险2 | 措施2 | 责任人2 |
## 四、商务方案
### 4.1 报价说明
[报价结构和说明]
### 4.2 付款方式
[符合招标要求的付款方式]
### 4.3 售后服务
[质保和售后服务方案]
## 五、优势总结
### 5.1 技术优势
- 优势1
- 优势2
### 5.2 服务优势
- 优势1
- 优势2
### 5.3 成功案例
[相关成功案例]
## 六、承诺与保证
[对招标要求的响应和承诺]
关键检查点
疑问梳理检查点
方案设计检查点
在生成方案前,确保:
使用示例
示例1:完整流程
输入:
请分析这个投标文件:招标文件.pdf
并生成投标设计方案
处理流程:
- 读取并分析 PDF 文件
- 提取关键信息到结构化格式
- 梳理疑问细项,生成疑问清单(答疑会议前)
- 根据答疑回复更新分析文档
- 基于提取的信息和答疑回复生成完整方案
- 检查是否满足所有要求
示例2:疑问梳理
输入:
请帮我梳理这个投标文件中的疑问细项,准备答疑会议
处理流程:
- 分析投标文件,识别模糊、不清晰或有歧义的条款
- 按重要性分类(关键疑问/重要疑问/一般疑问)
- 生成结构化的疑问清单,包含:
- 文件位置引用
- 疑问具体内容
- 可能造成的影响
- 建议的解决方案(如适用)
- 输出疑问清单,便于在答疑会议中使用
示例3:基于答疑回复更新方案
输入:
答疑会议已结束,甲方回复如下:[回复内容]
请根据回复更新分析文档并调整方案设计
处理流程:
- 整理答疑回复,更新到疑问清单
- 根据回复更新投标文件分析文档
- 识别回复中的新要求或新信息
- 调整方案设计方向,确保符合澄清后的要求
注意事项
- 准确性优先:确保提取的信息准确,特别是时间节点和关键要求
- 完整性检查:方案必须覆盖招标文件中的所有评分项
- 针对性:方案要针对具体项目,避免模板化
- 合规性:确保所有承诺符合招标文件要求
工具推荐
Python 环境管理
脚本运行需要 Python 虚拟环境,推荐使用 UV 管理(比 pip 快 10-100 倍,自动锁定依赖)。
uv venv .venv && source .venv/bin/activate
uv pip install python-docx pdfplumber docx2txt openpyxl xlrd
完整的安装步骤、可选依赖(OCR、PDF 表格)与常用命令见 SETUP.md。
文件处理工具
- PDF处理:
pdfplumber(推荐,支持文本和表格提取)
- Word处理(.docx):
python-docx(推荐)
- Word处理(.doc):
docx2txt(支持老版本格式)或系统工具(如 macOS 的 textutil)
- Excel处理:
openpyxl(.xlsx)或 xlrd(.xls)
- OCR识别:
pytesseract + pdf2image(可选,用于图片文字识别)
- 表格提取:
tabula-py(PDF表格,可选)
文件格式支持
| 格式 | 推荐工具 | 脚本 | 说明 |
|---|
| .docx | python-docx | extract_docx.py | 新版本 Word 格式 |
| .doc | docx2txt / textutil | extract_doc.py | 老版本 Word 格式 |
| .pdf | pdfplumber | extract_pdf.py | PDF 文档(支持表格) |
| .xlsx | openpyxl | - | Excel 新格式 |
| .xls | xlrd | - | Excel 老格式 |
注意:如果遇到无法提取的文件,可以:
- 尝试将文件转换为其他格式(如 .doc 转 .docx)
- 使用系统工具(如 macOS 的
textutil)
- 手动复制内容
参考资源
模板文件
示例文件
工具脚本
使用示例:
python scripts/extract_docx.py 文件.docx > content.txt
python scripts/extract_doc.py 文件.doc > content.txt
python scripts/extract_pdf.py 文件.pdf > content.txt
python scripts/extract_excel.py 文件.xls > content.txt
python scripts/extract_excel.py 文件.xlsx > content.txt
使用说明
-
首次使用:
- 复制
templates/complete-question-list-template.md 作为疑问清单起点
- 复制
analysis-template.md 作为分析报告起点
- 使用
scripts/extract_docx.py 提取投标文件内容
-
疑问梳理:
- 先按类别梳理(参考
question-template.md)
- 再按职能梳理(参考
templates/question-list-by-role.md)
- 合并到完整疑问清单中
-
方案设计:
- 参考
proposal-example.md 的结构和格式
- 根据答疑回复调整方案内容