# DecoCore **Repository Path**: bty1987/DecoCore ## Basic Information - **Project Name**: DecoCore - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-12 - **Last Updated**: 2026-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数装通 (DecoCore) - 家装企业智能化诊断系统 [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.100+-green.svg)](https://fastapi.tiangolo.com/) [![Vue](https://img.shields.io/badge/Vue-3.0+-brightgreen.svg)](https://vuejs.org/) > 一个基于 LangGraph 的家装企业智能化诊断系统,通过 34 道结构化问题对企业进行全面评估,生成专业的诊断报告。 --- ## 📖 项目概述 **数装通** 是一个面向家装企业的智能化诊断系统,通过 AI 驱动的结构化问卷,帮助企业发现运营问题并提供专业改进建议。 ### 核心特性 - 🤖 **AI 智能诊断**:基于 LangGraph + Coze AI,自动化生成专业诊断报告 - 🏢 **SaaS 多租户**:支持多企业租户隔离,数据安全可控 - 📱 **多端覆盖**:管理后台(Vue3)+ 小程序(uni-app)+ API 服务 - ⚙️ **知识库动态化**:支持在线配置问题、评分规则、映射规则 - 🎯 **8 维度评估**:战略规划、组织管理、市场营销、财务管理、人力资源、运营效率、创新能力、风险控制 ### 技术架构 ``` ┌─────────────────────┐ ┌──────────────────────┐ │ uni-app小程序 │ │ Vue3管理后台 │ │ - 企业登录 │ │ - 知识库管理 │ │ - 34题问答 │ │ - 用户管理 │ │ - 查看报告 │ │ - 数据统计 │ └──────────┬──────────┘ └──────────┬───────────┘ │ │ └──────────┬───────────────┘ ↓ ┌─────────────────────┐ │ FastAPI后端 │ │ - JWT认证 │ │ - 租户隔离 │ │ - 动态Prompt │ └──────────┬──────────┘ ↓ ┌─────────────────────┐ │ PostgreSQL/MySQL │ │ - 租户数据 │ │ - 知识库数据 │ │ - 对话历史 │ └─────────────────────┘ ``` --- ## 🎯 SaaS化改造计划 本项目已完成 SaaS 多租户架构改造,完整的实施计划请查看:[docs/SAAS_IMPLEMENTATION_PLAN.md](docs/SAAS_IMPLEMENTATION_PLAN.md) ### 改造目标 - ✅ **uni-app小程序**:客户端问答诊断 - ✅ **Vue3管理后台**:知识库维护管理 - ✅ **多企业SaaS**:支持多租户数据隔离 - ✅ **知识库动态管理**:支持在线配置问题、评分规则、映射规则 --- ## 📁 项目结构 ``` DecoCore/ ├── src/ # 后端核心代码 │ ├── agents/ # Agent(支持多租户) │ ├── api/ # REST API │ │ ├── auth.py # 认证API │ │ ├── knowledge.py # 知识库API │ │ ├── diagnosis.py # 诊断API │ │ ├── users.py # 用户管理API │ │ ├── tenant.py # 租户管理API │ │ └── admin.py # 管理后台API │ ├── graphs/ # LangGraph 流程图 │ ├── middlewares/ # 中间件 │ │ └── auth.py # JWT认证 │ ├── models/ # 数据模型 │ │ └── models.py # SQLAlchemy ORM │ ├── services/ # 业务服务 │ │ ├── prompt_service.py # 动态Prompt构建 │ │ ├── knowledge_service.py # 知识库CRUD │ │ └── diagnosis_service.py # 诊断业务 │ ├── storage/ # 存储层 │ │ ├── database/ # 数据库连接 │ │ └── memory/ # 记忆管理 │ └── main.py # 主程序入口 ├── migrations/ # 数据库脚本 │ ├── init.sql # PostgreSQL 版本 │ └── init_mysql.sql # MySQL 版本 ⭐ ├── admin-project/ # Vue3管理后台 ├── miniapp-project/ # uni-app小程序 ├── config/ # 配置文件 │ └── default.json # 默认配置 ├── scripts/ # 脚本工具 │ ├── setup.sh # 环境设置 │ ├── http_run.sh # HTTP服务启动 │ └── local_run.sh # 本地开发 ├── docs/ # 文档 │ ├── SAAS_IMPLEMENTATION_PLAN.md # SaaS实施计划 │ ├── PROJECT_PROGRESS_REPORT.md # 项目进度报告 │ ├── PHASE_1_STATUS_2026-02-13.md # 第一阶段总结 │ ├── DEPLOYMENT_GUIDE.md # 部署指南(PostgreSQL) │ ├── DEPLOYMENT_GUIDE_MYSQL.md # 部署指南(MySQL) │ └── DATABASE_SELECTION.md # 数据库选择指南 ├── .env.postgresql # PostgreSQL 环境配置示例 ⭐ ├── .env.mysql # MySQL 环境配置示例 ⭐ ├── CLAUDE.md # Claude 开发指南 ├── MANAGEMENT.md # 项目管理文档 ├── requirements.txt # Python 依赖 └── README.md # 本文件 ``` --- ## 🚀 快速开始 ### 前置要求 - Python 3.10+ - Node.js 16+ - PostgreSQL 14+ 或 MySQL 8.0+ ### 1. 克隆项目 ```bash git clone git@gitee.com:bty1987/DecoCore.git cd DecoCore ``` ### 2. 安装依赖 ```bash # 安装 Python 依赖 pip install -r requirements.txt # 安装管理后台依赖 cd admin-project npm install ``` ### 3. 配置数据库 **PostgreSQL(推荐):** ```bash # 复制配置文件 cp .env.postgresql .env # 编辑配置,修改数据库连接信息 vim .env # 初始化数据库 python scripts/init_db_simple.py ``` **MySQL(可选):** ```bash # 复制配置文件 cp .env.mysql .env # 编辑配置,修改数据库连接信息 vim .env # 初始化数据库 mysql -h -u -p < migrations/init_mysql.sql ``` > 💡 数据库选择建议:请查看 [docs/DATABASE_SELECTION.md](docs/DATABASE_SELECTION.md) ### 4. 启动后端服务 ```bash # 使用脚本启动(端口 5000) bash scripts/http_run.sh -p 5000 # 或直接运行 python src/main.py -m http -p 5000 ``` ### 5. 启动管理后台 ```bash cd admin-project npm run dev ``` 访问:http://localhost:3000 ### 6. 默认账号 - **管理员账号**:`admin` / `admin123` - **测试企业代码**:`TEST001` > ⚠️ 生产环境请务必修改默认密码! --- ## 📖 API 文档 启动后端服务后,访问以下地址查看 API 文档: - **Swagger UI**: http://localhost:5000/docs - **ReDoc**: http://localhost:5000/redoc --- ## 🔧 开发命令 ### 本地开发 ```bash # 运行完整流程 bash scripts/local_run.sh -m flow # 运行单个节点(调试) bash scripts/local_run.sh -m node -n node_name # 运行 Agent 模式 bash scripts/local_run.sh -m agent ``` ### HTTP 服务 ```bash # 启动 HTTP 服务(默认端口 5000) bash scripts/http_run.sh # 指定端口启动 bash scripts/http_run.sh -p 8000 # 或使用 Python python src/main.py -m http -p 5000 ``` --- ## 📊 数据库结构 | 表名 | 说明 | 字段数 | |------|------|--------| | tenant | 企业租户表 | 12 | | users | 用户表 | 11 | | knowledge_questions | 问题库表(34题) | 10 | | scoring_rules | 评分规则表(8维度) | 10 | | mapping_rules | 映射规则表 | 12 | | diagnosis_sessions | 诊断会话表 | 10 | | diagnosis_records | 诊断记录表 | 15 | 详细表结构请查看: - [migrations/init.sql](migrations/init.sql) (PostgreSQL) - [migrations/init_mysql.sql](migrations/init_mysql.sql) (MySQL) --- ## 🎯 功能模块 ### 后端 API(已完成 ✅) | 模块 | 路由前缀 | 功能 | |------|----------|------| | 认证 | `/api/auth` | 登录、注册、修改密码 | | 知识库 | `/api/knowledge` | 问题、评分规则、映射规则管理 | | 诊断 | `/api/diagnosis` | 会话管理、记录查询、统计 | | 用户 | `/api/users` | 用户 CRUD、角色管理 | | 租户 | `/api/tenants` | 租户管理(超管)、订阅管理 | | 后台 | `/api/admin` | 仪表盘数据统计 | ### Vue3 管理后台(已完成 ✅) | 页面 | 路由 | 功能 | |------|------|------| | 登录 | `/login` | 用户登录 | | 仪表盘 | `/dashboard` | 统计概览、图表展示 | | 知识库 | `/knowledge` | 问题管理、规则查看 | | 用户 | `/users` | 用户管理、角色分配 | | 诊断记录 | `/diagnoses` | 诊断记录查询、详情 | ### uni-app 小程序(已完成 ✅) | 页面 | 功能 | |------|------| | 首页 | 快速入口、统计展示 | | 登录 | 账号密码登录、企业代码 | | 诊断 | 34 题问答、进度显示 | | 结果页 | 综合评分、维度分析、建议 | | 历史记录 | 诊断记录列表、筛选 | | 报告详情 | 报告完整展示 | | 数据统计 | 诊断次数、平均分、月度统计 | --- ## 📝 环境变量 ```bash # 数据库连接 DATABASE_URL=postgresql://user:password@host:port/database # 或 DATABASE_URL=mysql+pymysql://user:password@host:port/database # JWT 密钥 SECRET_KEY=your-secret-key-here # Coze API 配置 COZE_WORKLOAD_IDENTITY_API_KEY=your-coze-api-key COZE_INTEGRATION_MODEL_BASE_URL=https://api.coze.com/v1 MODEL_NAME=doubao-seed-1-6-251015 # 项目环境 COZE_PROJECT_ENV=DEV # DEV or PROD COZE_PROJECT_TYPE=workflow # agent or workflow ``` --- ## 🔐 认证说明 - **认证方式**:JWT Token - **Token 有效期**:7 天 - **密码加密**:bcrypt - **默认管理员密码**:`admin123`(生产环境请修改) --- ## 🎉 当前进度 | 阶段 | 模块 | 进度 | 状态 | |------|------|------|------| | 阶段一 | 数据库和后端基础 | 100% | ✅ 完成 | | 阶段二 | 业务功能开发 | 100% | ✅ 完成 | | 阶段三 | 前端开发 | 100% | ✅ 完成 | | - | Vue3 管理后台 | 100% | ✅ 完成 | | - | uni-app 小程序 | 100% | ✅ 完成 | | 阶段四 | 部署上线 | 0% | 🔴 待开始 | ### 代码统计 - **后端代码**:约 15,000 行(含注释) - **前端代码**:约 8,000 行(管理后台 + 小程序) - **数据库脚本**:约 800 行(PostgreSQL + MySQL) - **总代码量**:约 23,800 行 --- ## 📚 相关文档 - [SaaS 实施计划](docs/SAAS_IMPLEMENTATION_PLAN.md) - 完整的改造方案 - [项目进度报告](docs/PROJECT_PROGRESS_REPORT.md) - 详细进度说明 - [第一阶段总结](docs/PHASE_1_STATUS_2026-02-13.md) - 开发完成总结 - [部署指南(PostgreSQL)](docs/DEPLOYMENT_GUIDE.md) - 生产环境部署 - [部署指南(MySQL)](docs/DEPLOYMENT_GUIDE_MYSQL.md) - MySQL 部署指南 - [数据库选择指南](docs/DATABASE_SELECTION.md) - PostgreSQL vs MySQL 对比 - [Claude 开发指南](CLAUDE.md) - 给 AI 助手的开发指南 - [管理后台说明](admin-project/README.md) - 前端开发文档 - [项目管理文档](MANAGEMENT.md) - 项目管理规范 --- ## 🔧 技术栈 | 层级 | 技术选型 | 说明 | |------|----------|------| | **后端框架** | FastAPI 0.100+ | 高性能异步框架,自动生成 API 文档 | | **AI 引擎** | LangGraph | 状态机式对话流程管理 | | **数据库** | PostgreSQL 14+ / MySQL 8.0+ | 关系型数据库,支持 JSON/JSONB | | **ORM** | SQLAlchemy 2.0 | Python 异步 ORM | | **认证** | JWT + bcrypt | 无状态认证,安全加密 | | **管理后台** | Vue 3 + Element Plus | 组合式 API,组件化开发 | | **小程序** | uni-app | 跨平台框架,一套代码多端运行 | | **API 文档** | Swagger / ReDoc | 自动生成,在线调试 | --- ## 🚀 部署架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ 负载均衡层 │ │ Nginx / SLB │ └──────────────────────────────┬──────────────────────────────┘ │ ┌─────────────────────┴─────────────────────┐ │ │ ┌────────▼─────────┐ ┌────────▼─────────┐ │ 应用服务器 1 │ │ 应用服务器 2 │ │ FastAPI + Gunicorn │ │ FastAPI + Gunicorn │ │ Port: 5000 │ │ Port: 5000 │ └────────┬─────────┘ └────────┬─────────┘ │ │ └────────────────┬────────────────────────┘ │ ┌────────────────┴─────────────────────┐ │ │ ┌────────▼─────────┐ ┌─────────────▼──────────┐ │ PostgreSQL │ │ Redis │ │ (主从复制) │ │ (缓存+会话) │ └──────────────────┘ └──────────────────────┘ ``` 详细部署说明请查看: - [部署指南(PostgreSQL)](docs/DEPLOYMENT_GUIDE.md) - [部署指南(MySQL)](docs/DEPLOYMENT_GUIDE_MYSQL.md) --- ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request --- ## 📄 许可证 Copyright © 2025 家装企业诊断系统 (DecoCore) --- ## 📞 联系方式 - **项目地址**: https://gitee.com/bty1987/DecoCore - **问题反馈**: https://gitee.com/bty1987/DecoCore/issues --- **Made with ❤️ by Clawd Development Team**