← 返回 Skills 市场
tankeito

Health Mate

作者 tankeito · GitHub ↗ · v1.5.4 · MIT-0
cross-platform ✓ 安全检测通过
476
总下载
1
收藏
1
当前安装
30
版本数
在 OpenClaw 中安装
/install health-mate
功能描述
Executable OpenClaw health-report skill with Chinese, English, and Japanese report flows. It reads Markdown logs only from an explicitly configured MEMORY_DI...
使用说明 (SKILL.md)

Health-Mate

Health-Mate is an executable OpenClaw skill, not a prompt-only package.

It reads structured Markdown logs from MEMORY_DIR, generates localized PDF reports, and can optionally deliver the final message to external services.

What It Does

  • Parses meals, hydration, exercise, symptoms, medication, and custom monitoring sections
  • Generates daily reports with scoring, detail sections, AI insight, risk alerts, and next-day actions
  • Generates weekly reports with rings, paired trend charts, audience-specific insight modules, weekly review, and next-week plan
  • Generates monthly reports with radar, branch-aware heatmaps, 30-day weight and BMR trend, specialty charts, follow-up reminders, and clinic suggestions
  • Supports explicit report routing through report_preferences.population_branch, while the setup wizard still auto-suggests lifestyle vs disease mode from the primary goal
  • Switches balanced / fat_loss reports into a lifestyle-review path with activity heatmaps, energy-balance, habit-progression, and lean-mass/fat-mass charts while skipping hospital lookup
  • Supports multi-condition management in both LLM and local fallback paths
  • Keeps core parsing, scoring, and PDF rendering local

Installation

pip install -r requirements.txt

Dependencies:

  • reportlab
  • pillow
  • matplotlib

Required Runtime Setup

Required:

  • MEMORY_DIR

Optional:

  • NVM_DIR
  • CRON_PATH
  • OPENCLAW_BIN
  • TAVILY_API_KEY
  • DINGTALK_WEBHOOK
  • FEISHU_WEBHOOK
  • TELEGRAM_BOT_TOKEN
  • TELEGRAM_CHAT_ID
  • LOG_FILE
  • REPORT_WEB_DIR
  • REPORT_BASE_URL
  • ALLOW_RUNTIME_FONT_DOWNLOAD

For ClawHub manual folder upload:

  • config/.env.example may be missing from the uploaded package
  • use the top-level env block inside config/user_config.example.json as the upload-safe reference template
  • the setup wizard can create a commented project-local config/.env template if the file does not already exist
  • runtime scripts still read project-local config/.env
  • keep only the keys you intend this skill to read inside project-local config/.env

Upgrade And Backup Notice

Before upgrading or reinstalling this skill, back up:

  • config/user_config.json
  • config/.env
  • any local font file you manually placed under assets/

Important:

  • some platform upgrade or reinstall flows may overwrite, reset, or remove local configuration files
  • after an upgrade, re-check MEMORY_DIR, report preferences, scoring modules, webhook settings, and Tavily settings before running scheduled jobs again
  • if needed, also verify report_preferences.population_branch in config/user_config.json

Local And Network Behavior

Expected local file I/O:

  • reads Markdown logs from MEMORY_DIR
  • reads project-local config/.env when shell runners are used and the file exists
  • the setup wizard may create a commented project-local config/.env template when the file is missing
  • may rely on config/user_config.example.json as the upload-safe env reference during manual installation
  • writes PDFs into reports/
  • writes logs into logs/
  • may create a temporary English memory mirror for rendering fallback

Expected network I/O:

  • Tavily only when TAVILY_API_KEY is configured
  • webhook delivery only when the matching delivery credentials are configured
  • runtime font download only when ALLOW_RUNTIME_FONT_DOWNLOAD=true

Important:

  • there is no implicit default MEMORY_DIR fallback in the shell runners
  • the skill exits if MEMORY_DIR is missing
  • shell runners use NVM_DIR and CRON_PATH from the environment or project-local config/.env, with built-in defaults when those keys are missing
  • the Python local-LLM resolver uses OPENCLAW_BIN first and then tries common install paths without hardcoding a single fixed cron PATH

Commands

  • /health Daily report

  • /health summary Weekly report

  • /health month Monthly report

Memory Write Protocol

When writing into MEMORY_DIR, the model must act like a strict recorder.

