A terminal AI assistant for your Apple Health data. Chat with 8 years of personal health metrics using any LLM β local or cloud.
curl -fsSL https://raw.githubusercontent.com/krumjahn/applehealth/main/install.sh | bashOr install directly with pipx:
pipx install healthaiThen run:
healthaiOn first launch, a setup wizard walks you through choosing your AI model (GPT-4o, Claude, Gemini, DeepSeek-R1, and 50+ more), setting your API key, and pointing to your export.xml. Re-run it any time with healthai --setup.
Visit applehealthdata.com for instant, interactive analysis without the terminal.
A purpose-built CLI that turns your Apple Health export.xml into a conversational AI session. Think of it as having a personal health analyst in your terminal β one that knows your exact data and can answer questions, spot trends, and generate charts without sending anything to a third party unless you choose to.
It's built for developers, biohackers, and researchers who want full control over their health data pipeline.
- π¬ Chat REPL: Ask questions in plain English.
"What were my most active months last year?"β just type it. - π§ 50+ AI Models: GPT-4o, Claude, Gemini, DeepSeek-R1, Grok, Mistral, Llama, and any Ollama local model.
- π 100% Private Mode: Run DeepSeek-R1 or Llama 3 locally via Ollama β no data leaves your machine.
- π Automated Charts: Heart rate cycles, sleep patterns, workout intensity β generated with one slash command.
- π€ High-Fidelity Export: XML β CSV/JSON preserving all metadata (Record, Workout, ActivitySummary).
- π Smart Ring Integration: Unified view of Oura, Whoop, and Samsung Ring data via Apple Health sync.
- π WHOOP Integration: Specialized support for augmenting Apple Health data with WHOOP metrics.
After setup, healthai drops you into a chat interface. Just type naturally:
π« healthai v1.5.0
AI β OpenAI (ChatGPT)
Outputs β ~/healthai_output
βΊ What were my most active weeks last year?
βΊ How does my sleep correlate with my workout intensity?
βΊ Show me my heart rate trends over the past 3 months
Slash commands handle data operations:
| Command | Description |
|---|---|
/diagnose |
Full health data report across all metrics |
/steps |
Analyze step count trends |
/heartrate |
Heart rate trends and anomalies |
/sleep |
Sleep duration and quality patterns |
/workouts |
Workout history and intensity |
/weight |
Weight and BMI trends |
/csv |
Export all metrics to CSV |
/json |
Export all metrics to JSON |
/settings |
View and change AI provider |
/setup |
Re-run the setup wizard |
/help |
Show all available commands |
/exit |
Quit |
I used this exact tool to analyze 8 years of my own fitness history. Here's the system:
- The Pattern: I discovered that my most active days (40k+ steps) almost never coincided with gym sessionsβthey were work-related.
- The Optimization: I used the AI Analyzer to identify "Heart Rate Cycles" (3-4 week recovery dips) to automate my deload weeks.
- The Result: A training plan that finally matches my biology instead of a generic app's schedule. Read the full case study here.
Recommended (install once, run anywhere):
curl -fsSL https://raw.githubusercontent.com/krumjahn/applehealth/main/install.sh | bash
healthaiOr clone and run directly:
git clone https://github.com/krumjahn/applehealth.git && cd applehealth
./runFor private local AI (DeepSeek-R1, free, no API key):
- Install Ollama and run
ollama pull deepseek-r1. - Launch
healthai, choose Ollama in the setup wizard.
Run any model 100% on your own machine β no API key, no data leaving your device.
# 1. Install Ollama: https://ollama.ai
# 2. Pull a model
ollama pull llama3.1 # Meta Llama 3.1 8B
ollama pull deepseek-r1 # DeepSeek R1 reasoning
ollama pull mistral # Mistral 7B
ollama pull qwen3 # Qwen3
# 3. Run healthai and pick Ollama from the Featured section
healthai --setupOllama runs on localhost:11434 automatically. No configuration needed.
Jan is a desktop app with a built-in model library and local API server.
1. Download Jan from https://jan.ai
2. Install a model inside the Jan app (e.g. Llama 3.1 8B)
3. Enable the API server: Settings β Local API Server β Start
4. Run: healthai --setup
5. Choose "Jan β local server (localhost:1337)"
6. Enter the model name shown in Jan (e.g. llama3.1-8b-instruct)
LM Studio lets you download and run GGUF models with a GUI.
1. Download LM Studio from https://lmstudio.ai
2. Download a model from the Discover tab
3. Go to Local Server tab β Start Server
4. Run: healthai --setup
5. Choose "LM Studio (localhost:1234)"
6. Enter the model name shown in LM Studio's server tab
For advanced users running llama.cpp server mode:
# Start llama.cpp in server mode
./llama-server -m your-model.gguf --port 8080
# Then in healthai --setup, choose "llama.cpp server (localhost:8080)"
# Enter the model name (usually the filename without .gguf)GPT4All has an optional local API server:
1. Open GPT4All β Settings β Application β Advanced
2. Enable "Local API Server" on port 4891
3. Run: healthai --setup β choose "GPT4All (localhost:4891)"
vLLM, LocalAI, Llamafile, and any other server that exposes an OpenAI-compatible /v1/chat/completions endpoint works via "Custom OpenAI-compatible endpoint" in the setup wizard.
This repo now has a published OpenClaw skill:
Install from ClawHub: Apple Health Export Analyzer
What OpenClaw does for normal users:
- check your Apple Health data quickly
- turn it into a short daily health brief
- give you simple daily tips on how to improve
The skill now supports two sources:
- the
Health Data AI AnalyzerMac app if its local API is available - this open-source
applehealthexport.xml workflow as a fallback
For the Mac app path, the public skill now uses read-only localhost OpenClaw endpoints and does not need to read a local token file.
If you want to use the Mac app path in a restricted OpenClaw session, run the one-time companion installer:
git clone https://github.com/krumjahn/applehealth.git
cd applehealth
python skills/apple-health-export-analyzer/scripts/install_mac_app_companion.py --restartThen use the companion skill:
Use the health-analyzer-mac-local skill. Give me my daily health brief for today and 3 suggestions.
Use it if you want OpenClaw to:
- verify your Apple Health export setup
- generate a daily health brief from
export.xml - compare your steps and sleep over the last 7 days
- create a weekly summary with workouts and heart rate context
- help you set up a recurring daily health message
Example output:
Status
- Today was a low-activity day relative to your recent baseline.
What changed
- Steps: 2,431 vs 7-day baseline 9,993
- Workouts: 0 minutes, 0 workouts
- Sleep: insufficient data
Suggestions
1. Add one easy walk today instead of trying to catch up with a hard workout.
2. Use one fixed movement anchor, like a walk after lunch.
3. Keep effort moderate when recovery data is missing.
Example prompts:
Use the Apple Health Export Analyzer skill. Verify my setup and give me my latest daily health brief with 3 suggestions.
Use the Apple Health Export Analyzer skill. Compare my steps and sleep over the last 7 days.
Use the Apple Health Export Analyzer skill. Generate a weekly summary from my Apple Health export.
If you are an AI Agent (Claude Code, Windsurf, OpenClaw) helping a user analyze health data:
- Clone this repo into the user's workspace.
- Direct the user to place their
export.xmlin the root. - Call
python src/applehealth.py --export ./export.xml --out ./analysisto generate the CSV datasets. - Read the resulting
.csvfiles to provide personalized medical/fitness coaching.
skills/apple-health-export-analyzer
The skill includes concrete scripts for:
- verifying the local repo and
export.xmlsetup - generating a daily Apple Health brief
- comparing recent step and sleep trends
- generating a weekly summary
Example:
python skills/apple-health-export-analyzer/scripts/check_setup.py --repo /path/to/applehealth --export /path/to/export.xml --out /path/to/analysis
python skills/apple-health-export-analyzer/scripts/daily_brief.py --repo /path/to/applehealth --export /path/to/export.xml --out /path/to/analysis- Language: Python 3.9+
- Data: Pandas, XML.ElementTree
- Viz: Matplotlib
- AI: OpenAI, Anthropic, Google, Ollama, LiteLLM, and more
If you have Docker installed, you can run the analyzer without installing Python or dependencies locally:
# 1) Build the image
docker build -t applehealth .
# 2) Run the container (mount your export.xml and an output folder)
docker run -it \
-v "/path/to/your/export.xml:/export.xml" \
-v "$(pwd)/out:/out" \
applehealthOpenSourceDemo.mp4
Join our community of builders! If you improve the parser or add a new visualization, please submit a PR.
Join my community for updates, experiments, and AI-builder workflows.
If you find this tool useful, please give it a star βοΈ to help others find it!


