跳转到主要内容

安装方式

选择最适合你需求的安装方式:

验证安装

安装完成后,请验证各项功能是否正常:
1

检查服务健康状态

curl http://localhost:18080/health
期望响应:
{
  "status": "healthy",
  "version": "1.0.1",
  "services": {
    "database": "connected",
    "redis": "connected"
  }
}
2

列出可用 providers

curl http://localhost:18080/api/v1/pulse/providers
应返回可用健康 providers 列表。
3

查看日志

查看应用日志,确保没有错误:
# Docker deployment
docker-compose logs -f backend

# Direct installation
# 日志会输出在运行 main.py 的终端中

安装后配置

要启用健康设备集成,你需要为每个 provider 准备 OAuth 凭据。获取与配置 OAuth 凭据的详细说明请参见配置指南,包括:
  • Garmin Connect
  • Whoop
  • 自定义 providers
要启用 AI 功能,请在 config.yaml 中添加 API keys:
# REQUIRED API Keys
OPENROUTER_API_KEY: 'your_openrouter_api_key'  # For AI chat/agents
GOOGLE_API_KEY: 'your_google_api_key'  # For file processing (Gemini)

# Optional
OPENAI_API_KEY: 'your_openai_api_key'
  • OPENROUTER_API_KEY:AI 对话与 agent 功能必填
  • GOOGLE_API_KEY:使用 Gemini 处理文件(PDF、图片、医疗记录等)必填
  • OPENAI_API_KEY:可选,仅用于 OpenAI 相关特性
生产环境请设置安全的加密 key:
DATABASE_DECRYPTION_KEY: 'your_32_char_encryption_key'
JWT_KEY: 'your_secure_jwt_secret'
生产环境请使用强度高且随机生成的 key,切勿提交到版本控制系统。
配置兼容 S3 的存储用于数据备份:
S3_KEY: 'your_access_key'
S3_TOKEN: 'your_secret_key'
S3_REGION: 'us-east-1'
S3_BUCKET: 'your-bucket-name'

目录结构

安装完成后,目录结构大致如下:
mirobody-health/
├── connect/                    # Provider integrations
│   ├── __init__.py
│   └── theta/                 # Theta platform providers
│       ├── mirobody_garmin_connect/
│       └── mirobody_whoop/
├── docker/                     # Docker configuration
│   ├── docker-compose.yaml
│   ├── Dockerfile.backend
│   ├── Dockerfile.base
│   └── Dockerfile.postgres
├── shell/                      # Utility scripts
│   ├── chat_test_commands.sh
│   └── get_tools.sh
├── config.yaml                 # Main configuration
├── .env                       # Environment variables
├── main.py                    # Application entry point
├── requirements.txt           # Python dependencies
├── setup.py                   # Package setup
└── README.md                  # Documentation

安装问题排查

Problem:Docker 命令因权限问题失败。Solution
# Linux: Add user to docker group
sudo usermod -aG docker $USER

# Log out and back in
newgrp docker
Problem:端口 18080 已被占用。Solution:在 config.yaml 中修改端口:
HTTP_PORT: 18081  # Use any available port
Problem:无法连接 PostgreSQL。Solutions
  1. 确认 PostgreSQL 正在运行:
    docker-compose ps postgres
    
  2. 检查 config.yaml 中的连接配置:
    PG_HOST: db  # 'db' for Docker, 'localhost' for local install
    PG_PORT: 5432
    PG_USER: holistic_user
    PG_DBNAME: holistic_db
    
  3. 查看数据库日志:
    docker-compose logs postgres
    
Problem:系统没有 Python 3.12。Solutions
brew install [email protected]
Problem:运行应用时出现 ModuleNotFoundErrorSolution
# Ensure all dependencies are installed
pip install -r requirements.txt

# Install in development mode
pip install -e .

卸载

删除所有容器、卷与镜像:
# Stop and remove containers
docker-compose down

# Remove volumes (WARNING: This deletes all data)
docker-compose down -v

# Remove images
docker-compose down --rmi all

下一步