Hard rules:

  1. Never write commentary, advice, summaries, emoji, or chat filler into the file.
  2. Meals, hydration, medication events, and exercise events must use level-3 headings with time markers.
  3. Hydration blocks must remain minimal and structured.
  4. Step totals must stay in one dedicated level-2 block.
  5. Monitoring modules must use stable level-2 headings.
  6. Use one language per block.

Core template:

# 2026-03-20 Health Log

## Meals
### Breakfast (around 08:30)
- Oatmeal 50g -> approx. 190kcal
- Skim milk 250ml -> approx. 87kcal

## Hydration
### Morning (around 09:45)
- Water intake: 300ml
- Cumulative: 300ml/2000ml

## Exercise
### Afternoon Cycling (around 17:17)
- Distance: 10km
- Duration: 47min
- Burn: approx. 300kcal

## Today Steps
- Total steps: 8500 steps

Chinese core template:

# 2026-03-20 健康记录

## 体重记录
- 晨起空腹:64.4kg

## 饮水记录
### 上午(约 08:45)
- 饮水量:300ml
- 累计:300ml/2000ml

## 饮食记录
### 早餐(约 08:50)
- 燕麦片 50g -> 约 190kcal
- 脱脂牛奶 250ml -> 约 87kcal

## 运动记录
### 下午骑行(约 17:10)
- 距离:10.2km
- 耗时:42min
- 消耗:约 290kcal

## 今日步数
- 总步数:8200 步

## 用药记录
- 胆舒胶囊:1 粒

Chinese monitoring-module constraints:

  • ## 血压记录 / ## 血糖记录 / ## 体成分 / ## 生化记录 must stay as stable level-2 titles
  • numeric monitoring blocks should use stable item labels such as - 血压:128/82 mmHg, - 血糖:7.1 mmol/L, - ALT:34 U/L
  • do not mix commentary into monitoring blocks
  • do not turn monitoring blocks into tables
  • do not rename the same monitoring module on different days unless the user intentionally changed the module name

Recommended LLM instruction:

  • paste the English or Chinese template above directly into your system prompt, soul.md, or memory-write policy so the model stays inside the parser-safe structure
  • if custom modules are enabled in user_config.json, add their exact section titles to the LLM write protocol and keep those titles stable across days

Expandable monitoring modules:

## Blood Pressure
### Morning (around 08:00)
- Blood Pressure: 128/82 mmHg
- Heart Rate: 72 bpm

## Glucose Record
### After Breakfast (around 10:10)
- Glucose: 7.1 mmol/L
- Timing: 2h after breakfast

## Body Composition
- Weight: 64.4kg
- Body Fat: 18.6%

## Biochemistry
- ALT: 34 U/L
- AST: 28 U/L

Forbidden content:

  • Assessment
  • Status
  • Summary
  • motivational filler
  • debug notes
  • system logs
  • tables inside daily memory files

Monthly Report Expectations

The monthly report now includes:

  • macro adherence radar
  • healthy-day donut chart based on the full calendar month
  • symptom and medication heatmap
  • 30-day weight and BMR trend
  • condition-specific specialty charts
  • lifestyle-mode specialty charts for balanced / fat_loss: energy balance, four-week habit progression, and lean-mass/fat-mass composition
  • AI monthly review
  • follow-up reminders or periodic screening suggestions, depending on the active monthly mode
  • residence-aware hospital-and-doctor suggestions with grouped recommendations, grades, booking hints, and optional fee / schedule fields for disease-management modes

If the user manages multiple conditions, the monthly report should combine them instead of collapsing to a single narrow perspective.

Font Fallback

Preferred CJK font paths:

  • assets/NotoSansSC-VF.ttf
  • assets/NotoSansJP-VF.ttf

If one of them is missing:

  • the skill may switch to an English-compatible rendering path
  • the output adds a rendering notice
  • users who need Chinese PDF output should place NotoSansSC-VF.ttf into assets/
  • users who need Japanese PDF output should place NotoSansJP-VF.ttf into assets/

Changelog

v1.5.4 - 2026-04-01

  • Enhanced PDF visual styling with refined layout and improved readability
  • Fixed minor formatting issues in daily, weekly, and monthly report generators
  • Optimized symbol rendering for better cross-platform compatibility

v1.5.3 - 2026-03-29

  • Sanitized local-LLM stdout before AI commentary is embedded into push text or PDFs, preventing OpenClaw plugin-registration logs from leaking into reports
  • Added a second daily-PDF commentary filter as a defensive fallback for unexpected plugin log fragments
  • Aligned direct Python execution with the shell runners by auto-loading project-local config/.env when variables are not already exported

