# procurement-evaluator **Repository Path**: sangjiacun_admin/procurement-evaluator ## Basic Information - **Project Name**: procurement-evaluator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-16 - **Last Updated**: 2026-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 采购组织形式评估系统 轻量级采购组织形式评估工具,面向政府/企事业单位采购人员,输入自然语言采购需求即可自动评估推荐采购组织形式、研判依据和详细采购流程。 --- ## 功能特性 - **自然语言输入**:支持"采购X台,每台Y万元"等多种表述,自动解析物品名称与预算金额 - **智能纠错**:输入提交后自动进行智能纠错,显示对比差异,支持接受/忽略 - **五步评估法**:纯前端 TypeScript 实现,严格匹配 64 条采购规则,准确推荐采购组织形式 - **结果展示**:推荐组织形式、研判逻辑与依据、采购流程指引一目了然 - **历史记录**:本地 localStorage 存储,支持一键填充、单条删除、一键清空 - **Word 导出**:生成标准 `.docx` 评估报告,包含完整评估信息与采购流程 - **LLM 集成**:支持 OpenAI 兼容接口,用于自然语言解析与智能纠错 - **响应式设计**:适配桌面端与平板端 ## 技术栈 | 类别 | 技术 | |------|------| | 框架 | React 18 + TypeScript 5.x | | 构建 | Vite | | 样式 | Tailwind CSS v3 + PostCSS | | 图标 | Lucide React | | Word 导出 | docx.js | | 数据验证 | Zod | | LLM 调用 | OpenAI 兼容 API(流式 JSON) | ## 快速开始 ### 环境要求 - Node.js >= 18 - npm >= 9 ### 安装与运行 ```bash cd procurement-evaluator # 安装依赖 npm install # 配置环境变量 cp .env.example .env # 编辑 .env,填入实际的 LLM API 密钥和地址 # 启动开发服务器 npm run dev ``` 启动后访问浏览器提示的地址(默认 `http://localhost:5173`)即可使用。 ### 构建生产版本 ```bash npm run build npm run preview # 预览构建结果 ``` ## 环境变量配置 复制 `.env.example` 为 `.env`,按需修改: | 变量 | 说明 | 示例 | |------|------|------| | `VITE_LLM_API_KEY` | LLM API 密钥 | `sk-your-api-key` | | `VITE_LLM_BASE_URL` | API 基础 URL(OpenAI 兼容) | `https://api.openai.com/v1` | | `VITE_LLM_MODEL` | 模型名称 | `gpt-4o-mini` | | `VITE_LLM_TIMEOUT` | 请求超时(毫秒) | `30000` | | `VITE_LLM_TEMPERATURE` | 温度参数(0-1) | `0.1` | > **安全说明**:API 密钥仅存储在前端环境变量或浏览器 localStorage 中,不经过任何后端服务,请注意在可信环境中使用。 ## 项目结构 ``` procurement-evaluator/ ├── src/ │ ├── constants/ # 常量定义 │ │ ├── rules.ts # 64 条采购规则 │ │ ├── processes.ts # 采购流程映射 │ │ └── types.ts # 全局类型定义 │ ├── hooks/ # 自定义 Hooks │ │ ├── useEvaluate.ts # 评估逻辑 │ │ └── useHistory.ts # 历史记录管理 │ ├── utils/ # 工具函数 │ │ ├── parser.ts # 自然语言解析 │ │ ├── corrector.ts # 智能纠错 │ │ ├── exporter.ts # Word 文档导出 │ │ └── llm.ts # LLM 接口封装 │ ├── App.tsx # 主应用组件 │ ├── main.tsx # 入口文件 │ └── index.css # 全局样式 ├── docs/ # 文档与截图 ├── index.html ├── vite.config.ts ├── tailwind.config.js ├── tsconfig.json └── package.json ``` ## 评估算法说明 系统采用**五步评估法**: 1. **加载规则**:加载全部 64 条启用的采购规则常量 2. **触发词匹配**:双向模糊匹配(A 包含 B 或 B 包含 A),优先匹配触发词,回退匹配项目名称,记录最长命中词 3. **规则排序**:第一优先级为匹配词长度(降序),第二优先级为金额范围大小(升序) 4. **金额校验**:闭区间校验,取第一个预算落在范围内的规则(`maxAmount >= 999999999` 视为无上限) 5. **兜底规则**:无匹配时按预算金额分档: - `> 100 万元` → 分散采购 - `30 ~ 100 万元` → 大额自行采购 - `< 30 万元` → 小额自行采购 ## 采购组织形式 | 组织形式 | 适用场景 | |----------|----------| | 政府集采 | 台式计算机、便携式计算机、复印机等通用设备 | | 部门集采 | 服务器、无人机、智慧安防系统等专用设备 | | 分散采购 | 预算超限额的定制软件、中央空调等 | | 自行采购 | 低金额项目,流程相对简化 | | 适用《招投标法》 | 大型工程及相关货物、服务 | ## 部署 本项目为纯前端静态应用,可部署至任意静态托管服务: ```bash # 构建 npm run build # dist/ 目录部署至: # - Nginx / Apache # - Vercel / Netlify # - GitHub Pages # - 企业内网静态服务器 ``` 部署后确保 Web 服务器正确配置 MIME 类型,并将 `.env` 中的环境变量在构建时注入。 ## 浏览器兼容性 - Chrome >= 90 - Edge >= 90 - Firefox >= 90 - Safari >= 15 ## License 内部使用,请勿外传。