# 标书管理系统(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,针对中文优化) - 解析结果结构化存储,供后续 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 模块运行必须) ### 启动步骤 ```bash # 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。