MBE 开发者业务全流程文档
📋 概述
本文档详细描述了 MBE(米塞斯行为引擎)开发者从注册到使用完整功能的业务流程。
流程总览:
注册 → 认证 → 管理专家 → 查看指标 → 检测问题 → 获取建议 → 应用优化 → 审计日志
🚀 完整流程
阶段 0: 服务检查
目的: 确保 MBE 服务正常运行
操作:
# 检查服务健康状态
curl http://localhost:8000/health
Web UI:
- 访问:
http://localhost:8000/ - API 文档:
http://localhost:8000/docs
阶段 1: 注册开发者账户
目的: 创建开发者账户并获取 API Key
API 调用:
POST /api/developer/register
Content-Type: application/json
{
"username": "mydev",
"email": "dev@example.com",
"tier": "free" # free / pro / enterprise
}
响应示例:
{
"success": true,
"developer": {
"id": "dev_abc123",
"username": "mydev",
"email": "dev@example.com",
"tier": "free",
"api_key": "mbe_xxxxxxxxxxxx", // ⚠️ 只显示一次!
"quota": {
"max_experts": 3,
"max_requests_per_day": 100,
"max_storage_mb": 100
}
},
"important": "请妥善保存您的 API Key,它不会再次显示!"
}
重要提示:
- ✅ API Key 只显示一次,请立即保存
- ✅ 默认等级为
free - ✅ 注册后自动获得配额限制
服务等级对比:
| 功能 | Free | Pro | Enterprise |
|---|---|---|---|
| 专家数量 | 3 | 20 | 无限 |
| API 调用/天 | 100 | 10,000 | 无限 |
| 存储空间 | 100 MB | 1 GB | 10 GB |
| 自动应用建议 | ❌ | ✅ | ✅ |
| 审计日志查询 | 3天 | 3天 | 30天 |
阶段 2: API Key 认证
目的: 验证 API Key 并获取账户信息
API 调用:
GET /api/developer/me
X-Developer-Key: mbe_xxxxxxxxxxxx
或使用 Bearer Token:
GET /api/developer/me
Authorization: Bearer mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"developer": {
"id": "dev_abc123",
"username": "mydev",
"email": "dev@example.com",
"tier": "free",
"status": "active",
"created_at": "2026-01-28T10:00:00",
"last_login": "2026-01-28T10:05:00"
},
"quota": {
"max_experts": 3,
"used_experts": 0,
"max_requests_per_day": 100,
"remaining_requests": 100
}
}
认证方式:
- X-Developer-Key 请求头(推荐)
- Authorization: Bearer {api_key}
- 兼容模式: 路径参数
developer_id(仅演示账户)
阶段 3: 获取专家列表
目的: 查看开发者拥有的所有专家
API 调用:
GET /api/developer/{developer_id}/experts
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"developer_id": "dev_abc123",
"experts": [
{
"expert_id": "dynamic_expert_001",
"name": "Expert 001",
"type": "dynamic",
"status": "active"
}
],
"total": 1,
"quota": {
"max_experts": 3,
"used": 1
}
}
Web UI:
- 开发者仪表盘:
http://localhost:8000/developer/feedback
阶段 4: 注册专家所有权
目的: 将专家绑定到开发者账户
API 调用:
POST /api/developer/{developer_id}/experts/{expert_id}/register?is_public=false
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"message": "专家 dynamic_expert_001 已绑定到您的账户",
"ownership": {
"expert_id": "dynamic_expert_001",
"developer_id": "dev_abc123",
"created_at": "2026-01-28T10:10:00",
"is_public": false,
"shared_with": []
}
}
注意事项:
- ⚠️ 不能超过专家配额限制
- ⚠️ 专家创建后需要注册所有权才能管理
- ✅ 可以设置专家为公开(
is_public=true)
阶段 5: 获取专家表现指标
目的: 查看专家的使用量、性能、质量等指标
API 调用:
GET /api/developer/{developer_id}/experts/{expert_id}/metrics?start_date=2026-01-21&end_date=2026-01-28
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"expert_id": "dynamic_expert_001",
"metrics": {
"expert_id": "dynamic_expert_001",
"period": {
"start": "2026-01-21T00:00:00",
"end": "2026-01-28T00:00:00"
},
"usage": {
"total_conversations": 156,
"unique_users": 45,
"total_messages": 892
},
"performance": {
"avg_response_time": 3.2,
"p95_response_time": 5.8,
"max_response_time": 12.3
},
"quality": {
"switch_rate": 0.08,
"retry_rate": 0.05,
"satisfaction_score": 4.2
},
"knowledge": {
"hit_rate": 0.85,
"avg_relevance_score": 0.78
}
},
"rate_limit": {
"remaining": 99,
"limit": 100
}
}
指标说明:
- 使用量: 对话数、用户数、消息数
- 性能: 平均/P95/最大响应时间
- 质量: 切换率、重试率、满意度
- 知识库: 命中率、相关性得分
阶段 6: 检测专家问题
目的: 自动检测专家运行中的潜在问题
API 调用:
GET /api/developer/{developer_id}/experts/{expert_id}/issues
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"expert_id": "dynamic_expert_001",
"issues": [
{
"id": "issue_001",
"type": "slow_response",
"severity": "HIGH",
"description": "平均响应时间过长(8.5秒),影响用户体验",
"detected_at": "2026-01-28T10:15:00",
"affected_files": ["src/core/engine.py", "src/llm/base.py"]
},
{
"id": "issue_002",
"type": "high_switch_rate",
"severity": "MEDIUM",
"description": "专家切换率较高(25%),用户对初始专家匹配不满意",
"detected_at": "2026-01-28T10:16:00",
"affected_files": ["src/knowledge/expert_router.py"]
}
],
"total": 2
}
问题类型:
slow_response- 响应时间过长high_switch_rate- 专家切换率过高low_knowledge_hit_rate- 知识库命中率低low_relevance_score- 检索相关性低knowledge_gap- 知识缺口
阶段 7: 获取优化建议
目的: 获取针对检测到问题的优化建议
API 调用:
GET /api/developer/{developer_id}/experts/{expert_id}/suggestions
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"expert_id": "dynamic_expert_001",
"suggestions": [
{
"id": "sug_001",
"type": "optimize_index",
"priority": "HIGH",
"title": "优化向量索引配置",
"description": "建议调整索引参数以提升检索速度",
"auto_applicable": true,
"estimated_improvement": "响应时间减少15%",
"affected_files": ["src/core/engine.py"]
},
{
"id": "sug_002",
"type": "add_content",
"priority": "MEDIUM",
"title": "补充知识库内容",
"description": "建议添加更多相关文档以提升命中率",
"auto_applicable": false,
"estimated_improvement": "命中率提升10%"
}
],
"total": 2,
"auto_applicable": 1
}
建议类型:
optimize_index- 优化索引(可自动应用)update_config- 更新配置(可自动应用)add_content- 添加内容(需手动)update_content- 更新内容(需手动)retrain- 重新训练(需手动)
权限说明:
- ✅ Free 用户: 只能查看建议,需手动实施
- ✅ Pro/Enterprise 用户: 可以自动应用建议
阶段 8: 应用优化建议
目的: 自动应用可执行的优化建议(Pro/Enterprise 功能)
API 调用:
POST /api/developer/{developer_id}/experts/{expert_id}/apply-suggestions
X-Developer-Key: mbe_xxxxxxxxxxxx
Content-Type: application/json
{
"suggestion_ids": ["sug_001", "sug_002"]
}
响应示例:
{
"success": true,
"expert_id": "dynamic_expert_001",
"applied": 1,
"failed": 0,
"results": [
{
"suggestion_id": "sug_001",
"status": "applied",
"message": "建议已应用: 优化向量索引配置"
}
]
}
注意事项:
- ⚠️ 只有
auto_applicable=true的建议可以自动应用 - ⚠️ Free 用户无法使用此功能
- ✅ 应用后会自动记录到审计日志
阶段 9: 查看开发者仪表盘
目的: 查看所有专家的汇总信息和概览
API 调用:
GET /api/developer/{developer_id}/dashboard
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"developer_id": "dev_abc123",
"developer_tier": "pro",
"overview": {
"total_experts": 5,
"total_issues": 3,
"total_suggestions": 8,
"experts_needing_attention": 2
},
"experts": [
{
"expert_id": "dynamic_expert_001",
"health_score": {
"score": 85,
"status": "healthy",
"color": "green"
},
"issues_count": 1,
"suggestions_count": 2
}
],
"quota": {
"max_experts": 20,
"used_experts": 5,
"max_requests_per_day": 10000
}
}
Web UI:
- 仪表盘:
http://localhost:8000/developer/feedback
阶段 10: 查看审计日志
目的: 查看开发者的操作历史记录
API 调用:
GET /api/developer/{developer_id}/audit-log?days=7&action=view_metrics
X-Developer-Key: mbe_xxxxxxxxxxxx
响应示例:
{
"success": true,
"developer_id": "dev_abc123",
"period": {
"start": "2026-01-21",
"end": "2026-01-28"
},
"total": 15,
"logs": [
{
"timestamp": "2026-01-28T10:20:00",
"developer_id": "dev_abc123",
"action": "view_metrics",
"resource_id": "dynamic_expert_001",
"details": {},
"ip_address": "192.168.1.100",
"success": true
}
]
}
查询参数:
days- 查询最近多少天(Free/Pro: 最多3天,Enterprise: 最多30天)action- 按操作类型筛选(可选)
记录的操作:
view_metrics- 查看指标view_issues- 查看问题view_suggestions- 查看建议apply_suggestion- 应用建议register_expert- 注册专家list_experts- 列出专家
🎯 演示模式
目的: 无需注册即可体验功能
访问方式:
GET /api/developer/demo_developer/dashboard
特点:
- ✅ 无需 API Key
- ✅ 可查看所有演示专家
- ✅ 功能受限(只读)
Web UI:
- 演示仪表盘:
http://localhost:8000/developer/feedback?developer_id=demo_developer
📊 完整流程测试
运行测试脚本:
python scripts/test_developer_workflow.py
测试覆盖:
- ✅ 服务健康检查
- ✅ 注册开发者账户
- ✅ API Key 认证
- ✅ 获取专家列表
- ✅ 注册专家所有权
- ✅ 获取专家指标
- ✅ 检测专家问题
- ✅ 获取优化建议
- ✅ 查看仪表盘
- ✅ 查看审计日志
- ✅ 演示模式
🔐 权限和安全
认证要求
所有 API 端点(除演示模式外)都需要认证:
X-Developer-Key: mbe_xxxxxxxxxxxx
权限控制
- ✅ 开发者只能访问自己的专家
- ✅ 公开专家可以被所有开发者查看
- ✅ 专家所有权由创建者控制
- ✅ 所有操作记录到审计日志
速率限制
| 等级 | 每日请求限制 |
|---|---|
| Free | 100 |
| Pro | 10,000 |
| Enterprise | 无限 |
超过限制返回 429 Too Many Requests
🌐 Web UI 访问地址
| 功能 | 地址 |
|---|---|
| 开发者反馈仪表盘 | http://localhost:8000/developer/feedback |
| 任务审批界面 | http://localhost:8000/admin/tasks |
| 任务生命周期 | http://localhost:8000/admin/lifecycle |
| API 文档 | http://localhost:8000/docs |
📝 最佳实践
API Key 管理
- ✅ 立即保存 API Key(只显示一次)
- ✅ 不要在代码中硬编码
- ✅ 使用环境变量存储
- ✅ 定期轮换(如泄露)
专家管理
- ✅ 及时注册专家所有权
- ✅ 定期查看专家指标
- ✅ 关注问题检测结果
- ✅ 及时应用优化建议
监控和优化
- ✅ 每日查看仪表盘
- ✅ 关注健康评分
- ✅ 优先处理 HIGH 优先级问题
- ✅ 利用自动应用功能(Pro+)
审计和合规
- ✅ 定期查看审计日志
- ✅ 了解操作历史
- ✅ 追踪问题处理过程
🐛 常见问题
Q: API Key 丢失怎么办?
A: 目前不支持找回,需要重新注册账户。
Q: 如何升级账户等级?
A: 联系管理员或通过支付系统升级。
Q: 为什么看不到专家指标?
A: 检查:
- API Key 是否正确
- 专家是否已注册所有权
- 是否有足够的 API 调用配额
Q: 如何申请更多配额?
A: 升级到 Pro 或 Enterprise 等级。
📚 相关文档
最后更新: 2026-01-28