v1.5.2 - 2026-03-25

  • Updated the upload-safe env example with OpenClaw default MEMORY_DIR, sanitized web-publish placeholders, and the shared LOG_FILE example
  • Extended init_config.py so first-time setup can create a commented project-local config/.env template without overwriting an existing one
  • Clarified SKILL metadata and runtime notes around project-local .env, cron PATH helpers, and optional-network behavior
  • Verified that the setup wizard really creates the commented config/.env template when the file is missing
  • Added a monthly lifestyle-review split for balanced / fat_loss, including new charts, renamed section titles, screening suggestions, and hospital-lookup bypass

v1.5.1 - 2026-03-24

  • Optimized Cron environment configuration for reliable LLM invocation in scheduled tasks
  • Embedded the upload-safe env reference into config/user_config.example.json
  • Kept daily_health_report_pro.sh, weekly_health_report_pro.sh, and monthly_health_report_pro.sh loading environment variables from .env
  • Changed all shell script comments to English for better internationalization
  • Ensures scheduled daily/weekly/monthly reports can successfully call local LLM for AI insights

v1.5.0 - 2026-03-23

  • Removed the legacy scripts/health_report_pro.py and scripts/pdf_generator.py wrappers
  • Extended init_config.py to cover ja-JP
  • Clarified env-first local LLM resolution through OPENCLAW_BIN and common-path auto-discovery
  • Added explicit Japanese font fallback guidance and English-fallback notice behavior

v1.4.0 - 2026-03-21

  • Added monthly reporting
  • Added weekly and monthly symptom and medication heatmaps
  • Added monthly weight and BMR trend output
  • Added residence-aware monthly medical planning
  • Refreshed README, README_ZH, SKILL metadata, and package metadata
