health-trend-analyzer
npx skills add https://github.com/huifer/wellally-health --skill health-trend-analyzer
Agent 安装分布
Skill 文档
å¥åº·è¶å¿åæå¨
åæä¸æ®µæ¶é´å å¥åº·æ°æ®çè¶å¿å模å¼ï¼è¯å«ååãç¸å ³æ§ï¼å¹¶æä¾æ°æ®é©±å¨çå¥åº·æ´å¯ã
æ ¸å¿åè½
1. å¤ç»´åº¦è¶å¿åæ
- ä½é/BMI è¶å¿ï¼è¿½è¸ªä½éåBMIéæ¶é´çååï¼è¯ä¼°å¥åº·è¶å¿
- çç¶æ¨¡å¼ï¼è¯å«åå¤åºç°ççç¶ãé¢çååãæ½å¨è¯±å
- è¯ç©ä¾ä»æ§ï¼åæç¨è¯è§å¾ï¼è¯å«æ¼ææ¨¡å¼åæ¹å空é´
- åéªç»æè¶å¿ï¼è¿½è¸ªçåææ ååï¼èåºéãè¡ç³ãè¡åçï¼
- æ 绪ä¸ç¡ç ï¼å ³èæ ç»ªç¶æä¸ç¡ç è´¨éï¼è¯å«å¿çå¥åº·è¶å¿
2. ç¸å ³æ§åæå¼æ
- è¯ç©-çç¶ç¸å ³æ§ï¼è¯å«æ°è¯ç©æ¯å¦ä¸çç¶ååç¸å ³
- çæ´»æ¹å¼å½±åï¼å ³è饮é£/ç¡ç ä¸çç¶åæ 绪
- æ²»çææè¯ä¼°ï¼è¡¡éæ²»çæ¯å¦å¯¼è´æ¹å
- 卿-çç¶ç¸å ³æ§ï¼å¥³æ§å¥åº·è¿½è¸ªä¸ç卿ç¸å ³æ§
3. å忣æµ
- æ¾èååï¼è¦åå¿«éä½éååãæ°çç¶ãè¯ç©åå
- æ¶å模å¼ï¼æ©æè¯å«å¥åº·ç¶åµä¸é
- æ¹åè¯å«ï¼å¼ºè°ç§¯æçå¥åº·åå
- éå¼è¦æ¥ï¼æ¥è¿å±é©æ°´å¹³æ¶è¦åï¼è¾å°ãBMIæå¼ï¼
4. 颿µæ§æ´å¯
- é£é©è¯ä¼°ï¼åºäºè¶å¿è¯å«é£é©å ç´
- é¢é²å»ºè®®ï¼åºäºæ¨¡å¼å»ºè®®é¢é²æªæ½
- æ©æé¢è¦ï¼å¨é®é¢åå¾ä¸¥éä¹å颿µ
使ç¨è¯´æ
è§¦åæ¡ä»¶
å½ç¨æ·æå°ä»¥ä¸åºæ¯æ¶ï¼ä½¿ç¨æ¤æè½ï¼
éç¨è¯¢é®ï¼
- â “è¿å»ä¸æ®µæ¶é´æçå¥åº·æä»ä¹ååï¼”
- â “åææçå¥åº·è¶å¿”
- â “æç身ä½ç¶åµæä»ä¹ååï¼”
- â “å¥åº·ç¶åµæ»ç»”
å ·ä½ç»´åº¦ï¼
- â “æçä½é/BMIæä»ä¹è¶å¿ï¼”
- â “åææççç¶æ¨¡å¼”
- â “æçç¨è¯ä¾ä»æ§æä¹æ ·ï¼”
- â “æçåéªææ æä»ä¹ååï¼”
- â “æçæ 绪åç¡ç è¶å¿”
ç¸å ³æ§åæï¼
- â “æççç¶åä»ä¹ç¸å ³ï¼”
- â “æçè¯ç©ææåï¼”
- â “ç¡ç åæçæ 绪æä»ä¹å ³ç³»ï¼”
æ¶é´èå´ï¼
- é»è®¤åæè¿å»3个æçæ°æ®
- æ¯æï¼”è¿å»1个æ”ã”è¿å»6个æ”ã”è¿å»1å¹´”
- æ¯æï¼”2025å¹´1æè³ä»”ã”æè¿90天”
æ§è¡æ¥éª¤
æ¥éª¤ 1ï¼ç¡®å®åææ¶é´èå´
ä»ç¨æ·è¾å ¥ä¸æåæ¶é´èå´ï¼æä½¿ç¨é»è®¤å¼ï¼3个æï¼ã
æ¥éª¤ 2ï¼è¯»åå¥åº·æ°æ®
读å以䏿°æ®æºï¼
// 1. 个人档æ¡ï¼BMIãä½éï¼
const profile = readFile('data/profile.json');
// 2. çç¶è®°å½
const symptomFiles = glob('data/symptoms/**/*.json');
const symptoms = readAllJson(symptomFiles);
// 3. æ
绪记å½
const moodFiles = glob('data/mood/**/*.json');
const moods = readAllJson(moodFiles);
// 4. 饮é£è®°å½
const dietFiles = glob('data/diet/**/*.json');
const diets = readAllJson(dietFiles);
// 5. ç¨è¯æ¥å¿
const medicationLogs = glob('data/medication-logs/**/*.json');
// 6. 女æ§å¥åº·æ°æ®ï¼å¦éç¨ï¼
const cycleData = readFile('data/cycle-tracker.json');
const pregnancyData = readFile('data/pregnancy-tracker.json');
const menopauseData = readFile('data/menopause-tracker.json');
// 7. è¿æå²
const allergies = readFile('data/allergies.json');
// 8. è¾å°è®°å½
const radiation = readFile('data/radiation-records.json');
æ¥éª¤ 3ï¼æ°æ®è¿æ»¤
æ ¹æ®æ¶é´èå´è¿æ»¤æ°æ®ï¼
function filterByDate(data, startDate, endDate) {
return data.filter(item => {
const itemDate = new Date(item.date || item.created_at);
return itemDate >= startDate && itemDate <= endDate;
});
}
æ¥éª¤ 4ï¼è¶å¿åæ
对æ¯ä¸ªæ°æ®ç»´åº¦è¿è¡è¶å¿åæï¼
4.1 ä½é/BMI è¶å¿
- æååå²ä½éæ°æ®
- 计ç®BMIåå
- è¯å«è¶å¿æ¹åï¼ä¸å/ä¸é/稳å®ï¼
- è¯ä¼°ååå¹ åº¦
4.2 çç¶æ¨¡å¼
- ç»è®¡çç¶é¢ç
- è¯å«é«é¢çç¶
- åæçç¶æ¶é´æ¨¡å¼
- æ£æµçç¶è¯±å
4.3 è¯ç©ä¾ä»æ§
- è®¡ç®æ»ä½ä¾ä»ç
- åæåè¯ç©ä¾ä»æ§
- è¯å«æ¼ææ¨¡å¼
- è¯ä¼°æ¹å建议
4.4 åéªç»æ
- è¿½è¸ªå¤æ¬¡æ¥åä¸ççåææ
- ä¸åèèå´å¯¹æ¯
- è¯å«æ¹å/æ¶å
- æ è®°å¼å¸¸ææ
4.5 æ 绪ä¸ç¡ç
- å ³èæ ç»ªè¯åä¸ç¡ç æ¶é¿
- è¯å«æ ç»ªæ³¢å¨æ¨¡å¼
- æ£æµååæ°´å¹³
- è¯ä¼°å¿çå¥åº·è¶å¿
æ¥éª¤ 5ï¼ç¸å ³æ§åæ
使ç¨ç»è®¡æ¹æ³è¯å«ç¸å ³æ§ï¼
// ç®å°éç¸å
³ç³»æ°
function pearsonCorrelation(x, y) {
// 计ç®ç¸å
³ç³»æ°
// è¿åå¼èå´ï¼-1ï¼è´ç¸å
³ï¼å° 1ï¼æ£ç¸å
³ï¼
}
// åºç¨åºæ¯
- è¯ç©å¼å§æ¥æ vs çç¶é¢ç
- ç¡ç æ¶é¿ vs æ
绪è¯å
- ä½éåå vs 饮é£è®°å½
- è¿å¨é vs æ
ç»ªç¶æ
æ¥éª¤ 6ï¼å忣æµ
è¯å«æ¾èååï¼
// ååç¹æ£æµ
function detectChangePoints(timeSeries) {
// 使ç¨ç»è®¡æ¹æ³æ£æµæ¾èååç¹
// ä¾å¦ï¼ä½éçªç¶ä¸éãçç¶çªç¶å¢å
}
// éå¼è¦æ¥
function checkThresholds(value, thresholds) {
// æ£æ¥æ¯å¦æ¥è¿æè¶
è¿å±é©éå¼
// ä¾å¦ï¼BMI > 30ãè¾å°åé > å®å
¨é
}
æ¥éª¤ 7ï¼çææ´å¯
åºäºåæç»æçæé¢æµæ§æ´å¯ï¼
// é£é©è¯ä¼°
function assessRisks(trends) {
// è¯å«é«é£é©è¶å¿
// ä¾å¦ï¼å¿«éä½éä¸éãé¢ç¹çç¶
}
// é¢é²å»ºè®®
function generateRecommendations(trends, correlations) {
// åºäºæ¨¡å¼å»ºè®®é¢é²æªæ½
// ä¾å¦ï¼æ¹åç¡ç ãæé«ç¨è¯ä¾ä»æ§
}
// æ©æé¢è¦
function earlyWarnings(trends) {
// å¨é®é¢åå¾ä¸¥éä¹å颿µ
// ä¾å¦ï¼çç¶é¢çä¸åãæ
绪æç»ä½è½
}
æ¥éª¤ 8ï¼çæå¯è§åæ¥å
çæäº¤äºå¼HTMLæ¥åï¼
- æ°æ®æ±æ»ï¼çæJSONæ ¼å¼çåæç»æ
- HTMLæ¨¡æ¿æ¸²æï¼å°æ°æ®æ³¨å ¥HTML模æ¿
- EChartså¾è¡¨é ç½®ï¼é ç½®6ç§äº¤äºå¼å¾è¡¨
- ä¿åæä»¶ï¼ä¿å为ç¬ç«HTMLæä»¶
详ç»è¾åºæ ¼å¼åè§ï¼æ°æ®æºè¯´æ
è¾åºæ ¼å¼
ææ¬æ¥åï¼ç®æ´çï¼
å¥åº·è¶å¿åææ¥å
ââââââââââââââââââââââââââ
çææ¶é´: 2025-12-31
åæå¨æ: è¿å»3个æ (2025-10-01 è³ 2025-12-31)
ð æ»ä½è¯ä¼°
ââââââââââââââââââââââââââ
æ¹åä¸: ä½é管çãèåºéæ°´å¹³
稳å®: è¡ç³æ§å¶ãæ
ç»ªç¶æ
éå
³æ³¨: ç¨è¯ä¾ä»æ§ãç¡ç è´¨é
ð ä½é/BMI è¶å¿
ââ å½åä½é: 68.5 kg
ââ å½å BMI: 23.1ï¼æ£å¸¸èå´ï¼
ââ 3个æåå: -2.3 kgï¼-3.2%ï¼
ââ è¶å¿: ð 鿏åé
ââ è¯ä¼°: â
积æè¶å¿ï¼å¨å¥åº·èå´å
ð è¯ç©ä¾ä»æ§
ââ å½åè¯ç©: 3ç§
ââ æ»ä½ä¾ä»ç: 78%
ââ æ¼ææ¬¡æ°: 8次
ââ æå¥½: é¿å¸å¹æ (95%)
ââ éæ¹è¿: 氨氯å°å¹³ (65%)
â ï¸ çç¶æ¨¡å¼
ââ æé¢ç¹: 头çï¼è¿å»3个æ 12次ï¼
ââ è¶å¿: ð é¢çä¸éï¼è¾ä¸æåå°4次ï¼
ââ æ½å¨è¯±å : ä¸ç¡ç è´¨éè¯å«åºä¸çç¸å
³ï¼r=0.62ï¼
ââ 建议: ç»§ç»æ¹åç¡ç 模å¼
𧪠åéªç»æè¶å¿
ââ èåºé: 240 â 210 mg/dLï¼æ¹å â
ï¼
ââ è¡ç³: 5.6 â 5.4 mmol/Lï¼ç¨³å®ï¼
ââ 䏿¬¡æ£æ¥: 30天å
ââ 建议: 3个æå夿¥
ð æ
绪ä¸ç¡ç
ââ å¹³åæ
绪è¯å: 6.8/10
ââ å¹³åç¡ç æ¶é¿: 6.5å°æ¶
ââ è¶å¿: æ
绪稳å®ï¼ç¡ç ç¥ææ¹å
ââ ç¸å
³æ§: ç¡ç æ¶é¿ä¸æ
绪è¯å强ç¸å
³ï¼r=0.78ï¼
ð ç¸å
³æ§åæ
ââââââââââââââââââââââââââ
⢠ç¡ç æ¶é¿ â æ
绪è¯å: 强æ£ç¸å
³ (r=0.78)
⢠ä½éåå â 饮é£è®°å½: ä¸çç¸å
³ (r=0.55)
⢠ç¨è¯ä¾ä»æ§ â çç¶é¢ç: ä¸çè´ç¸å
³ (r=-0.62)
ð¡ é£é©è¯ä¼°ä¸å»ºè®®
ââââââââââââââââââââââââââ
ð¢ ç»§ç»ä¿æ
⢠å½åä½éç®¡çæ¹æ³ææ
⢠èåºéæ°´å¹³æ¹åææ¾
ð¡ éè¦å
³æ³¨
⢠æé«æ°¨æ°¯å°å¹³ä¾ä»æ§ï¼è®¾ç½®æéï¼
⢠å¢å ç¡ç æ¶é¿è³7-8å°æ¶
ð
夿¥è®¡å
⢠3个æå夿¥è¡èå项
⢠1个æåè¯ä¼°ç¨è¯ä¾ä»æ§æ¹å
ââââââââââââââââââââââââââ
â ï¸ å
责声æ
æ¬åæä»
ä¾åèï¼ä¸æ¿ä»£ä¸ä¸å»çè¯æã
请å¨è¯¢å»çè·åä¸ä¸å»ºè®®ã
HTMLå¯è§åæ¥åï¼å®æ´çï¼
çæå å«ECharts交äºå¼å¾è¡¨çç¬ç«HTMLæä»¶ï¼å å«ï¼
- æ»ä½è¯ä¼°å¡çï¼å ³é®ææ ä¸ç®äºç¶
- ä½é/BMIè¶å¿å¾ï¼åYè½´æçº¿å¾ï¼ä½é + BMIï¼
- çç¶é¢çå¾ï¼é¢è²ç¼ç çæ±ç¶å¾ï¼é«é¢çº¢/ä¸é¢é»/ä½é¢ç»¿ï¼
- è¯ç©ä¾ä»æ§ä»ªè¡¨çï¼æ»ä½ä¾ä»ç + åè¯ç©è¯¦æ
- åéªç»æè¶å¿å¾ï¼å¤ç³»åæçº¿å¾ + åè线
- ç¸å ³æ§çå¾ï¼çåå¾å±ç¤ºåéé´ç¸å ³æ§
- æ 绪ä¸ç¡ç é¢ç§¯å¾ï¼åYè½´é¢ç§¯å¾
HTMLæä»¶ç¹ç¹ï¼
- â å®å ¨ç¬ç«ï¼ææä¾èµéè¿CDNï¼
- â 交äºå¼å¾è¡¨ï¼ç¼©æ¾ã导åºãå¾ä¾åæ¢ï¼
- â ååºå¼è®¾è®¡ï¼ç§»å¨ç«¯éé ï¼
- â 坿å°ï¼æå°ä¼åæ ·å¼ï¼
- â å¯å享ï¼åéç»å»çï¼
æ°æ®æº
ä¸»è¦æ°æ®æº
| æ°æ®æº | æä»¶è·¯å¾ | æ°æ®å 容 |
|---|---|---|
| ä¸ªäººæ¡£æ¡ | data/profile.json |
ä½éã身é«ãBMIåå² |
| çç¶è®°å½ | data/symptoms/**/*.json |
çç¶åç§°ã严éç¨åº¦ãæç»æ¶é´ |
| æ ç»ªè®°å½ | data/mood/**/*.json |
æ 绪è¯åãç¡ç è´¨éãååæ°´å¹³ |
| 饮é£è®°å½ | data/diet/**/*.json |
餿¬¡ãé£ç©ãå¡è·¯éãè¥å »ç´ |
| ç¨è¯æ¥å¿ | data/medication-logs/**/*.json |
ç¨è¯æ¶é´ãä¾ä»æ§è®°å½ |
| åéªç»æ | data/medical_records/**/*.json |
çåææ ãåèèå´ |
è¾ å©æ°æ®æº
| æ°æ®æº | æä»¶è·¯å¾ | æ°æ®å 容 |
|---|---|---|
| 女æ§å¨æ | data/cycle-tracker.json |
卿é¿åº¦ãçç¶è®°å½ |
| åæè¿½è¸ª | data/pregnancy-tracker.json |
åå¨ãä½éãæ£æ¥è®°å½ |
| æ´å¹´æ | data/menopause-tracker.json |
çç¶ãHRTä½¿ç¨ |
| è¿æå² | data/allergies.json |
è¿æåã严éç¨åº¦ |
| è¾å°è®°å½ | data/radiation-records.json |
累积è¾å°åé |
è¯¦ç»æ°æ®ç»æè¯´æè¯·åèï¼data-sources.md
åæç®æ³
æ¶é´åºååæ
- è¶å¿æ£æµï¼çº¿æ§åå½ï¼
- å£èæ§åæ
- å¼å¸¸å¼æ£æµ
ç¸å ³æ§åæ
- ç®å°éç¸å ³ç³»æ°ï¼è¿ç»åéï¼
- æ¯ç®å°æ¼ç¸å ³ç³»æ°ï¼æåºåéï¼
- 交åç¸å ³åæï¼æ¶é´åºåï¼
ååç¹æ£æµ
- CUSUMç®æ³
- æ»å¨çªå£tæ£éª
- è´å¶æ¯ååç¹æ£æµ
ç»è®¡ææ
- åå¼ãä¸ä½æ°ãæ åå·®
- ç¾å使°ï¼25%, 50%, 75%ï¼
- ååçï¼ç¯æ¯ã忝ï¼
详ç»ç®æ³è¯´æè¯·åèï¼algorithms.md
å®å ¨ä¸éç§
å¿ é¡»éµå¾ª
- â ä¸ç»åºå»çè¯æ
- â ä¸ç»åºå ·ä½ç¨è¯å»ºè®®
- â ä¸å¤æçæ»é¢å
- â æ 注å 责声æï¼ä» ä¾åèï¼
ä¿¡æ¯å确度
- â ä» åºäºå·²è®°å½çæ°æ®è¿è¡åæ
- â 䏿¨æµææ¨æç¼ºå¤±ä¿¡æ¯
- â æç¡®æ æ³¨æ°æ®æ¥æºåæ¶é´èå´
- â 建议åºç±å»çä¸ä¸äººå审æ¥
éç§ä¿æ¤
- â æææ°æ®ä¿ææ¬å°
- â æ å¤é¨APIè°ç¨
- â åæç»æä» ä¿å卿¬å°
- â HTMLæ¥åç¬ç«è¿è¡ï¼æ æ°æ®ä¼ è¾ï¼
é误å¤ç
æ°æ®ç¼ºå¤±
- æ æ°æ®ï¼è¾åº”ææ æ°æ®ï¼å»ºè®®å è®°å½[æ°æ®ç±»å]”
- æ°æ®ä¸è¶³ï¼è¾åº”æ°æ®ä¸è¶³ï¼éè¦è³å°1ä¸ªææ°æ®æè½è¿è¡è¶å¿åæï¼”
- æ°æ®èå´çªï¼ä½¿ç¨ç°ææ°æ®ï¼æç¤º”建议延é¿è®°å½æ¶é´ä»¥è·å¾æ´åç¡®çè¶å¿”
åæå¤±è´¥
- æ æ³è®¡ç®è¶å¿ï¼è¾åº”æ æ³è®¡ç®è¶å¿ï¼æ°æ®ç¹ä¸è¶³”
- ç¸å ³æ§åæå¤±è´¥ï¼è¾åº”ç¸å ³æ§åæéè¦æ´å¤æ°æ®”
- å¾è¡¨æ¸²æå¤±è´¥ï¼éçº§ä¸ºææ¬æ¥å
使ç¨ç¤ºä¾
ç¤ºä¾ 1ï¼ä¸è¬å¥åº·è¶å¿
ç¨æ·ï¼”è¿å»3个ææçå¥åº·æä»ä¹ååï¼” è¾åºï¼çæå®æ´çHTMLæ¥åï¼å 嫿æç»´åº¦çè¶å¿åæ
ç¤ºä¾ 2ï¼çç¶åæ
ç¨æ·ï¼”åææççç¶æ¨¡å¼” è¾åºï¼éç¹åæçç¶é¢çã诱å ãè¶å¿
ç¤ºä¾ 3ï¼ä½éè¶å¿
ç¨æ·ï¼”æçä½éæä»ä¹è¶å¿ï¼” è¾åºï¼éç¹åæä½é/BMIååãä¸é¥®é£/è¿å¨çç¸å ³æ§
ç¤ºä¾ 4ï¼è¯ç©æææ§
ç¨æ·ï¼”æçéåè¯ææåï¼” è¾åºï¼å ³èè¯ç©å¼å§æ¥æä¸è¡å读æ°ãçç¶æ¹å
æ´å¤å®æ´ç¤ºä¾è¯·åèï¼examples.md
ç¸å ³å½ä»¤
/symptomï¼è®°å½çç¶/moodï¼è®°å½æ 绪/dietï¼è®°å½é¥®é£/medicationï¼ç®¡çè¯ç©åç¨è¯è®°å½/queryï¼æ¥è¯¢ç¹å®æ°æ®ç¹
ææ¯å®ç°
å·¥å ·éå¶
æ¤Skillä» ä½¿ç¨ä»¥ä¸å·¥å ·ï¼æ éé¢å¤æéï¼ï¼
- Readï¼è¯»åJSONæ°æ®æä»¶
- Grepï¼æç´¢ç¹å®æ¨¡å¼
- Globï¼ææ¨¡å¼æ¥æ¾æ°æ®æä»¶
- Writeï¼çæHTMLæ¥åï¼ä¿åå°
data/health-reports/ï¼
æ§è½ä¼å
- å¢é读åï¼ä» 读åæå®æ¶é´èå´çæ°æ®æä»¶
- æ°æ®ç¼åï¼é¿å éå¤è¯»åå䏿件
- å»¶è¿è®¡ç®ï¼æéçæå¾è¡¨æ°æ®
æ©å±æ§
- æ¯ææ·»å æ°çæ°æ®ç»´åº¦
- æ¯æèªå®ä¹å¾è¡¨ç±»å
- æ¯æèªå®ä¹åæç®æ³