Documentation Index
Fetch the complete documentation index at: https://docs.mirobody.ai/llms.txt
Use this file to discover all available pages before exploring further.
前置条件
开始搭建开发环境前,请确保你已安装:
Node.js 18+
图表渲染和服务器端渲染 (SSR) 所需
Docker & Docker Compose
用于运行 PostgreSQL 和 Redis
系统构建工具
gcc, gfortran 以及科学计算库
代码编辑器
VS Code, PyCharm 或你偏好的 IDE
快速搭建
克隆仓库
git clone https://github.com/thetahealth/mirobody.git
cd mirobody
安装系统依赖
macOS
Linux (Ubuntu/Debian)
xcode-select --install
brew install gcc gfortran fftw hdf5 openblas lapack
sudo apt install -y g++ gfortran build-essential \
libfftw3-dev libhdf5-dev libblas-dev liblapack-dev
创建虚拟环境
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install --upgrade pip
安装 Python 依赖
pip install -e .
# 可选额外依赖
# pip install -e ".[cn]" # 国内可选:阿里 OSS、火山、Dashscope
# pip install -e ".[fin]" # 金融数据:yfinance
# pip install -e ".[test]" # 测试套件
Mirobody 也发布在 PyPI 上,可用 pip install mirobody 做非可编辑安装。启动后台服务
docker compose up -d pg redis
也可以让 Mirobody 连接你已有的 PostgreSQL / Redis 实例。配置环境变量
echo "ENV=localdb" > .env
echo "CONFIG_ENCRYPTION_KEY=$(openssl rand -hex 32)" >> .env
然后编辑 config.localdb.yaml:# 默认 DeepAgent 必需
OPENROUTER_API_KEY: 'sk-or-...'
# 可选替代项
OPENAI_API_KEY: ''
GOOGLE_API_KEY: ''
ANTHROPIC_API_KEY: ''
# 数据库(默认值匹配 compose 文件)
PG_HOST: 'localhost'
PG_PORT: 5432
PG_USER: 'mirobody'
PG_PASSWORD: ''
PG_DBNAME: 'mirobody'
# Redis
REDIS_HOST: 'localhost'
REDIS_PORT: 6379
REDIS_DB: 0
REDIS_PASSWORD: ''
运行应用
服务器在 http://localhost:18080 启动。在 WSL 下运行同样可以从 Windows 直接访问该地址。
开发工具
推荐的 VS Code 扩展
{
"recommendations": [
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.black-formatter",
"charliermarsh.ruff",
"tamasfe.even-better-toml",
"redhat.vscode-yaml"
]
}
代码格式化
# 安装开发依赖
pip install black ruff pytest pytest-asyncio
# 格式化代码
black .
# 代码检查 (Lint)
ruff check .
运行测试
# 运行所有测试
pytest
# 运行并生成覆盖率报告
pytest --cov=connect --cov-report=html
# 运行特定的测试文件
pytest tests/test_provider_garmin.py
# 运行集成测试
pytest -m integration
项目结构
mirobody/
├── mirobody/ # 主应用程序包
│ ├── chat/ # 聊天和 Agent 服务
│ │ ├── adapters/ # 协议适配器 (HTTP, WebSocket)
│ │ ├── agent.py # Agent 注册和加载
│ │ ├── service.py # 聊天服务路由
│ │ └── unified_chat_service.py # 核心聊天逻辑
│ ├── mcp/ # MCP 协议实现
│ │ ├── service.py # JSON-RPC 处理器
│ │ ├── tool.py # 工具加载和执行
│ │ └── resource.py # 资源管理
│ ├── pulse/ # 健康数据平台
│ │ ├── theta/ # OAuth 提供商 (Garmin, Whoop 等)
│ │ ├── apple/ # Apple 健康平台
│ │ ├── core/ # 核心健康服务
│ │ ├── file_parser/ # 文件解析处理器
│ │ └── router/ # API 路由
│ ├── pub/ # 公共工具和 Agent
│ │ ├── tools/ # 通用 MCP 工具
│ │ ├── tools_health/ # 健康相关 MCP 工具
│ │ ├── resources/ # MCP 资源
│ │ └── agents/ # Agent 实现
│ ├── server/ # HTTP 服务器
│ ├── user/ # 身份验证
│ └── utils/ # 实用工具
├── database/ # 数据库架构和迁移
│ └── resource/ # SQL 初始化文件
├── compose.yaml # Docker Compose 配置
├── config.yaml # 基础配置 (不可修改)
├── config.localdb.yaml # 你的环境配置
├── .env # 环境变量
├── main.py # 应用程序入口
├── requirements.txt # Python 依赖
├── package.json # Node.js 依赖
└── run.sh # 部署脚本
核心目录
包含 Agent 编排、消息历史记录以及 HTTP (SSE) 和 WebSocket 协议适配器的聊天服务。
MCP 协议实现,包含 JSON-RPC 2.0 处理器、工具/资源加载和身份验证。
健康数据平台,包含 OAuth 提供商、Apple 健康集成、文件处理和数据聚合。
可通过 MCP 发现的公共工具、资源和 Agent。在此处添加自定义工具。
下一步
Provider 集成
添加新的 Provider 集成