# ai-device-manager **Repository Path**: chging/ai-device-manager ## Basic Information - **Project Name**: ai-device-manager - **Description**: 一个ai助手设备管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-05 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 设备管理系统 (ADM) 一个基于 React + Express + tRPC + Drizzle 的全栈 AI 设备管理系统,支持模型配置、设备管理、用户管理等功能。 ## 🚀 快速开始 ### 系统要求 - Node.js >= 18.0 - pnpm >= 8.0 - MySQL/TiDB >= 5.7 - 宝塔面板(推荐用于生产环境部署) ### 本地开发 ```bash # 1. 克隆项目 git clone https://gitee.com/chging/ai-device-manager.git cd ai-device-manager # 2. 安装依赖 pnpm install # 3. 配置环境变量 cp .env.example .env # 编辑 .env 文件,填入您的配置 # 4. 初始化数据库 node scripts/init-db.mjs pnpm db:push # 5. 初始化示例数据 pnpm db:seed # 6. 启动开发服务器 pnpm dev # 访问 http://localhost:3000 ``` ## 📦 部署到宝塔 ### 前置准备 1. **购买/配置宝塔面板** - 访问 https://www.bt.cn/ - 购买云服务器或使用现有服务器 - 安装宝塔面板 2. **配置数据库** - 在宝塔面板中创建 MySQL 数据库 - 记录数据库地址、用户名、密码 3. **配置 Node.js** - 在宝塔面板中安装 Node.js 和 pnpm - 验证安装:`node -v && pnpm -v` ### 部署步骤 #### 第一步:上传项目 1. 在宝塔面板中创建网站 2. 选择"Node.js" 应用类型 3. 上传项目文件到 `/www/wwwroot/ai-device-manager` #### 第二步:配置环境变量 ```bash # 在宝塔终端中执行 cd /www/wwwroot/ai-device-manager # 创建 .env 文件 cat > .env << 'EOF' # 数据库配置 DATABASE_URL=mysql://user:password@localhost:3306/ai_device_manager # 管理员账号 ADMIN_USERNAME=admin ADMIN_PASSWORD=admin123 # JWT 密钥 JWT_SECRET=your-secret-key-here # OAuth 配置(如果使用) VITE_APP_ID=your-app-id OAUTH_SERVER_URL=https://api.manus.im VITE_OAUTH_PORTAL_URL=https://portal.manus.im # 应用信息 VITE_APP_TITLE=AI设备管理系统 OWNER_NAME=Your Name OWNER_OPEN_ID=your-open-id # API 配置 BUILT_IN_FORGE_API_URL=https://api.manus.im BUILT_IN_FORGE_API_KEY=your-api-key VITE_FRONTEND_FORGE_API_URL=https://api.manus.im VITE_FRONTEND_FORGE_API_KEY=your-frontend-api-key # 分析配置(可选) VITE_ANALYTICS_ENDPOINT=https://analytics.example.com VITE_ANALYTICS_WEBSITE_ID=your-website-id EOF ``` #### 第三步:初始化数据库 ```bash # 1. 初始化管理员 node scripts/init-db.mjs # 2. 推送数据库迁移 pnpm db:push # 当提示是否截断表时,选择 "No"(按 n 然后回车) # 3. 初始化示例数据 pnpm db:seed ``` #### 第四步:构建和启动 ```bash # 1. 安装依赖 pnpm install # 2. 构建项目 pnpm build # 3. 启动应用 pnpm start ``` #### 第五步:配置反向代理(宝塔面板) 1. 在宝塔面板中打开网站设置 2. 进入"反向代理"选项卡 3. 添加反向代理规则: - 代理地址:`http://127.0.0.1:3000` - 启用代理 #### 第六步:配置 SSL 证书(可选但推荐) 1. 在宝塔面板中打开网站设置 2. 进入"SSL"选项卡 3. 选择"Let's Encrypt"或其他证书提供商 4. 申请证书并启用 HTTPS ### 完整自动化部署 如果您想一键部署,可以使用自动化脚本: ```bash cd /www/wwwroot/ai-device-manager # 完整部署(包括迁移和数据初始化) pnpm auto-deploy # 或者生产环境部署(包括构建) pnpm auto-deploy:prod ``` ## 🔧 环境变量说明 ### 必需变量 | 变量名 | 说明 | 示例 | |--------|------|------| | `DATABASE_URL` | MySQL 连接字符串 | `mysql://user:pass@localhost:3306/db` | | `ADMIN_USERNAME` | 管理员用户名 | `admin` | | `ADMIN_PASSWORD` | 管理员密码 | `admin123` | | `JWT_SECRET` | JWT 签名密钥 | `your-secret-key` | ### 可选变量 | 变量名 | 说明 | 默认值 | |--------|------|--------| | `VITE_APP_TITLE` | 应用标题 | `AI设备管理系统` | | `VITE_APP_LOGO` | 应用 Logo URL | - | | `OWNER_NAME` | 所有者名称 | - | | `OWNER_OPEN_ID` | 所有者 ID | - | ## 📊 功能模块 ### 已实现功能 - ✅ 管理员认证和权限管理 - ✅ 设备管理(增删改查) - ✅ 用户管理 - ✅ API 调用日志 - ✅ 模型配置(支持 Coze) - ✅ 模型测试(LLM、ASR、TTS) - ✅ 资源包管理 - ✅ 订单管理 - ✅ VIP 计划管理 - ✅ 系统配置 ### 模型支持 - **Coze 模型** - 大语言模型 (LLM) - 语音识别 (ASR) - 语音合成 (TTS) ## 🔐 安全建议 1. **更改默认密码** - 首次登录后立即更改管理员密码 2. **配置 HTTPS** - 在生产环境中使用 SSL 证书 3. **限制访问** - 使用防火墙限制管理后台访问 4. **定期备份** - 定期备份数据库和文件 5. **更新依赖** - 定期更新项目依赖以获取安全补丁 ## 📝 常见问题 ### Q: 如何修改管理员密码? A: 登录管理后台后,在"账号管理"页面修改密码。 ### Q: 如何添加新的管理员账号? A: 在"账号管理"页面点击"添加账号"按钮,填写信息后提交。 ### Q: 如何备份数据库? A: 在宝塔面板中的"数据库"模块,选择数据库并点击"备份"。 ### Q: 如何恢复数据库? A: 在宝塔面板中的"数据库"模块,选择备份文件并点击"恢复"。 ### Q: 如何查看应用日志? A: 在宝塔面板中的"日志"模块查看 Node.js 应用日志。 ## 🚀 版本发布 ### 发布新版本到 Gitee ```bash # 1. 更新版本号 # 编辑 client/version.json,修改版本号 # 2. 提交到 Gitee pnpm push:gitee 1.0.5 "chore: 发布版本 1.0.5" ``` ### 版本号格式 使用语义化版本 (Semantic Versioning): - 主版本号 (Major): 不兼容的 API 变更 - 次版本号 (Minor): 新增功能,向后兼容 - 修订号 (Patch): 修复 bug,向后兼容 示例:`1.0.5` 表示主版本 1,次版本 0,修订号 5 ## 📚 相关文档 - [Gitee 自动化指南](./GITEE_AUTOMATION.md) - Gitee 推送脚本使用说明 - [GitHub 自动化指南](./GITHUB_AUTOMATION.md) - GitHub 推送脚本使用说明 - [宝塔部署指南](./BAOTA_DEPLOYMENT.md) - 宝塔部署详细步骤 - [数据库诊断报告](./DATABASE_DIAGNOSIS.md) - 数据库问题诊断 ## 🛠️ 开发工具 ### 可用命令 ```bash # 开发 pnpm dev # 启动开发服务器 # 构建 pnpm build # 构建生产版本 # 生产 pnpm start # 启动生产服务器 # 数据库 pnpm db:push # 推送数据库迁移 pnpm db:seed # 初始化示例数据 # 部署 pnpm setup # 完整部署流程 pnpm setup:prod # 生产环境完整部署 pnpm auto-deploy # 自动化部署 pnpm auto-deploy:prod # 自动化生产部署 # 版本发布 pnpm push:github # 推送到 GitHub pnpm push:gitee # 推送到 Gitee # 其他 pnpm test # 运行测试 pnpm check # 类型检查 pnpm format # 格式化代码 ``` ## 📞 技术支持 如有问题,请: 1. 查看相关文档 2. 检查应用日志 3. 提交 Issue 到 Gitee 仓库 ## 📄 许可证 MIT License ## 🙏 致谢 感谢所有贡献者和使用者的支持! --- **最后更新**: 2026-01-05 **当前版本**: v1.0.3 **Gitee 仓库**: https://gitee.com/chging/ai-device-manager