Add project overview and repository documentation for client-motong. Co-authored-by: Cursor <cursoragent@cursor.com>
标书管理系统(Bid Management System)
定位:面向企业投标业务的全流程智能管理平台,覆盖从招标文件导入、AI 需求分析、标书生成与审核,到最终提交投标的完整链路。所有环节在同一平台内流转,无需切换工具。
目录
项目背景
传统投标流程高度依赖人工,存在以下痛点:
- 招标文件格式多样(PDF / Word / 扫描件),人工阅读耗时且易遗漏关键要求
- 标书撰写重复劳动多,不同项目间内容复用困难
- 各省投标平台操作差异大,人工填报效率低、出错率高
- 项目进度、文件版本、审核意见分散在多个工具中,协作成本高
本系统目标:通过 AI + 流程自动化,将投标团队从重复性事务中解放出来,专注于核心策略与差异化竞争。
系统全景
整个投标业务流程在平台内完整闭环,分为以下阶段:
[手工下载招标文件]
↓
[上传 & 解析] 文件导入平台 → 自动解压 → 结构化解析(PDF/Word/OCR)
↓
[AI 需求分析] 提取资质要求、技术规格、评分标准、报价限制、截止时间
↓
[标书生成] 基于模板 + RAG 知识库 + 大模型,自动生成标书初稿
↓
[人工审核] 在平台内在线编辑、批注、版本管理,审核通过后归档
↓
[信息 & 文件提取] 从定稿标书中提取投标所需的结构化数据与附件清单
↓
[自动投标] RPA 驱动省级投标桌面软件,自动填报信息、附加文件、提交
↓
[流程结束 / 存档]
说明:招标文件下载为手工操作,由投标人员从各省招投标平台自行下载后上传至本系统,系统不介入下载环节。
核心功能模块
1. 标书管理(Bid Project)
- 投标项目的全生命周期管理(创建、进行中、已提交、已归档)
- 项目基本信息录入:项目名称、招标单位、截止时间、所属省份、预算区间
- 文件版本管理:标书草稿多版本保存与对比
- 项目状态看板:直观展示各项目当前所处阶段
2. 文件处理(Document Processing)
- 支持手工上传招标文件(ZIP 压缩包 / PDF / Word)
- 自动解压,识别文件类型并分类存储
- 文档解析引擎:
- 文本型 PDF →
pdfplumber - Word 文档 →
mammoth / python-docx - 扫描件 → OCR(PaddleOCR,针对中文优化)
- 文本型 PDF →
- 解析结果结构化存储,供后续 AI 分析调用
3. AI 需求分析(AI Analysis)
- 调用大模型(Claude / GPT / DeepSeek,可在 API 配置中切换)对解析内容进行理解
- 自动提取并结构化以下关键信息:
- 资质要求(营业执照类型、ISO 认证、业绩门槛等)
- 技术规格与参数要求
- 评分标准及各项权重
- 报价格式与最高限价
- 提交方式与截止时间
- 合规预检:对比企业已有资质,自动标记缺失项并发出预警
4. RAG 知识库(Knowledge Base)
- 存储历史中标标书、行业模板、企业资质文件、常用话术
- 支持文件上传入库(PDF / Word),自动向量化索引
- 标书生成时自动检索相关内容作为参考上下文,提升生成质量
- 支持知识库分类管理(按行业、地区、项目类型)
- 支持手动维护:增、删、更新文档
5. 标书生成(Bid Writing)
- 基于预设模板(Word / Markdown)+ RAG 检索内容 + 大模型生成标书初稿
- 模板管理:按行业和省份维护模板库,支持上传自定义模板
- 在线富文本编辑器(Tiptap):直接在平台内对生成内容进行修改、批注
- AI 质检:生成后自动检查需求覆盖率、格式合规性,给出评分与改进建议
- 支持导出为 Word / PDF 格式
6. 人工审核(Review)
- 审核工作流:起草 → 内审 → 终审 → 定稿
- 支持多人协作审核,批注与修改意见绑定到具体段落
- 审核历史可追溯,所有版本均可回溯
- 审核通过后锁定定稿版本,触发后续流程
7. 自动投标 / RPA(Auto Submit)
- 维护省份与投标桌面软件的映射配置(各省软件版本、下载地址)
- 从定稿标书中提取结构化数据(公司信息、报价、技术响应等)
- 通过 RPA(
pywinauto/uiautomation)驱动省级桌面投标软件,自动完成:- 信息填报
- 附件上传
- CA 证书 / U 盾签章
- 任务执行状态实时回显,支持截图存档
- 异常自动报警,触发人工介入流程
8. API 配置(API Config)
- 在平台内统一管理所有外部 AI 服务的接入配置
- 支持配置项:
- 大模型供应商(Claude / OpenAI / DeepSeek / 本地模型)
- API Key、Base URL、模型版本、最大 Token 数
- 各模块使用哪个模型(分析模块 / 生成模块可分别配置)
- 配置加密存储,仅管理员可见
9. 权限管理(Permission)
- 基于 RBAC + ABAC(Casbin) 的细粒度权限控制
- 内置角色:
- 超级管理员:全部权限
- 项目经理:项目管理、审核审批、查看报表
- 标书撰写员:文件上传、标书编辑、提交审核
- 只读审查:仅查看,不可修改
- 支持按组织架构(部门)隔离项目数据
- 操作日志全量记录,满足合规审计需求
技术架构
总体架构
┌─────────────────────────────────────────────┐
│ 前端(apps/admin) │
│ Vite 5 + React 19 + Ant Design Pro │
│ Tiptap 编辑器 / AntV Charts 数据可视化 │
└────────────────────┬────────────────────────┘
│ REST API / WebSocket
┌────────────────────▼────────────────────────┐
│ 后端(apps/api) │
│ NestJS 10 + Prisma 6 + Casbin │
│ BullMQ 异步队列 + Redis 缓存 │
│ 阿里云 OSS 文件存储 + JWT 鉴权 │
└──────────┬──────────────────┬───────────────┘
│ │
┌──────────▼──────┐ ┌────────▼───────────────┐
│ MySQL 8 │ │ Python 微服务 │
│ 业务数据 │ │ FastAPI │
│ ChromaDB │ │ 文档解析(OCR/PDF/Word) │
│ 向量索引 │ │ RPA 自动投标引擎 │
└─────────────────┘ └────────────────────────┘
技术栈一览
| 层次 | 技术 |
|---|---|
| 前端框架 | Vite 5、React 19、Ant Design Pro |
| 富文本编辑 | Tiptap |
| 数据可视化 | AntV Charts、Recharts |
| 后端框架 | NestJS 10+ |
| ORM | Prisma 6 |
| 数据库 | MySQL 8 |
| 缓存 / 队列 | Redis 7 + BullMQ |
| 权限引擎 | Casbin(RBAC + ABAC) |
| 向量数据库 | ChromaDB |
| 文件存储 | 阿里云 OSS |
| AI 接入 | Claude API / OpenAI / DeepSeek |
| 文档解析 | pdfplumber、PaddleOCR、mammoth |
| RPA 引擎 | pywinauto、uiautomation(Windows) |
| Python 服务 | FastAPI |
| 认证 | JWT + Passport |
| 包管理 | pnpm workspace |
| 容器化 | Docker + Docker Compose |
仓库结构
本项目采用多仓库组织,位于 client-motong 组织下:
| 仓库 | 说明 |
|---|---|
all-commons |
通用公共库(本仓库):文档、共享规范、通用工具 |
bid-management |
标书管理系统主仓库,包含前端、后端及各业务模块 |
bid-management 内部结构
bid-management/
├── apps/
│ ├── admin/ # 前端(React 19 + Ant Design Pro)
│ └── api/ # 后端(NestJS + Prisma)
├── modules/
│ ├── bid-project/ # 投标项目管理
│ ├── bid-document/ # 文件处理模块
│ ├── bid-analysis/ # AI 需求分析
│ ├── bid-writing/ # 标书生成与审核
│ ├── bid-knowledge/ # RAG 知识库管理
│ └── bid-submit/ # 自动投标(RPA 任务)
├── packages/
│ ├── shared/ # 共享类型、常量、工具
│ ├── module-sdk/ # 业务模块开发 SDK
│ └── ui/ # 共享 UI 组件
├── services/
│ └── python-worker/ # Python 微服务(OCR + RPA)
├── docker/ # Docker 配置
├── docs/ # 详细技术文档
└── scripts/ # 脚手架与运维脚本
快速开始
环境要求
- Node.js >= 20
- pnpm >= 9
- Docker & Docker Compose
- Python >= 3.11(仅 python-worker 需要)
- Windows 环境(RPA 模块运行必须)
启动步骤
# 1. 克隆主仓库
git clone https://git.jc2009.com/client-motong/bid-management.git
cd bid-management
# 2. 安装依赖
pnpm install
# 3. 启动基础设施(MySQL + Redis)
docker compose -f docker/docker-compose.dev.yml up -d
# 4. 配置环境变量
cp .env.example .env
# 编辑 .env,填写数据库连接、OSS 配置、AI API Key 等
# 5. 初始化数据库
pnpm db:migrate
pnpm db:seed
# 6. 启动开发服务
pnpm dev
启动后访问:
- 前端管理后台:
http://localhost:5173 - 后端 API:
http://localhost:3000 - API 文档(Swagger):
http://localhost:3000/docs
开发规范
- 新增业务模块请使用脚手架:
pnpm module:create - 代码风格遵循
.eslintrc.js和.prettierrc配置 - 提交信息遵循 Conventional Commits 规范(
feat:/fix:/chore:等) - 所有 PR 须经过 Code Review 后合并到
main - 数据库变更必须通过 Prisma Migration,不允许直接修改表结构
- 详见
docs/DEVELOPMENT.md
部署说明
- 前后端:Docker 容器化部署,支持 Linux 服务器
- RPA 模块(python-worker):必须运行在 Windows 环境,用于驱动省级投标桌面软件
- 生产环境配置详见
docker/docker-compose.prod.yml - 详细部署流程见
docs/DEPLOYMENT.md
团队与角色
| 角色 | 职责 |
|---|---|
| 产品 / 项目经理 | 需求管理、进度跟踪、客户沟通 |
| 前端开发 | apps/admin 及各模块前端页面 |
| 后端开发 | apps/api、业务模块、队列任务 |
| Python 开发 | 文档解析引擎、RPA 自动投标引擎 |
| 测试 | 功能测试、RPA 流程回归测试 |
| 运维 | 部署、监控、备份 |
路线图
阶段一(MVP)
- 项目管理基础功能
- 文件上传与解析(PDF / Word / OCR)
- AI 需求提取与结构化展示
- 标书初稿生成(模板 + 大模型)
- 在线审核与导出
阶段二(自动化)
- RAG 知识库建设与检索优化
- 标书质量评分与自动改进建议
- API 配置中心(多模型切换)
- RPA 自动投标(覆盖主要省份)
阶段三(智能化)
- 基于历史中标数据的报价策略建议
- 多项目并行管理与资源调度
- 移动端审核通知
- 数据统计与投标胜率分析
如有疑问,请联系项目负责人或在对应仓库提交 Issue。
Description