commit 6238aed83d86f20bfe2a6dfa5b05e83ade598d6f Author: chendelian <116870791@qq.com> Date: Wed Jun 3 09:35:25 2026 +0800 chore: initial release v0.1.0 Add project overview and repository documentation for client-motong. Co-authored-by: Cursor diff --git a/README.md b/README.md new file mode 100644 index 0000000..e1fb0af --- /dev/null +++ b/README.md @@ -0,0 +1,331 @@ +# 标书管理系统(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。 \ No newline at end of file