🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

longsky21/dsh-bidding

DeepSeek Harnessspec-screened扫描:无法判定在 GitHub 查看 ↗
需源码安装

行业无关的投标文件制作工作台:读招标文件 → 对齐评分标准 → 逐章生成 → 废标自查 → 导出可编辑 WordLLM…

暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/18 · 已提供中文文档

行业无关的投标文件制作工作台:读招标文件 → 对齐评分标准 → 逐章生成 → 废标自查 → 导出可编辑 Word(LLM agent + 人在环)

综合分
30.5
GitHub 分
30.5
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add longsky21/dsh-bidding
仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 7 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-bidding(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

仓库缺少 package.json,无法用 dsh 插件安装命令安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 04:02:57

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
招标工作台 · Bidding Assistant

一个行业无关的投标文件制作工作台:把「读招标文件 → 对齐评分标准 → 逐章生成 → 废标自查 → 导出可编辑 Word」
串成一条可复核的流水线,让 AI 写标书这件事可审计、可回滚、不瞎编。

不绑定任何行业:知识库与术语规范由使用者自建——银行、制造、医疗、政企、工程、软件服务……只要能整理出
招标要求与自家素材,就能用同一套流程。(仓库自带的示例项目是"某银行金融科技系统建设",仅作演示。)

License: MIT
Python
Node
Host: DeepSeek Harness
PRs Welcome

Bidding Assistant 是一个行业无关的工作台,用于借助 LLM 智能体制作招标/投标文件。
它解析招标邀请书,将评分标准映射到章节,在人工参与下逐章起草,运行确定性的提交前检查,并导出可编辑的 Word 文档——同时保持
仅限人工填写的字段(价格、人员)留空,并拒绝编造事实。

逐章生成

目录

- 它解决什么问题
- 截图
- 核心能力
- 工作流
- 快速开始
- 试一试:内置演示项目
- 适配你自己的行业
- Skills 与提示词资产(可脱离 DSH 使用)
- 目录结构
- 工具清单
- 它是怎么做到「不瞎编」的
- 质量红线与合规声明
- 路线图
- 排障记录
- 贡献
- 许可

它解决什么问题

做过投标的人大概都经历过这些:

| 痛点 | 现状 | 本项目的做法 |
|---|---|---|
| 招标文件太厚 | 200+ 页,评分表、技术规范、废标条款散在各处 | 结构化解析(表格 + 正文全文),抽出评分项、需求矩阵、废标条款、递交截止时间 |
| 写了不看评分 | 几十万字,评分项对不上,白写 | 评分项 → 章节映射 + 评分覆盖表,缺哪一项一屏可见 |
| 重复劳动 | 每份标书 80% 内容与上一份相似 | 历史标书按章节索引,双通道复用(叙述走 Markdown 改写;复杂表格/截图走 OOXML 原样搬运) |
| 一致性事故 | 复制来的段落里残留别家客户名 | 机构名一致性校验 + 替换规则(他方客户名一律改「某机构」,绝不改成当前采购人) |
| 废标级疏漏 | 资格材料缺失、响应表没逐条应答、报价超预算 | 22 项程序化检查,区分「不通过 / 待人工 / 未实现」,导出前设一道门禁 |
| 格式地狱 | Markdown 表格、流程图、代码块进 Word 就散了 | 导出器保留合并单元格语义;ASCII 图自动重排成 Word 表格;图片自动嵌入并生成图注 |

它不做什么(诚实声明):不是「一键生成中标标书」。报价、拟投入人员、资质原件、签署日期这些
只能人工确认的内容,它一律留 【待填】 并在章末列出待补清单——填不完就不允许导出正式稿。

截图

| 逐章生成(章节清单 + 生成任务 + 未采用草稿) | 投标检查(22 项,区分不通过 / 待人工) |
|---|---|
| 逐章生成 | 投标检查 |

| 文档输出(章节勾选、文件名分段、导出门禁) |
|---|
| 文档输出 |

截图为内置演示项目(合成数据,项目名"某银行金融科技系统建设"),不含任何真实客户信息。

核心能力

- 招标文件结构化解析:.docx / .doc / .rtf → JSON(表格全保留 + 正文全文 + 缺件信号)
- 评分覆盖与缺口分析:评分项 / 招标要求 ×(参考标书 + 知识库)确定性对比,产出缺口清单
- 逐章生成(人在环):子 agent 只允许写 output/章节/.draft/,人工点「采用」才替换正式章(旧章自动备份)
- 双通道图文复用:叙述内容走 Markdown 改写;含复杂表格/截图的整节走 OOXML 片段原样插入(图片关系重映射)
- 表单类章节填充:投标函、开标一览表、偏离表、人员表、保证金、资格证明……能填的填实
(主体信息、证书编号、保证金金额与账户、正副本份数),报价与人签项一律留空
- 交付前清理:剥离内部注记与本地路径、图片按需压缩、ASCII 图重排、文件名规范化
- 检查与门禁:22 项检查(响应表逐条、限价、机构名、占位符、图示、格式…),导出前给出可执行清单
- 技术标 / 商务标可分可合:生成时可按册批量跑(只跑技术标或只跑商务标),导出时可选择整本合成一个文件、只导其中一册,或分册各出一个 docx(技术标/商务标分开装订的场合)
- 可回滚:所有替换都留 .bak-;批量生成脚本脱离服务进程运行,跨重启存活

工作流

flowchart LR
A[招标文件.doc/.docx/.rtf] --> B[结构化解析表格+正文全文]
B --> C{采购方式}
C -->|公开招标| D[评分项 → 目录映射评分覆盖表]
C -->|单一来源| E[技术深度 +唯一性论证]
D --> F[逐章生成草稿 → 人工采用]
E --> F
G[历史标书章节索引] --> F
H[自建知识库 kb/资质·业绩·财务·人员·方案] --> F
I[本地知识库检索] --> F
F --> J[22 项投标检查+ 一致性校验]
J --> K{导出门禁}
K -->|通过| L[可编辑 Word封面·目录·图表]
K -->|未过| F
L --> M[人工补齐报价人员·签署·盖章]
M --> N[递交]

快速开始

环境要求

| 依赖 | 版本 | 用途 |
|---|---|---|
| Python | 3.9+ | 解析 / 校验 / 导出脚本(python-docx;可选 Pillow 做图片压缩) |
| Node.js | 20+ | 工作台插件(client 半区)+ 逐章生成驱动 |
| DeepSeek Harness (DSH) | 0.1.0-rc+ | 工作台宿主与子 agent 运行时(内部部署;没有 DSH 也能用「方式 B」纯脚本) |
| 本地知识库(可选) | — | 复用历史标书表述;任何支持问答式检索的本地库均可 |

git clone https://github.com/longsky21/dsh-bidding.git
cd dsh-bidding
pip install python-docx pillow

方式 A:装成 DSH 工作台(推荐)

1) 把插件装到 DSH profile(DSH 只从 profile 目录加载 client 插件)
bash tools/sync-plugin.sh push

