🚀 MBE Desktop 启动和测试完整指南

📋 步骤 1: 启动后端服务

选项 A: Python 直接启动(推荐)

打开新的 PowerShell 终端窗口,执行:

cd d:\Mises\mbe-desktop
.\scripts\start-backend.ps1

等待看到:

INFO:     Uvicorn running on http://0.0.0.0:8000
INFO:     Application startup complete.

保持这个窗口打开(服务会一直运行)。


选项 B: 使用 Docker(如果 Python 方式不可用)

cd d:\Mises\mbe-monorepo
docker-compose -f docker-compose.dev.yml up -d

检查状态:

docker ps --filter "name=mbe-api-dev"
docker logs mbe-api-dev --tail 20

📋 步骤 2: 验证后端运行

在新的 PowerShell 终端执行:

Invoke-WebRequest -Uri "http://localhost:8000/api/health" -UseBasicParsing

应该返回:

{"status":"healthy","service":"mises-behavior-engine"}

如果返回错误,等待几秒后重试(服务可能还在启动中)。


📋 步骤 3: 运行自动化测试

后端运行后,执行测试:

cd d:\Mises\mbe-desktop
powershell -ExecutionPolicy Bypass -File scripts\test-registration-simple.ps1

📋 步骤 4: 查看测试结果

✅ 成功示例

============================================================
Test Summary
============================================================
Total: 5
Passed: 5
Failed: 0
Success Rate: 100.0%

All tests passed! Registration fix is working!

❌ 如果测试失败

查看失败详情,常见问题:

  1. 后端未启动: 返回 "Backend not accessible"

    • 解决: 确保步骤 1 中的后端服务正在运行
  2. 端口被占用: 返回连接错误

    • 解决: 检查端口 8000 是否被其他程序占用
  3. 数据库错误: 返回 500 错误

    • 解决: 检查数据库连接,可能需要添加 nickname 列

📋 步骤 5: 在 Desktop 应用中测试(可选)

启动 Desktop 应用

在新的 PowerShell 终端:

cd d:\Mises\mbe-desktop
npm run dev:electron

等待 Electron 窗口打开,然后:

  1. 点击"免费注册"
  2. 填写测试信息:
    • 用户名: TestUser001
    • 邮箱: test001@mbe-dev.com
    • 密码: Test@123456
    • 确认密码: Test@123456
    • ✅ 勾选服务条款
  3. 点击"创建账号"
  4. F12 打开开发者工具查看 Network 请求

验证:

  • ✅ 注册成功后自动跳转到 Dashboard
  • ✅ Network 标签显示 refresh_token 在响应中
  • ✅ Console 显示 Token 已保存

🔧 故障排查

问题 1: 后端启动失败

检查 Python:

python --version

检查依赖:

cd d:\Mises\mises-behavior-engine
pip install -r requirements.txt

问题 2: 端口被占用

查找占用端口的进程:

Get-NetTCPConnection | Where-Object {$_.LocalPort -eq 8000} | Select-Object OwningProcess

停止进程(替换 PID):

Stop-Process -Id <PID> -Force

问题 3: 数据库连接错误

如果使用 Docker,检查数据库容器:

docker ps --filter "name=postgres"
docker logs mbe-dev-postgres --tail 20

如果数据库缺少 nickname 列:

ALTER TABLE users ADD COLUMN IF NOT EXISTS nickname TEXT DEFAULT 'user';

📝 快速命令参考

# 1. 启动后端(Python)
cd d:\Mises\mbe-desktop; .\scripts\start-backend.ps1

# 2. 验证后端(新终端)
Invoke-WebRequest -Uri "http://localhost:8000/api/health" -UseBasicParsing

# 3. 运行测试(新终端)
cd d:\Mises\mbe-desktop; powershell -ExecutionPolicy Bypass -File scripts\test-registration-simple.ps1

# 4. 启动 Desktop(新终端)
cd d:\Mises\mbe-desktop; npm run dev:electron

最后更新: 2026-02-08