MBE Desktop 客户端开发计划
📋 项目概述
MBE Desktop 是 Mises Behavior Engine 的桌面客户端应用,提供:
- 用户注册和登录
- 开发者控制台
- SDK 开发环境
- 应用市场
- 本地开发工具
风格参考: Cursor IDE
🎯 核心功能
1. 用户认证和管理
- 首次启动:用户注册页面
- 后续启动:自动跳转登录(记住邮箱)
- 登录成功:进入开发者控制台
- 角色支持:开发者、管理员、普通用户
2. 开发者控制台
- 个人仪表板
- API 密钥管理
- 使用统计和配额
- 项目列表
- 应用管理
3. SDK 开发环境
- 代码编辑器(基于 Monaco Editor)
- MBE SDK 集成
- 本地调试工具
- 示例和模板
- 依赖管理
4. 应用市场
- 浏览应用
- 搜索和过滤
- 应用详情
- 一键安装
- 评分和评论
5. 发布管理
- 应用打包
- 版本管理
- 发布到市场
- 自动化测试
- 发布审核状态
🏗️ 技术架构
前端框架
Electron 28.x
├── React 18.x (UI 框架)
├── TypeScript 5.x
├── Tailwind CSS (样式)
├── Monaco Editor (代码编辑)
└── React Router (路由)
状态管理
Zustand / Redux Toolkit
UI 组件库
shadcn/ui (类似 Cursor 的现代风格)
或 Ant Design / Material-UI
后端通信
Axios / Fetch API
WebSocket (实时通信)
本地存储
SQLite (用户数据)
LocalStorage (配置)
📁 项目结构
mbe-desktop/
├── src/
│ ├── main/ # Electron 主进程
│ │ ├── index.ts # 主入口
│ │ ├── window.ts # 窗口管理
│ │ └── ipc.ts # IPC 通信
│ ├── renderer/ # Electron 渲染进程
│ │ ├── pages/ # 页面组件
│ │ │ ├── Auth/ # 认证页面
│ │ │ ├── Dashboard/ # 控制台
│ │ │ ├── Editor/ # 编辑器
│ │ │ ├── Market/ # 市场
│ │ │ └── Settings/ # 设置
│ │ ├── components/ # 公共组件
│ │ ├── hooks/ # React Hooks
│ │ ├── stores/ # 状态管理
│ │ ├── services/ # API 服务
│ │ ├── types/ # TypeScript 类型
│ │ └── utils/ # 工具函数
│ └── shared/ # 共享代码
├── assets/ # 静态资源
├── public/ # 公开文件
├── electron-builder.yml # 打包配置
├── package.json
└── tsconfig.json
🎨 UI 设计(参考 Cursor)
1. 登录/注册页面
┌─────────────────────────────────────┐
│ │
│ 🌟 MBE Desktop │
│ │
│ ┌─────────────────────┐ │
│ │ Email │ │
│ │ [输入框] │ │
│ │ │ │
│ │ Password │ │
│ │ [输入框] │ │
│ │ │ │
│ │ [登录按钮] │ │
│ │ 没有账号?注册 │ │
│ └─────────────────────┘ │
│ │
└─────────────────────────────────────┘
2. 开发者控制台
┌─────────────────────────────────────────────────┐
│ [Logo] MBE Desktop [@用户名] [设置] │
├─────────────────────────────────────────────────┤
│ 侧边栏 │ 主内容区域 │
│ │ │
│ 🏠 仪表板 │ 📊 统计数据 │
│ 🔑 API 密钥 │ ┌─────────────────────┐ │
│ 📦 我的应用 │ │ API 调用: 1,234 │ │
│ 🛒 应用市场 │ │ 配额剩余: 98% │ │
│ 💻 SDK 开发 │ └─────────────────────┘ │
│ ⚙️ 设置 │ │
│ │ 📋 最近的项目 │
│ │ [项目列表...] │
└─────────────────┴───────────────────────────────┘
3. SDK 开发环境
┌─────────────────────────────────────────────────┐
│ [项目名] [运行] [调试] │
├─────────────────────────────────────────────────┤
│ 文件树 │ 代码编辑器 │
│ │ │
│ 📁 src/ │ 1 import { MBE } from │
│ 📄 main.py │ 2 '@mbe/sdk-python' │
│ 📄 utils.py │ 3 │
│ 📁 tests/ │ 4 mbe = MBE(api_key='...')│
│ │ 5 │
│ │ │
├─────────────────┼───────────────────────────────┤
│ │ 终端 / 输出 │
│ │ $ python main.py │
│ │ Running... │
└─────────────────┴───────────────────────────────┘
🔌 API 集成
后端 API 地址
生产环境: https://mbe-dev.hi-maker.com
开发环境: http://localhost:8000
主要 API 端点
1. 认证
POST /api/auth/register
POST /api/auth/login
POST /api/auth/logout
GET /api/auth/me
2. 用户管理
GET /api/users/profile
PUT /api/users/profile
GET /api/users/quota
3. 项目管理
GET /api/projects
POST /api/projects
GET /api/projects/:id
PUT /api/projects/:id
DELETE /api/projects/:id
4. 应用市场
GET /api/market/apps
GET /api/market/apps/:id
POST /api/market/apps/:id/install
📝 开发步骤
Phase 1: 项目初始化(第1周)
1.1 创建 Electron 项目
npm create electron-app@latest mbe-desktop -- --template=webpack-typescript
cd mbe-desktop
1.2 安装依赖
# UI 框架
npm install react react-dom react-router-dom
npm install @types/react @types/react-dom -D
# UI 组件
npm install tailwindcss @shadcn/ui
npm install lucide-react (图标)
# 状态管理
npm install zustand
# API 请求
npm install axios
# 代码编辑器
npm install @monaco-editor/react
# 工具库
npm install clsx tailwind-merge
npm install date-fns
1.3 配置开发环境
- TypeScript 配置
- Tailwind CSS 配置
- ESLint + Prettier
- Git 仓库初始化
Phase 2: 认证系统(第2周)
2.1 登录/注册页面
- UI 设计和实现
- 表单验证
- 错误处理
2.2 API 集成
- Axios 配置
- 请求拦截器
- Token 管理
2.3 本地存储
- Token 存储
- 用户信息缓存
- 记住登录状态
Phase 3: 开发者控制台(第3周)
3.1 仪表板
- 统计数据展示
- 快速操作面板
3.2 API 密钥管理
- 创建密钥
- 查看/删除密钥
- 权限配置
3.3 项目列表
- CRUD 操作
- 搜索和过滤
Phase 4: SDK 开发环境(第4周)
4.1 Monaco Editor 集成
- 代码编辑器
- 语法高亮
- 自动补全
4.2 终端集成
- 命令执行
- 输出显示
- 错误处理
4.3 调试工具
- 断点设置
- 变量查看
- 调试控制台
Phase 5: 应用市场(第5周)
5.1 应用列表
- 卡片展示
- 搜索和过滤
- 分类浏览
5.2 应用详情
- 详细信息
- 安装/卸载
- 评分评论
Phase 6: 发布和打包(第6周)
6.1 应用打包
- Electron Builder 配置
- 多平台支持(Windows/macOS/Linux)
- 自动更新
6.2 测试和优化
- E2E 测试
- 性能优化
- Bug 修复
🛠️ 开发工具
必需工具
- Node.js 18+
- npm/yarn/pnpm
- Git
- VS Code(推荐)
VS Code 扩展
- ESLint
- Prettier
- TypeScript
- Tailwind CSS IntelliSense
- React Developer Tools
📦 打包和分发
Electron Builder 配置
{
"appId": "com.himaker.mbe-desktop",
"productName": "MBE Desktop",
"directories": {
"output": "dist"
},
"files": [
"build/**/*",
"node_modules/**/*"
],
"win": {
"target": ["nsis", "portable"],
"icon": "assets/icon.ico"
},
"mac": {
"target": ["dmg", "zip"],
"icon": "assets/icon.icns"
},
"linux": {
"target": ["AppImage", "deb"],
"icon": "assets/icon.png"
}
}
自动更新
- Electron-updater
- GitHub Releases
- 增量更新
🔐 安全考虑
1. 敏感数据保护
- Token 加密存储
- API 密钥不明文显示
- 安全的 IPC 通信
2. HTTPS
- 所有 API 请求使用 HTTPS
- 证书验证
3. CSP(内容安全策略)
<meta http-equiv="Content-Security-Policy"
content="default-src 'self';
script-src 'self';
style-src 'self' 'unsafe-inline'">
📊 性能优化
1. 代码分割
- 路由级别懒加载
- 组件按需加载
2. 资源优化
- 图片压缩
- 字体子集化
- 代码压缩
3. 启动优化
- 延迟加载非关键模块
- 缓存策略
- 预加载关键资源
🧪 测试策略
单元测试
Jest + React Testing Library
集成测试
Playwright / Spectron
E2E 测试
Cypress / Playwright
📈 里程碑
| 周次 | 任务 | 交付物 |
|---|---|---|
| Week 1 | 项目初始化 | 基础框架 |
| Week 2 | 认证系统 | 登录/注册功能 |
| Week 3 | 开发者控制台 | 仪表板和项目管理 |
| Week 4 | SDK 开发环境 | 代码编辑器 |
| Week 5 | 应用市场 | 应用浏览和安装 |
| Week 6 | 打包和发布 | 可分发应用 |
🎯 下一步
立即可以做的:
创建项目目录
cd d:\Mises mkdir mbe-desktop cd mbe-desktop初始化 Electron 项目
npm create electron-app@latest . -- --template=webpack-typescript安装依赖
npm install react react-dom react-router-dom npm install @types/react @types/react-dom -D npm install tailwindcss创建基础结构
- 设置 TypeScript
- 配置 Tailwind
- 创建第一个页面
📚 参考资源
Electron
React
- 官方文档: https://react.dev/
Tailwind CSS
- 官方文档: https://tailwindcss.com/
shadcn/ui
准备好开始了吗?我们可以立即创建项目! 🚀