安全使用建议
This skill appears to do what it says: read Markdown health logs from the MEMORY_DIR you explicitly set, generate PDFs locally, and optionally send reports to webhooks or Tavily only if you configure those credentials. Before installing or enabling it: 1) set MEMORY_DIR to the exact folder of health logs (the skill will exit if not set); 2) inspect or create project-local config/.env carefully — only include keys you intend the skill to read, because the runners will source that file; 3) do not set webhook or Tavily credentials unless you want the skill to send data externally (DingTalk/Feishu/Telegram requests are performed by the included scripts); 4) leave ALLOW_RUNTIME_FONT_DOWNLOAD disabled unless you explicitly permit the skill to download fonts at runtime (it fetches fonts from raw.githubusercontent.com / Google Fonts if enabled); 5) be aware the runners may source NVM and can run local binaries (OPENCLAW_BIN/subprocess calls) — run in an isolated environment if you have concerns; and 6) back up config/user_config.json and config/.env before upgrades as documented. If you want a higher assurance review, ask for a quick audit of any subprocess calls and of any code paths that invoke an external local LLM (OPENCLAW_BIN) so you can confirm they do not invoke unexpected networked tooling.
功能分析
Type: OpenClaw Skill Name: health-mate Version: 1.5.4 Health-Mate is a comprehensive health tracking and reporting skill that aggregates user-logged data into daily, weekly, and monthly PDF reports. It uses the `openclaw` CLI for local LLM analysis and the Tavily API for clinic recommendations, both of which are aligned with its stated purpose. Network activity is limited to user-configured webhooks (DingTalk, Feishu, Telegram) and optional font downloads. The code is well-structured, lacks obfuscation, and high-risk capabilities like file I/O and subprocess execution (found in `daily_report_pro.py` and `monthly_report_pro.py`) are used strictly for report generation and local LLM interaction as described in `SKILL.md`.
能力评估
Purpose & Capability
Name/description (localized health report generator) match the code and declared capabilities. The skill only requires MEMORY_DIR (reads Markdown health logs), writes reports/logs locally, generates PDFs, and has optional webhook/Tavily/font download behavior. Required binaries and envs are proportionate to the stated purpose.
Instruction Scope
SKILL.md and scripts limit data access to the explicitly configured MEMORY_DIR and project-local config/.env; shell runners source project-local config/.env (documented). The code also uses subprocess and may call a local OPENCLAW_BIN/local LLM resolver when configured. Network calls (webhooks, Tavily, font downloads) occur only when corresponding env vars are set. Users should note the skill will read any keys present in config/.env and that local execution of binaries (via subprocess or shell runners) is supported.
Install Mechanism
No high-risk install: install is pip install -r requirements.txt with common packages (reportlab, pillow, matplotlib). There is no archive download at install time. Runtime font downloads use known hosts (raw.githubusercontent.com and Google Fonts) but are opt-in via ALLOW_RUNTIME_FONT_DOWNLOAD.
Credentials
Only MEMORY_DIR is required. Optional env vars (NVM_DIR, CRON_PATH, OPENCLAW_BIN, TAVILY_API_KEY, webhook tokens, LOG_FILE, REPORT_WEB_DIR, etc.) align with functionality. Caveat: the skill reads project-local config/.env and will import keys not already in the environment — store only keys you intend to share. Webhook and Tavily credentials (if set) enable outbound network activity; verify you trust configured webhook endpoints.
Persistence & Privilege
always:false (not force-included). The skill writes reports/logs in project-local directories (reports/, logs/) and may create a commented config/.env template during setup. Autonomous invocation is allowed (platform default) and combined with optional webhooks/Tavily could send generated content externally, but network sending requires explicit configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install health-mate
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /health-mate 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.5.4
Health-Mate 1.5.4 - Added archive_memory.py script for archiving memory data. - No changes were made to existing code or configuration.
v1.5.3
- AI commentary from local-LLM is now sanitized before being embedded into reports. - Updated description to clearly mention the stdout sanitization step for AI commentary. - No other functional or file changes in this release.
v1.5.2
**Health-Mate 1.5.2 includes monthly report customization and config template upgrades.** - Added `scripts/export_memory_jp.py`. - Monthly report flow now separates disease mode from balanced/fat-loss lifestyle mode. - Project-local `config/.env` template can now be created by the setup wizard if missing. - Expanded environment variable support: introduced `NVM_DIR`, `CRON_PATH`, and `LOG_FILE` options. - Improved monthly reports with branch-aware heatmaps and activity/lifestyle charts in lifestyle mode. - Updated documentation to reflect new setup, environment, and reporting behaviors.
v1.5.1
v1.5.1 is a minor update for manual upload and install environments. - Clarified installation instructions for ClawHub manual folder upload. - Explicitly referenced `user_config.example.json` for environments missing `config/.env.example`. - No code or functional changes.
v1.5.0
v1.5.0 adds Japanese language support and streamlines the report generation structure. - Japanese (`ja-JP`) reports and language auto-detection now supported - Add optional `HEALTH_MATE_LANG` and `OPENCLAW_BIN` environment variables for locale and binary path control - Separated daily, weekly, and monthly runners and PDF generators for clearer structure (`scripts/daily_pdf_generator.py` etc.) - Removed legacy monolithic runners (`scripts/health_report_pro.py`, `scripts/pdf_generator.py`) - Clarified documentation, environment setup, and font requirements for multi-language output (Chinese/Japanese/English) - Various config, metadata, and i18n enhancements
v1.4.1
- Added an "Upgrade And Backup Notice" section with guidance on backing up local configuration, font files, and environment files before upgrading or reinstalling - Expanded documentation with specific Chinese logging templates and stricter module-naming rules for bilingual memory files - Clarified LLM instruction on enforcing memory-write templates and use of custom monitoring modules - No code changes; documentation improvements only
v1.4.0
Health-Mate v1.4.0 introduces monthly health reporting and expands analytics. - Added monthly report generation with macro adherence radar, calendar donut, trend charts, and medical planning - Included weekly and monthly symptom/medication heatmaps and weight/BMR trends - Implemented residence-aware clinic/doctor suggestions in the monthly report - Updated README, SKILL docs, and metadata to reflect new features and commands
v1.3.5
**v1.3.5 – Improved MEMORY_DIR handling and optional font fallback for Chinese PDF reports** - Requires explicit MEMORY_DIR; automatic fallback to global paths is removed for increased security. - New ALLOW_RUNTIME_FONT_DOWNLOAD option: disables runtime CJK font download by default. English rendering fallback is automatic if the bundled Chinese font is missing. - Improved workflow when rendering Chinese reports without a local CJK font: generates PDF in English with a rendering notice if font is unavailable. - Added scripts/export_memory_en.py for exporting memory entries in English. - Documentation updates reflecting stricter environment requirements and font handling.
v1.3.4
**Security warnings and environment requirements clarified.** - MEM­ORY_DIR is now marked as strictly REQUIRED to prevent fallback to global workspace memory. - Explicit security warnings added to documentation and environment variable descriptions. - Clarified behavior: will read local `config/.env` if available. - Outbound network access is now documented as opt-in and strictly scoped (Webhooks, Tavily, fonts). - Environment variable documentation has been condensed and made more explicit. - No functional changes to command structure or report generation logic.
v1.3.3
Health-Mate v1.3.3 - Improved English/Chinese PDF generation with weekly chart rendering and dynamic section summary in reports. - Added support for summary and monitoring of custom sections (e.g., medication, biochemistry) in weekly output. - Enhanced fallback and LLM path logic: both now evaluate full condition sets for commentary, planning, and review text. - Expanded `TAVILY_API_KEY` usage for local fallback in commentary, planning, and suggestions. - Updated documentation for revised features and environment variable roles.
v1.3.2
## Health-Mate v1.3.2 Changelog - Updated skill metadata in SKILL.md and _meta.json for improved environment variable requirement handling. - Now explicitly declares MEMORY_DIR as a required environment variable in metadata, clarifying deployment needs. - No changes to skill features or runtime logic.
v1.3.1
Health-Mate v1.3.1 - Synchronized the Memory Write Protocol with stricter `soul.md` rules for predictable and safe markdown parsing. - Clarified that hydration blocks must contain exactly two lines—no extra commentary or fields allowed. - Updated documentation and release metadata to reflect 1.3.1. - No code or interface changes outside documentation and metadata.
v1.3.0
- Added full bilingual (English & Chinese) support for prompts, markdown parsing, PDF rendering, and delivery. - Introduced a new language layer and English-first file templates, maintaining backward compatibility with Chinese records. - Enforced a stricter Memory Write Protocol with separate Chinese and English templates and anti-commentary guidelines. - Improved config, documentation, and metadata to reflect bilingual operation and recommend canonical English ids. - Enhanced markdown parsing for all health record types to support both languages seamlessly.
v1.1.17
Health-Mate 1.1.17 focuses on privacy and deployment clarity. - Enhanced privacy statement: clarified "only push to endpoints you trust" and data handling transparency. - Improved offline/airgap deployment guidance for PDF font assets (pre-download to avoid network requests). - Added explicit recommendations for isolating "memory protocol" prompts to dedicated agent instances. - Minor updates to documentation, environment variable descriptions, and versioning for accuracy and safety.
v1.1.16
health-mate v1.1.16 - Updated version number and related metadata to 1.1.16. - Refreshed documentation in SKILL.md and README.md. - No feature code changes; this release is documentation and metadata updates only.
v1.1.15
## Health-Mate 1.1.15 – Changelog - Documentation updates: README.md and SKILL.md updated for clarity and completeness. - Metadata version bump from 1.1.13 to 1.1.15. - No logic or code changes; only documentation and metadata improved.
v1.1.14
health-mate 1.1.14 - Updated environmental variable descriptions to clarify only-read access to MEMORY_DIR and the data scope for Webhook usage. - Added a description field highlighting security, network scope, and usage transparency. - No functional logic or core feature changes; documentation and metadata refined for privacy and safety clarity.
v1.1.13
health-mate 1.1.13 - Updated documentation in README.md and SKILL.md for improved clarity and accuracy. - Minor internal changes in scripts/health_report_pro.py and scripts/pdf_generator.py for better report generation. - Updated _meta.json to match versioning and metadata. - No breaking changes to user-facing commands or configuration.
v1.1.12
- updated 3 file(s). - Updated SKILL.md and bundle contents.
v1.1.11
- added 3, updated 6 file(s). - Updated SKILL.md and bundle contents.
元数据
Slug health-mate
版本 1.5.4
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 30
常见问题

Health Mate 是什么?

Executable OpenClaw health-report skill with Chinese, English, and Japanese report flows. It reads Markdown logs only from an explicitly configured MEMORY_DI... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 476 次。

如何安装 Health Mate?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install health-mate」即可一键安装,无需额外配置。

Health Mate 是免费的吗?

是的,Health Mate 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Health Mate 支持哪些平台?

Health Mate 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Health Mate?

由 tankeito(@tankeito)开发并维护,当前版本 v1.5.4。

💬 留言讨论