2) 在 ~/.dsh/profiles/web/cordis.patch.yml 末尾追加(插件注册)
cat >> ~/.dsh/profiles/web/cordis.patch.yml  bash tools/sync-plugin.sh check|push|pull 三个方向分别是:比对、仓库→profile(部署)、profile→仓库(收拢改动)。
改 host 半区(index.js/checks.js/export-plan.js 等)需重启 DSH Web;只改 client 半区刷新浏览器即可。

方式 B:只用命令行脚本

不需要 DSH 也能用(解析、校验、导出、缺口分析都是纯 Python):
bash
招标文件 → 结构化 JSON
python3 scripts/parse_tender.py input/招标文件.docx output/项目-结构化.json

招标要求 × 参考标书/知识库 → 响应缺口
python3 scripts/coverage_gap.py projects/我的项目

机构名一致性校验(历史标书的他方客户名残留会让标书"串门")
python3 scripts/check_consistency.py projects/我的项目/output/章节/*.md \
--meta projects/我的项目/output/项目-结构化.json

功能/技术响应表逐条核对(漏项/多项/空结论)
python3 scripts/check_response_table.py \
--meta output/项目-结构化.json --chapter output/章节/03-系统功能模块及逐项响应.md

合并导出可编辑 Word(封面 + 目录 + 分部分 + 图表)
python3 scripts/export_bid.py --manifest manifest.json --out output/投标文件.docx \
--project-root projects/我的项目

技术标 / 商务标分开,或合成一本

招标实务里两册经常分开装订、分开密封,有时只投其中一册。本项目两个环节都支持:

① 生成:章节页签有两个批量入口,互不影响(串行队列,一章完成再起下一章)

| 入口 | 覆盖章节 | 典型内容 |
|---|---|---|
| ⚡ 批量生成技术标 | 01~12 | 项目理解、平台架构、功能逐项响应、项目管理、实施计划、验收、售后、培训 |
| ⚡ 批量生成商务标 | 13~25 | 投标函、开标一览表、报价明细、偏离表、人员表、资格证明、保证金 |

命令行同理(tools/gen-chapters.mjs):
bash
node tools/gen-chapters.mjs --root projects/我的项目 --from 01 --to 12   # 只跑技术标
node tools/gen-chapters.mjs --root projects/我的项目 --nos 13,14,15      # 只跑指定商务标章节

② 导出:文档输出页签的「导出范围」四选一

| 范围 | 结果 |
|---|---|
| 整本 | 技术标 + 商务标合成一个 docx(默认) |
| 只导技术标册 | 仅技术标章节,一个文件 |
| 只导商务标册 | 仅商务标章节,一个文件 |
| 分册导出 | 技术标、商务标各一个 docx(文件名自动带 -技术标 / -商务标) |
按册归类由结构表决定:技术标册 = technical + service 部分;商务标册 = bid_letter + qualification + commercial 部分。
某一册还没有章节时,导出会明确提示(而不是把整本塞给你),分册导出则跳过空册并说明。

试一试:内置演示项目

examples/demo-project/ 是一份合成数据的完整项目(6 章 + 评分覆盖 + 缺口报告 + 示例导出件),
复制到工作区即可看到与截图一致的界面:
bash
cp -r examples/demo-project projects/演示项目-某银行金融科技系统建设

适配你自己的行业

这个工具本身不含任何行业内容——行业知识全部来自你自建的资料。三处入口:

1. 结构化知识库 kb/(Obsidian 风格目录,规范见 docs/kb-spec.md):按模块放资质、业绩、财务、人员、方案、模板;
条目的 frontmatter 会被程序读取,用于组装商务标与检索。
2. 历史标书:放进项目的 input/参考/,extract_reference.py 会切分章节、抽出他方客户名与图片,
供逐章复用;复用规则(谁该被替换、谁不能替换)写在提示词里。
3. 提示词与术语口径:prompts/ 下是解析规范与系统提示词模板;把你所在行业的固定术语表
(同一概念只允许一种写法)填进去,一致性检查就会按它执行。

示例只演示结构与流程;换成你的行业资料后,工作台的章节结构、评分覆盖、检查项都随之变化。

公司级配置

代码里不含任何公司信息——公司名、简称、子公司、历史标书里的他方客户名、检索用知识库 ID、
行业术语表,全部放在工作区根的 config/company.json(默认被 .gitignore 忽略,不进仓库):
bash
cp config/company.example.json config/company.json   # 然后按你的公司填写

| 键 | 用途 | 可选环境变量覆盖 |
|---|---|---|
| 公司全称 / 公司简称 | 封面「投标人」自动填写;一致性校验时视为自有主体(不算他方名残留) | DSH_BID_BIDDER |
| 关联单位 | 投标函/资格声明里要据实填报的子公司、关联企业 | — |
| 已知他方名 | 历史标书里出现过的别家客户名 → 复用这些表述时判为"必须替换"的高置信残留 | — |
| 自有知识库ID | 逐章生成时检索用的知识库 | DSH_BID_KB_ID |
| 术语表 | 每章提示词里的"术语统一"红线(同一概念只允许一种写法) | — |

没有配置文件也能跑:封面投标人会退回读 kb/ 里的公司条目,术语红线退化为通用表述。

Skills 与提示词资产(可脱离 DSH 使用)

这个仓库里"怎么写标书"的知识是独立的 Markdown 资产,不依赖 DeepSeek Harness,也不绑定任何 agent 框架——
换成 Claude Code / Cursor / Cline / 自建 agent,或干脆全人工,都能直接用:

| 资产 | 位置 | 作用 |
|---|---|---|
| tender-workflow(投标文件制作全流程) | skills/tender-workflow/SKILL.md | 七步工作流 + 命令速查 + 解析契约 + 质量红线 + 技术标/商务标分册与合并导出约定 |
| 章节生成指令模板 | prompts/章节生成指令-模板.md | 给"一章"用的完整提示词模板(六块结构:定位 / 依据 / 评分点 / 响应清单 / 红线 / 执行约束) |
| Agent 系统提示词 | prompts/system-prompt.md | 投标助手的人设与职责(公司信息、知识库 ID 均为占位符) |
| 招标文件解析规范 | prompts/招标文件解析规范.md | 结构化抽取契约(字段清单 + 抽取规则 + 输出模板) |
| 资产说明与三种用法 | skills/README.md | 有 agent 框架 / 只有通用对话框 / 全人工,三种场景怎么落地 |

三种用法

1. 有 agent 框架:把 skills/tender-workflow/SKILL.md 放进框架的 skills 目录(或 Rules / system prompt 指向它),
逐章写稿时把 prompts/章节生成指令-模板.md 里的 {{...}} 换成项目实际值贴进去;
2. 只有通用大模型对话框:把 SKILL.md 与章节模板作为上下文贴入,按七步推进;解析、校验、导出仍在本地跑脚本(无需联网);
3. 全人工:用 SKILL.md 第 1 节的七步当检查表、第 5 节的质量红线做交付前自查,解析与校验用 scripts/ 下的脚本。

工作流里"够不够响应评分点""这句是不是别家客户"这类判断留给人确认,所以它们写成给 agent 看的说明而非硬编码逻辑——
这也是本仓库只提供「确定性脚本 + 提示词资产 + 可选工作台」三层结构的原因。

目录结构
text
dsh-bidding/
├── scripts/                 # 工具链(纯 Python,可单独使用)
├── tools/
│   ├── dsh-bidding-workbench/   # DSH 工作台插件(host + client 半区,可版本控制的副本)
│   ├── sync-plugin.sh           # 插件同步(check / push / pull)
│   ├── restart-dsh-web.sh       # 重启 DSH Web 并校验插件版本
│   └── gen-chapters.mjs         # 逐章生成驱动(脱离服务进程,跨重启存活)
├── config/company.example.json  # 公司级配置示例(本地复制为 company.json,不入库)
├── skills/                  # 可移植 skill(tender-workflow)+ 资产说明
├── prompts/                 # 解析规范、系统提示词、章节指令模板
├── templates/               # docx 输出骨架、结构表、评分表示例
├── examples/demo-project/   # 匿名演示项目(试用 / 截图用)
├── docs/kb-spec.md          # 结构化知识库规范(行业无关模板)
├── docs/troubleshooting.md  # 排障记录(部署/重启/导出/门禁/网络,均为真实踩坑)
├── docs/images/             # 界面截图
├── kb/                      # 结构化知识库(含隐私,默认 .gitignore)
├── projects//        # 单个投标项目的输入与产物(含客户资料,默认 .gitignore)
└── raw/                     # 通用资料 drop zone(默认 .gitignore)

隐私设计:projects/(招标文件与产物)、kb/(证件号、扫描件)、raw/ 全部在 .gitignore 中
——本仓库开源的是工具,不是你的标书。

工具清单

| 脚本 | 作用 |
|---|---|
| parse_tender.py | 招标文件 → 结构化 JSON(表格 + 正文全文) |
| parse_tender_set.py | 多份招标材料合并解析(主文件 + 技术规范书等) |
| analyze_tender_note.py | 文字版招标说明 → 结构化 JSON + 解析清单 |
| coverage_gap.py | 招标要求 × 参考标书/知识库的确定性覆盖比对 → 缺口清单 |
| check_consistency.py | 机构名一致性校验(退出码 1 = 有残留) |
| check_response_table.py | 响应表逐条核对(漏项/多项/空结论/非「响应」结论) |
| export_bid.py | 多章节合并导出整本投标文件 .docx(封面/目录/分部分) |
| md_to_docx.py | 单文件 Markdown → docx |
| flow_blocks.py | ASCII 架构图 → Word 表格;箭头流程 → 方框 + 箭头 |
| internal_notes.py | 交付稿剥离内部注记与本地路径 |
| image_prep.py | 大扫描件按需降采样/重编码(成品体积可控) |
| list_placeholders.py | 【待填】 汇总成"按责任方分工"的清单 |
| extract_reference.py | 历史标书 → 章节切分 + 他方客户名清单 |
| reuse_fragments.py | OOXML 片段复用(高保真搬运参考标书整节) |
| score_map.py | 评分项 → 章节映射与评分覆盖表 |
| build_outline.py | 章节文件 → output/大纲.json |
| import_contracts.py | 合同台账 Excel → 业绩索引(筛案例用) |
| find_cases.py | 按条件筛历史案例 |
| docx_to_knowledge.py | 公司材料 docx → 文字 + 图片中间产物(供知识库沉淀) |
| make_demo_project.py | 生成匿名演示项目 |
| company_config.py | 读公司配置(config/company.json;与插件侧 company-config.js 同源) |
| tools/gen-chapters.mjs | 逐章生成驱动(串行、跨重启、自动跑一致性校验) |
| tools/sync-plugin.sh | 工作台插件同步(check/push/pull) |

它是怎么做到「不瞎编」的

AI 写标书最大的风险不是写不好,而是写得像真的。本项目的对策是工程约束,不是提示词祈祷:

1. 草稿制:生成只写 output/章节/.draft/NN-名.md,正式章必须人工点「采用」才替换(旧章自动备份)。
2. 事实白名单:资质/业绩/财务/人员只能来自你的知识库与合同台账;台账之外的信息必须先补录才能用。
3. 未知即标注:拿不到的写 【待填】 并在章末列待补清单,而不是编一个看起来合理的数字。
4. 报价零参与:所有金额单元格由人工填写,导出器与提示词双重禁止模型定价;只引用招标文件公布的预算/保证金做红线检查。
5. 替换规则防串门:历史标书里别家客户名一律改写为「某机构」或删除,禁止替换成当前采购人
(那会把别人家的业绩写成本项目的既成事实)。
6. 交付前清理:内部注记("本章对应评分表…")、本地路径(kb/…、output/…)在导出时剥离并报告。
7. 一切可回滚:每次覆盖都有备份;批量生成把状态写进 .draft/_batch-status.json。

质量红线与合规声明

- 不编造资质、业绩、合同额、人员、数字与法规条文;知识库里没有的明说需要补充。
- 术语口径统一:同一概念全篇只用一种写法(术语表由你在提示词中定义)。
- 数据不出内网:解析、校验、生成、检索均可完全本地运行;联网检索仅用于公开法规等通用信息。
- 最终决策在人:报价、人员配置、资质原件、签署盖章由人确认,工具不替代投标决策与法律责任。
- 使用者应自行确保对招标文件、历史标书等材料拥有合法使用权。

路线图

- [x] 招标文件结构化解析 + 评分覆盖 + 缺口分析
- [x] 工作台插件(项目状态 / 逐章生成 / 投标检查 / 文档输出)
- [x] 双通道图文复用(Markdown 叙述 + OOXML 高保真片段)
- [x] 22 项投标检查 + 导出门禁 + 占位符分工清单
- [x] ASCII 图示重排、内部注记清理、图片交付压缩
- [ ] 图片/表格全局编号与交叉引用(图 3-1、表 3-2)
- [ ] 锁定交付稿 + 受控回灌(人工在 docx 里改过的内容安全回流到 md)
- [ ] 行业模板示例(工程、政企、软件服务)
- [ ] 英文文档

版本

当前 v1.0.0(首个公开版本)。变更记录见 CHANGELOG.md。

贡献

欢迎 Issue 与 PR。请遵守两条底线:不提交任何真实客户材料(projects/、kb/、raw/ 已在 .gitignore 中),
不为“看起来更聪明”而放宽不编造约束。

许可

MIT © 2026 longsky21

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群