此技能用于按照每份招标文件的具体格式要求,生成结构正确的投标文件骨架。
核心能力:
┌─ Step 1 — 获取章节结构 ──────────────────────────────────┐
│ │
│ 方式A(推荐):上传招标文件 .docx → 自动解析提取章节大纲 │
│ 方式B:手动输入章节列表(逐行 H1~H5) │
│ 方式C:使用默认14章节框架 │
│ │
│ → 用户确认/编辑章节列表后继续 │
└───────────────────────────────────────────────────────────┘
│
▼
┌─ Step 2 — 选择编号体系并确认格式 ──────────────────────────┐
│ │
│ ▸ 体系一:纯阿拉伯数字级联(推荐默认) │
│ 1 → 1.1 → 1.1.1 → 1.1.1.1 → 1.1.1.1.1 │
│ ▸ 体系二:阿拉伯数字+符号转换 │
│ 1 → 1.1 → 1.1.1 → (1) → ① │
│ ▸ 体系三:政府/事业单位格式 │
│ 一 → (一) → 1 → (1) → ① │
│ ▸ 体系四:工程类格式 │
│ 第一章 → 第一节 → 一、 → (一) → 1. │
│ │
│ ▸ 字体配置(可逐级修改): │
│ 正文:宋体 小四 H1:宋体 小二 加粗 │
│ H2:宋体 三号 加粗 H3:宋体 小三 加粗 │
│ H4:宋体 四号 加粗 H5:宋体 小四 加粗 │
└───────────────────────────────────────────────────────────┘
│
▼
┌─ Step 3 — 填写项目信息 ───────────────────────────────────┐
│ 项目名称:________ 代理编号:________ │
│ 投标人:________ 招标人:________ │
│ 自定义编号:________ (按招标文件封面格式填入) │
│ 日期:________ │
└───────────────────────────────────────────────────────────┘
│
▼
┌─ Step 4 — 生成投标文件骨架 ───────────────────────────────┐
│ 输出:格式正确的 .docx 骨架文件 │
│ ├─ 封面(【正本】右上角,含自定义编号) │
│ ├─ 目录(自动生成的 TOC 域) │
│ ├─ 各章节(按确认的章节结构+编号体系) │
│ └─ 页眉页脚(项目名称 + X/100,首页不显示,从2起编) │
└───────────────────────────────────────────────────────────┘
│
▼
┌─ Step 5 — 填充内容 ──────────────────────────────────────┐
│ 方式A:引导使用知识库(参见【标书内容生成技能】) │
│ 方式B:手动逐章编写 │
└───────────────────────────────────────────────────────────┘
详见 references/formatting.md。
核心格式要点:
| 层级 | 体系一(默认) | 体系二 | 体系三(政府) | 体系四(工程) |
|---|---|---|---|---|
| ------ | -------------- | -------- | -------------- | -------------- |
| H1 | 1 | 1 | 一 | 第一章 |
| H2 | 1.1 | 1.1 | (一) | 第一节 |
| H3 | 1.1.1 | 1.1.1 | 1 | 一、 |
| H4 | 1.1.1.1 | (1) | (1) | (一) |
| H5 | 1.1.1.1.1 | ① | ① | 1. |
python scripts/parse_bidding_docx.py 招标文件.docx --output config.json
输出包含:章节结构、检测到的编号体系、页面设置、字体信息。
# 方式一:使用配置文件
NODE_PATH=$(npm root -g) node scripts/generate_bid_template.js --config config.json --out 投标文件.docx
# 方式二:直接在 JS 中调用
# const { generateBidDocument } = require('./scripts/generate_bid_template.js');
# const buf = await generateBidDocument({ numbering: 'scheme1', ... });
python scripts/fix_xml.py 投标文件.docx
const { generateBidDocument } = require('./scripts/generate_bid_template.js');
const config = {
numbering: 'scheme1', // 编号体系
project: {
name: '【项目名称】',
bidder: '【投标人名称】',
address: '【投标人地址】',
tenderer: '【招标人名称】',
agentNo: '【代理编号】',
customNo: '【项目编号(按招标文件格式)】',
date: '20XX年X月',
copyMark: '【正本】'
},
fonts: {
body: { name: 'SimSun', size: 24, bold: false },
h1: { name: 'SimSun', size: 36, bold: true },
h2: { name: 'SimSun', size: 32, bold: true },
h3: { name: 'SimSun', size: 30, bold: true },
h4: { name: 'SimSun', size: 28, bold: true },
h5: { name: 'SimSun', size: 24, bold: true },
},
// 可从 parse_bidding_docx.py 输出直接获取
chapters: [
{ level: 1, title: '投标函' },
{ level: 1, title: '法定代表人身份证明' },
{ level: 1, title: '技术方案' },
{ level: 2, title: '项目理解' },
{ level: 3, title: '业务需求分析' },
{ level: 3, title: '技术需求分析' },
]
};
const buf = await generateBidDocument(config);
require('fs').writeFileSync('投标文件.docx', buf);
共 1 个版本