# Simple_PM **Repository Path**: tinymal/simple_-pm ## Basic Information - **Project Name**: Simple_PM - **Description**: 用于人形机器人产品定义的智能体软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-09 - **Last Updated**: 2026-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 狗王机器人产品经理(Simple PM) AI 驱动的机器人产品全生命周期管理平台。支持多种机器人类型与组件模组的产品建模、需求结构化定义、AI 需求收集与分析、产品竞标对战、3D 产品矩阵可视化以及文档导出,帮助产品团队高效管理从需求到竞标的全流程。 --- ## 功能特性 ### 产品管理 - **产品建模** - 支持人形机器人、四足机器人、轮式机器人、机械臂、无人机等多种类型 - 支持「组件/模组」类型及子类型扩展(传感器、执行器、控制器等) - 主产品、分支产品、组件引用关系管理 - 产品图标和媒体附件管理 - **需求定义** - 按子系统、分类结构化组织需求 - 需求字段:描述、指标、配置类型、优先级、软硬件需求、交付物、负责人等 - 支持引用组件产品并下挂到子系统 - 支持继承父产品需求 - AI 需求补全与建议 - **版本管理** - 保存需求快照版本 - 版本对比(新增/删除/修改) - 版本恢复 - 版本思维导图 ### AI 需求收集板 - **智能需求提取** - 上传标书/文档/图片,AI 自动拆解为结构化需求 - 支持多种素材类型:URL 链接、文本内容、图片、文件附件 - 防重复分析:自动检测并跳过已处理内容 - **需求审批流程** - 提取需求后支持审批/驳回/撤回操作 - 需求状态流转:待审批 → 已审批/已驳回 - 审批通过的需求可关联到目标产品 - **场景标签管理** - 为分析板添加应用场景标签 - 场景与产品矩阵联动,在 3D 可视化中展示 ### 产品竞标 - **项目制管理** - 每个竞标是独立项目,支持草稿 → 已分析 → 已竞标状态流转 - 上传标书文件(.docx、PDF、图片等) - AI 智能拆解需求到最小可验证单元 - **竞标对战** - 选择目标产品进行竞标匹配 - 战斗动画 + 逐条匹配进度展示 - 双模式分析:文本匹配(快速)+ AI 精准分析(语义级) - **覆盖度报告** - 技术覆盖率统计 - 必须项/可选项分类评估 - AI 匹配理由和改进建议 - 标书原文文件下载(保留原始上传文件) - 结果导出 HTML 报告 ### 3D 产品矩阵 - **力导向图可视化** - 3D 力导向图展示产品族谱和关系网络 - 父子/分支关系(蓝色连线) - 组件引用关系(橙色箭头连线) - 场景覆盖关系(绿色连线) - 需求匹配度关系(白色半透明连线,粗细反映匹配度) - **AI 匹配分析** - LLM 驱动的需求匹配度计算 - 分析板到产品的覆盖度连线 - 逐条需求匹配详情和 AI 理由 - 组件类产品自动排除 - **交互功能** - 支持旋转、缩放、节点拖拽 - 节点聚焦和信息面板 - 竞争力分析面板 - 节点位置持久化 ### 覆盖度矩阵 - **需求-产品覆盖分析** - 按分析板和子系统分组展示 - 覆盖状态:已覆盖 / 部分覆盖 / 缺失 - AI 覆盖度分析按钮,LLM 逐条匹配 - AI 匹配理由和改进建议展示 - 支持折叠/展开各分组 ### 文档导出 - 导出 Excel(.xlsx) - 导出 HTML(内嵌彩页图片,完整转义) ### 数据管理 - 库备份(.zip,包含竞标数据) - 库恢复(自动恢复竞标项目) - Excel 导入 - **数据库版本管理** - 通过 Gitee Release 实现云端数据库版本控制 - 上传当前数据库到 Gitee(自动打包 ZIP 并创建 Release) - 从 Gitee 下载指定版本数据库(全量替换 / 增量同步) - 同步预览:对比本地与远程差异(新增 / 冲突 / 仅本地) - 冲突解决:逐项选择保留本地 / 采用远程 / 两者保留 - 导出数据库到本地备份 - 本地变更历史记录 ### 游戏化系统 - XP 经验值和等级系统 - 成就奖杯解锁 - 按产品生命周期阶段设计奖励 ### AI 顾问 - 右侧可收缩 AI 产品顾问面板 - 基于当前产品上下文提供建议 --- ## 技术栈 - **前端**:React 19 + Vite - **后端**:Node.js + Express - **3D 可视化**:Three.js + 3d-force-graph + d3-force - **文档生成**:docx、xlsx、SheetJS - **AI 集成**:支持多种 LLM API(OpenAI、Claude、DeepSeek 等) - **数据存储**:本地文件系统(`library/` 目录)+ localStorage(竞标数据) --- ## 快速开始 ### 环境要求 - [Node.js](https://nodejs.org/)(推荐 LTS 版本) - npm(随 Node.js 安装) ### 安装依赖 ```bash npm install ``` ### 方式一:使用启动脚本(推荐,生产模式) Windows 直接双击运行: ```text 启动.bat ``` 或命令行: ```bash start 启动.bat ``` 脚本会自动检查依赖、构建前端,并启动服务: ```text http://localhost:3000 ``` 关闭命令行窗口即可停止服务。 ### 方式二:开发模式(前端热更新 + 后端 API) Windows 直接双击运行: ```text 开发启动.bat ``` 或手动同时启动两个服务: ```bash # 终端 1:启动后端 API node server.js # 终端 2:启动前端开发服务器 npm run dev ``` 然后访问: ```text http://localhost:5173 ``` API 请求会自动代理到后端 `localhost:3000`。 --- ## 项目结构 ```text robot-pm/ ├── library/ # 本地产品数据(.gitignore 排除) │ ├── {productId}/ # 各产品独立文件夹 │ │ ├── product.json # 产品主数据 │ │ └── media/ # 图片等媒体附件 │ └── collectors/ # AI 需求收集板数据 │ └── {boardId}/ │ └── board.json ├── public/ # 静态资源 ├── server.js # Express 后端服务 ├── 启动.bat # Windows 一键启动脚本(生产模式) ├── 开发启动.bat # Windows 开发模式启动脚本(前端+后端) ├── vite.config.js # Vite 配置 ├── package.json ├── README.md ├── src/ │ ├── App.jsx # 应用根组件 │ ├── App.css # 全局样式 │ ├── components/ # React 组件 │ │ ├── Dashboard.jsx # 产品库概况 │ │ ├── ProductDetail.jsx # 产品详情 │ │ ├── ProductTree.jsx # 3D 产品矩阵 │ │ ├── ProductWizard.jsx # 新建产品向导 │ │ ├── ProductBidding.jsx # 产品竞标 │ │ ├── CollectionBoard.jsx # AI 需求收集板 │ │ ├── RequirementCoverageMatrix.jsx # 覆盖度矩阵 │ │ ├── RequirementForm.jsx # 需求表单 │ │ ├── RequirementVersionManager.jsx # 需求版本管理 │ │ ├── AIChat.jsx # AI 顾问面板 │ │ ├── ExportDocument.jsx # 文档导出 │ │ └── ... │ ├── data/ # 数据逻辑 │ │ ├── store.js # API 封装与数据操作 │ │ ├── template.js # 产品类型与模板 │ │ ├── aiUtils.js # AI 工具函数 │ │ └── ... │ └── main.jsx # 应用入口 ``` --- ## 常用命令 ```bash # 开发模式启动前端 npm run dev # 生产构建 npm run build # 启动后端服务 npm run server # 或 node server.js # 代码检查 npm run lint ``` --- ## 数据说明 ### 产品数据 产品数据默认保存在 `library/` 目录下,每个产品有独立的文件夹: ```text library/{productId}/ ├── product.json # 产品主数据 └── media/ # 图片等媒体附件 ``` ### 收集板数据 AI 需求收集板数据保存在 `library/collectors/` 目录下: ```text library/collectors/{boardId}/ └── board.json # 收集板数据(含需求、素材、AI 匹配结果) ``` ### 竞标数据 竞标项目数据保存在浏览器 localStorage 中(`robot_pm_bids` 键),导出库时会自动打包进 ZIP 备份文件。 `library/` 和 `dist/` 不会被提交到 Git,避免本地数据和构建产物污染仓库。 --- ## 注意事项 1. **首次运行**:`启动.bat` 会自动安装依赖并构建前端,首次可能需要几分钟。 2. **备份与恢复**:建议定期使用「导出库」功能备份数据,备份包含产品库和竞标项目。 3. **跨电脑使用**:克隆仓库后执行 `npm install`,然后运行 `启动.bat` 即可。使用「恢复库」导入备份数据。 4. **开发代理错误**:如果在 `localhost:5173` 看到 `/api/*` 的 `ECONNREFUSED`,说明没有启动后端。请使用 `开发启动.bat` 一键启动前后端,或手动运行 `node server.js`。 5. **AI 功能配置**:使用 AI 需求分析、覆盖度匹配等功能前,需要在设置中配置 LLM API 密钥。 6. **数据库同步**:使用 Gitee 数据库同步功能前,需在「数据库管理 → 设置」中配置 Gitee API Token。 --- ## 贡献 欢迎提交 Issue 和 Pull Request。 --- ## 许可证 MIT License