MBE 开放核心实现方案
一、仓库架构
GitHub: mises-ai/
│
├── mbe-core/ # 🔓 公开 (MIT License)
│ ├── src/
│ │ ├── core/
│ │ │ ├── engine.py # 基础引擎
│ │ │ ├── memory_base.py # 记忆接口(抽象类)
│ │ │ └── config.py
│ │ ├── knowledge/
│ │ │ ├── expert_router.py # 基础路由
│ │ │ ├── dynamic_expert.py# 动态专家
│ │ │ └── rag_basic.py # 基础 RAG
│ │ ├── api/ # REST API
│ │ └── llm/ # LLM 抽象层
│ ├── knowledge_bases/
│ │ └── experts/
│ │ ├── general_assistant/ # 通用助手
│ │ └── example_expert/ # 示例专家
│ ├── docker-compose.yml
│ ├── requirements.txt
│ └── README.md
│
├── mbe-pro/ # 🔒 私有 (商业许可)
│ ├── titans/
│ │ ├── memory.py # TITANS 完整实现
│ │ ├── short_term.py
│ │ ├── mid_term.py
│ │ └── long_term.py
│ ├── miras/
│ │ ├── matcher.py # MIRAS 多尺度匹配
│ │ └── titans_rag.py
│ ├── moe/
│ │ └── expert_routing.py # 43专家 MoE
│ ├── hope/
│ │ └── continuous_learning.py
│ └── experts/ # 预训练专家
│ ├── chinese_civil_lawyer/
│ ├── nutritionist/
│ └── psychologist/
│
└── mbe-enterprise/ # 🔒 私有 (企业许可)
├── multi_tenant/ # 多租户
├── sso/ # 企业 SSO
├── marketplace/ # 专家市场完整版
├── analytics/ # 数据分析
└── ha/ # 高可用集群
二、功能分层
社区版 (mbe-core) - 免费
| 模块 |
功能 |
| 专家系统 |
基础专家路由、2个示例专家 |
| 知识库 |
PDF上传、基础RAG、向量检索 |
| API |
REST API、WebSocket |
| 部署 |
Docker 单机部署 |
| LLM |
支持 DeepSeek/OpenAI/Qwen |
专业版 (mbe-pro) - $99/月
| 模块 |
功能 |
| TITANS |
完整3层记忆系统 |
| MIRAS |
多尺度迭代检索 |
| MoE |
43专家智能路由 |
| HOPE |
持续学习优化 |
| 专家 |
5个预训练专家 |
| 性能 |
嵌入缓存、预加载 |
企业版 (mbe-enterprise) - 定制
| 模块 |
功能 |
| 多租户 |
完整隔离、配额管理 |
| 市场 |
专家市场、收益分成 |
| SSO |
LDAP/SAML/OAuth |
| HA |
集群部署、自动扩缩 |
| 支持 |
SLA、专属支持 |
三、技术实现
3.1 插件化架构
核心接口定义 (mbe-core):
# src/core/memory_base.py (开源)
from abc import ABC, abstractmethod
from typing import Dict, Any, Optional
class MemoryInterface(ABC):
"""记忆系统抽象接口"""
@abstractmethod
def encode(self, user_id: str, text: str) -> None:
"""编码并存储信息"""
pass
@abstractmethod
def retrieve(self, user_id: str, query: str, top_k: int = 5) -> list:
"""检索相关记忆"""
pass
@abstractmethod
def get_context(self, user_id: str, query: str) -> Dict[str, Any]:
"""获取上下文"""
pass
class SimpleMemory(MemoryInterface):
"""简单记忆实现(开源版)- 基于 Redis"""
def __init__(self):
self.redis = get_redis()
def encode(self, user_id: str, text: str) -> None:
# 简单存储最近 N 条对话
key = f"memory:{user_id}"
self.redis.lpush(key, text)
self.redis.ltrim(key, 0, 50) # 保留最近50条
def retrieve(self, user_id: str, query: str, top_k: int = 5) -> list:
key = f"memory:{user_id}"
return self.redis.lrange(key, 0, top_k - 1)
def get_context(self, user_id: str, query: str) -> Dict[str, Any]:
history = self.retrieve(user_id, query)
return {"conversation_history": history}
高级实现 (mbe-pro):
# titans/memory.py (闭源)
from mbe_core.memory_base import MemoryInterface
class TITANSMemory(MemoryInterface):
"""TITANS 完整记忆实现(商业版)"""
def __init__(self):
self.short_term = ShortTermMemory(slots=64)
self.mid_term = MidTermMemory(slots=256)
self.long_term = LongTermMemory(slots=512)
self.surprise_detector = SurpriseDetector()
def encode(self, user_id: str, text: str) -> None:
embedding = self._text_to_embedding(text)
# 惊喜检测门控
surprise = self.surprise_detector.calculate(embedding)
# 短期记忆
self.short_term.write(user_id, embedding, surprise)
# 条件性巩固到中期
if self._should_consolidate(user_id):
self._consolidate_to_mid_term(user_id)
def retrieve(self, user_id: str, query: str, top_k: int = 5) -> list:
query_embedding = self._text_to_embedding(query)
# 多层检索
short_results = self.short_term.attention_retrieve(user_id, query_embedding)
mid_results = self.mid_term.pattern_retrieve(user_id, query_embedding)
long_results = self.long_term.semantic_retrieve(user_id, query_embedding)
# 融合排序
return self._merge_and_rank(short_results, mid_results, long_results, top_k)
# ... 完整实现
3.2 动态加载机制
# src/core/loader.py (开源)
import importlib
import os
from loguru import logger
def load_memory_backend():
"""动态加载记忆后端"""
# 检查是否有 Pro 许可证
license_key = os.getenv("MBE_PRO_LICENSE")
if license_key and validate_license(license_key):
try:
# 尝试加载 TITANS
titans = importlib.import_module("mbe_pro.titans.memory")
logger.info("✅ TITANS Memory loaded (Pro)")
return titans.TITANSMemory()
except ImportError:
logger.warning("Pro license valid but module not found")
# 回退到社区版
from .memory_base import SimpleMemory
logger.info("📦 Simple Memory loaded (Community)")
return SimpleMemory()
def load_expert_router():
"""动态加载专家路由"""
license_key = os.getenv("MBE_PRO_LICENSE")
if license_key and validate_license(license_key):
try:
moe = importlib.import_module("mbe_pro.moe.expert_routing")
logger.info("✅ MoE Router loaded (Pro)")
return moe.MoEExpertRouter()
except ImportError:
pass
from .expert_router import BasicExpertRouter
logger.info("📦 Basic Router loaded (Community)")
return BasicExpertRouter()
3.3 许可证验证
# src/core/license.py (开源)
import hashlib
import time
import requests
from typing import Optional
class LicenseManager:
"""许可证管理"""
VALIDATION_URL = "https://license.mises-ai.com/validate"
def __init__(self):
self._license_key: Optional[str] = None
self._license_type: str = "community"
self._valid_until: int = 0
self._features: list = []
def validate(self, license_key: str) -> bool:
"""验证许可证"""
try:
# 在线验证
response = requests.post(
self.VALIDATION_URL,
json={"key": license_key},
timeout=5
)
if response.status_code == 200:
data = response.json()
self._license_key = license_key
self._license_type = data.get("type", "community")
self._valid_until = data.get("valid_until", 0)
self._features = data.get("features", [])
return True
except Exception:
# 离线验证(基于签名)
return self._offline_validate(license_key)
return False
def has_feature(self, feature: str) -> bool:
"""检查功能权限"""
if self._license_type == "enterprise":
return True
return feature in self._features
@property
def is_pro(self) -> bool:
return self._license_type in ["pro", "enterprise"]
@property
def is_enterprise(self) -> bool:
return self._license_type == "enterprise"
# 全局实例
_license_manager = None
def get_license_manager() -> LicenseManager:
global _license_manager
if _license_manager is None:
_license_manager = LicenseManager()
key = os.getenv("MBE_LICENSE_KEY")
if key:
_license_manager.validate(key)
return _license_manager
四、发布流程
4.1 版本发布
# .github/workflows/release.yml (mbe-core)
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker Image
run: |
docker build -t mises-ai/mbe-core:${{ github.ref_name }} .
- name: Push to Docker Hub
run: |
echo ${{ secrets.DOCKER_TOKEN }} | docker login -u mises-ai --password-stdin
docker push mises-ai/mbe-core:${{ github.ref_name }}
- name: Create GitHub Release
uses: softprops/action-gh-release@v1
with:
files: |
dist/*.whl
dist/*.tar.gz
4.2 PyPI 发布
# pyproject.toml (mbe-core)
[project]
name = "mbe-core"
version = "3.6.0"
description = "Mises Behavior Engine - AI Decision Platform"
license = {text = "MIT"}
authors = [{name = "MBE Team", email = "team@mises-ai.com"}]
readme = "README.md"
[project.optional-dependencies]
pro = ["mbe-pro"] # 商业版依赖
五、用户体验
5.1 社区版安装
# Docker (推荐)
docker run -d -p 8000:8000 mises-ai/mbe-core:latest
# 或 pip
pip install mbe-core
mbe-core serve
5.2 升级到专业版
# 1. 获取许可证
# 访问 https://mises-ai.com/pricing 购买
# 2. 安装专业版
pip install mbe-pro
# 3. 配置许可证
export MBE_LICENSE_KEY="your-license-key"
# 4. 重启服务
docker-compose restart
# 日志会显示: ✅ TITANS Memory loaded (Pro)
5.3 功能对比提示
# src/api/upgrade_prompt.py
def check_and_prompt_upgrade(feature: str, user_request: str):
"""检查功能并提示升级"""
license = get_license_manager()
if not license.has_feature(feature):
return {
"available": False,
"message": f"'{feature}' 需要 Pro 版本",
"upgrade_url": "https://mises-ai.com/pricing",
"fallback": get_community_alternative(feature)
}
return {"available": True}
用户看到的提示:
{
"success": true,
"answer": "面包发酵温度建议24-26°C...",
"memory_type": "simple",
"upgrade_hint": {
"message": "升级到 Pro 版可获得 TITANS 记忆系统,AI 会记住你的所有对话偏好",
"features": ["3层神经记忆", "43专家智能路由", "持续学习优化"],
"url": "https://mises-ai.com/pricing"
}
}
六、定价策略
| 版本 |
价格 |
功能 |
| Community |
免费 |
基础功能,社区支持 |
| Pro |
¥699/年 |
TITANS+MIRAS+MoE,5个专家 |
| Team |
¥1999/年 |
+ 专家市场,5用户 |
| Enterprise |
询价 |
私有部署,无限用户,SLA |
七、时间线
| 阶段 |
时间 |
任务 |
| Phase 1 |
第1-2周 |
代码分离、接口抽象 |
| Phase 2 |
第3周 |
许可证系统、动态加载 |
| Phase 3 |
第4周 |
mbe-core 发布 GitHub |
| Phase 4 |
第5-6周 |
定价页面、支付集成 |
| Phase 5 |
第7周 |
Product Hunt 发布 |
文档版本: 1.0 | 更新: 2026-01-26