AI Health Symptom Tracker: Why Patterns Are Invisible Without Consistent Logs
Imagine facing low-energy afternoons every Tuesday and Thursday but lacking data to confirm if it's diet, sleep, or caffeine. You've tried multiple apps, but the friction of logging mid-day kills consistency. What if an AI health symptom tracker sent you gentle check-in reminders at 8 AM, 1 PM, and 9 PM, accepting plain English logs like “had coffee at 10, headache started around 2, slept badly last night”? It records everything locally, preserving your privacy. A weekly pattern analysis then reveals correlations—without exposing your raw data beyond a structured call to WisGate.
This low-friction solution is a prime example among OpenClaw use cases for personal productivity and health.
By the end, you'll configure an AI agent that automates daily reminders, natural language logging, weekly trigger reports, and keeps 100% of your health details private on your machine. You can validate analysis quality with your own data at WisGate AI Studio before the first report. Explore WisGate Studio at https://wisgate.ai/studio/image and get your API keys at https://wisgate.ai/hall/tokens.
What the Health Tracker Agent Does
OpenClaw organizes this health tracker into three clear modes with distinct models:
| Mode | Trigger | Model | Action |
|---|---|---|---|
| Check-in reminder | Cron, 3× daily | claude-haiku-4-5-20251001 | Sends friendly, time-of-day prompts |
| Log ingestion | On check-in reply | claude-haiku-4-5-20251001 | Parses natural language, appends structured log |
| Weekly analysis | Cron, once weekly | claude-sonnet-4-5 | Analyzes 7-day logs for symptom-trigger patterns |
Privacy Architecture — Core Trust Signal
User reply → OpenClaw (local) → parses + appends to health-log.json (local) ↓ (weekly only) WisGate API (sends only structured log excerpts, no raw conversations) ↓ Trigger pattern report → delivered locally
All raw conversational and personal details stay on your device. Only anonymized, structured weekly logs are sent externally.
OpenClaw API Health Tracking Automation: WisGate and Cron Setup
Follow these steps to configure OpenClaw with WisGate:
Step 1 — Open the configuration file
OpenClaw stores its configuration in a JSON file in your home directory. Open your terminal and edit:
nano ~/.openclaw/openclaw.json
Step 2 — Add the WisGate provider to your models section
Insert this into the "models" section, replacing WISGATE-API-KEY with your key:
"models": {
"mode": "merge",
"providers": {
"moonshot": {
"baseUrl": "https://api.wisgate.ai/v1",
"apiKey": "WISGATE-API-KEY",
"api": "openai-completions",
"models": [
{
"id": "claude-haiku-4-5-20251001",
"name": "Claude Haiku 4.5",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 256000,
"maxTokens": 8192
},
{
"id": "claude-sonnet-4-5",
"name": "Claude Sonnet 4.5",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 256000,
"maxTokens": 8192
}
]
}
}
}
Step 3 — Save, exit, and restart OpenClaw
1. Ctrl + O → Enter to save
2. Ctrl + X to exit
3. Ctrl + C to stop current session
4. Run openclaw tui to start fresh
Step 4 — Validate the trigger analysis call before the first weekly report
Use this example cURL command to test your weekly analysis prompt with sample logs.
curl -s -X POST \
"https://api.wisgate.ai/v1/chat/completions" \
-H "Authorization: Bearer $WISDOM_GATE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"messages": [
{
"role": "system",
"content": "[PASTE TRIGGER ANALYSIS SYSTEM PROMPT HERE]"
},
{
"role": "user",
"content": "[PASTE SAMPLE LOG FILE CONTENT HERE]"
}
],
"max_tokens": 1024
}' | jq -r '.choices[0].message.content'
Confirm response quality at https://wisgate.ai/studio/image before enabling weekly cron.
Recommended Cron Schedule
# Check-in reminders — three times daily
0 8 * * * openclaw run --agent health-tracker --mode checkin --time morning
0 13 * * * openclaw run --agent health-tracker --mode checkin --time afternoon
0 21 * * * openclaw run --agent health-tracker --mode checkin --time evening
# Weekly trigger analysis — every Sunday at 08:00
0 8 * * 0 openclaw run --agent health-tracker --mode weekly-analysis
Adjust check-in times to fit your lifestyle; these bracket meals and rest periods.
LLM Personal Health Agent: Check-in, Logging, and Analysis Prompts
⚠️ Disclaimer — To display prominently and embed in prompts
This agent logs personal observations and identifies statistical patterns in self-reported data. It is not a medical advisor and does not provide diagnosis, medical advice, or treatment recommendations. Consult a healthcare professional for any health concerns.
Check-in system prompt (Haiku, runs 3× daily)
You are a personal health tracking assistant. You are not a medical advisor.
Send a brief, friendly check-in message appropriate for the time of day:
- Morning: ask about sleep quality (1–5), any overnight symptoms, and breakfast
- Afternoon: ask about lunch, energy level (1–5), and any symptoms since morning
- Evening: ask about dinner, any symptoms during the day, and overall day rating (1–5)
Keep the message to 2 sentences maximum. Be conversational, not clinical.
After the user replies, parse their response and confirm what you logged:
"Logged: [summary of what was recorded]"
Log ingestion — structured JSON entry format (appended to health-log.json)
{
"timestamp": "2026-03-13T08:15:00",
"check_in_type": "morning",
"food": ["oatmeal", "coffee"],
"symptoms": [],
"sleep_quality": 3,
"energy_level": null,
"day_rating": null,
"notes": "woke up at 3am, took a while to fall back asleep"
}
Weekly trigger analysis system prompt (Sonnet, runs Sunday)
You are a personal health pattern analyst. You are not a medical advisor.
Analyze the 7-day health log provided and identify:
1. Symptom frequency: which symptoms appeared most often and on which days
2. Potential food correlations: foods that appeared within 4 hours before symptom onset
(minimum 2 occurrences before flagging as a potential pattern — do not over-interpret single events)
3. Sleep correlation: whether sleep quality scores below 3 correlate with symptom days
4. Energy patterns: days and times of consistently low energy scores
Format the report as:
- PATTERNS FOUND: [list specific correlations with supporting data points]
- UNCERTAIN: [patterns that appear once — may or may not be meaningful]
- NO CLEAR PATTERN: [symptoms with no identifiable correlation in this week's data]
Close with: "This analysis is based on self-reported data over 7 days.
Consult a healthcare professional before making changes to diet or lifestyle."
Return plain prose. No medical diagnoses. No treatment suggestions.
Local Log Schema and Weekly Report Delivery
File locations
~/.openclaw/health-logs/health-log.json # Main append-only JSON log, one object per check-in
~/.openclaw/health-logs/reports/ # Weekly Markdown reports saved here
Weekly reports are saved as reports/week-[DATE].md and can optionally be emailed using SMTP configured separately (see Inbox De-clutter tutorial).
Log rotation
To avoid hitting token limits in weekly analysis, archive logs older than 90 days:
health-log-archive-[YEAR-QUARTER].json
Keep only the most recent 90 days actively in health-log.json.
OpenClaw Use Cases: Cost Per Week of Health Tracking
| Operation | Model | Calls/week | Tokens/call | Total tokens/week |
|---|---|---|---|---|
| Check-in reminders | Haiku | 21 (3×/day) | ~400 | ~8,400 |
| Log ingestion parsing | Haiku | 21 | ~300 | ~6,300 |
| Weekly analysis | Sonnet | 1 | ~4,000 input + ~800 output | ~4,800 |
| Weekly total | Mixed | — | — | ~19,500 |
Annual cost estimate
| Model | Annual tokens | WisGate cost (USD) | Direct API cost (USD) |
|---|---|---|---|
| Haiku | ~763,000 | Confirm from https://wisgate.ai/models | Confirm from https://wisgate.ai/models |
| Sonnet | ~250,000 | Confirm from https://wisgate.ai/models | Confirm from https://wisgate.ai/models |
| Total | ~1,010,000 | Calculate based on latest prices | Calculate based on latest prices |
The Haiku check-in and logging steps are high-frequency but low-cost. The Sonnet weekly analysis, while lower frequency, adds rich insight for the cost.
OpenClaw Use Cases: Consistent Logging, Local Data, Weekly Insights
With cron schedules defined and system prompts ready, your health data stays local, stored in structured JSON logs. The only external call is a limited weekly WisGate API analysis using structured data — no raw chat data leaves your machine.
Deploy by setting cron jobs, pasting system prompts, testing a manual log entry, then running for 7 days before reviewing your first automated weekly report.
Meaningful trigger patterns typically emerge after 2–3 weeks of consistent logging.
Explore related productivity agents like Family Calendar & Household Assistant. For SMTP email reports, see the Inbox De-clutter tutorial.
Get your WisGate API key at https://wisgate.ai/hall/tokens and test your trigger analysis in https://wisgate.ai/studio/image.