nutrition-analyzer
npx skills add https://github.com/huifer/wellally-health --skill nutrition-analyzer
Agent 安装分布
Skill 文档
è¥å »åæå¨æè½
åæé¥®é£åè¥å »æ°æ®ï¼è¯å«è¥å »æ¨¡å¼ï¼è¯ä¼°è¥å »ç¶åµï¼å¹¶æä¾ä¸ªæ§åè¥å »æ¹å建议ã
åè½
1. è¥å »è¶å¿åæ
åæè¥å »ç´ æå ¥çååè¶å¿ï¼è¯å«æ¹åæéè¦å ³æ³¨çæ¹é¢ã
åæç»´åº¦ï¼
- å®éè¥å »ç´ è¶å¿ï¼èç½è´¨ã碳水ãèèªã纤维ãå¡è·¯éï¼
- å¾®éè¥å »ç´ è¶å¿ï¼ç»´çç´ ãç¿ç©è´¨ï¼
- ç鿥æºåå¸åå
- é¤é£æ¨¡å¼ï¼é¥®é£æ¶é´ãé¢çï¼
- é£ç©ç±»å«å好
è¾åºï¼
- è¶å¿æ¹åï¼æ¹å/稳å®/ä¸éï¼
- ååå¹ åº¦åç¾åæ¯
- è¶å¿æ¾èæ§
- æ¹è¿å»ºè®®
2. è¥å »ç´ æå ¥è¯ä¼°
è¯ä¼°è¥å »ç´ æå ¥æ¯å¦è¾¾å°æ¨èæ åï¼RDA/AIï¼ã
è¯ä¼°å 容ï¼
-
å®éè¥å »ç´ è¯ä¼°ï¼
- èç½è´¨æå ¥éåè´¨é
- 碳水ååç©ç±»ååå¸ï¼ç²¾å¶ vs å¤æç¢³æ°´ï¼
- èèªç±»ååå¸ï¼é¥±å/åä¸é¥±å/å¤ä¸é¥±å/åå¼èèªï¼
- è³é£çº¤ç»´æå ¥é
-
ç»´çç´ è¯ä¼°ï¼
- ç»´çç´ AãCãDãEãK
- ç»´çç´ Bæï¼B1ãB2ãB3ãB6ãB12ãå¶é ¸ãæ³é ¸ãçç©ç´ ï¼
- ä¸RDA对æ¯
- 缺ä¹é£é©è¯ä¼°
-
ç¿ç©è´¨è¯ä¼°ï¼
- 常éç¿ç©è´¨ï¼éã磷ãéãé ãé¾ãæ°¯ãç¡«
- å¾®éç¿ç©è´¨ï¼éãéãéãé°ãç¢ãç¡ãé¬ãé¼
- ä¸RDA对æ¯
- 缺ä¹é£é©è¯ä¼°
-
ç¹æ®è¥å »ç´ è¯ä¼°ï¼
- Omega-3èèªé ¸ï¼EPAãDHAãALAï¼
- è碱
- è¾ é ¶Q10
- æ¤ç©åå¦ç©ï¼ç±»é»é ®ãç±»è¡èåç´ çï¼
è¾åºï¼
- æ¯ç§è¥å »ç´ çè¾¾æç
- 缺ä¹/ä¸è¶³/å è¶³/è¿éå级
- 缺ä¹é£é©è¯å«
- ä¼å æ¹å建议
3. è¥å »ç¶åµè¯ä¼°
综åè¯ä¼°ç¨æ·çè¥å »ç¶åµã
è¯ä¼°å 容ï¼
-
æ´ä½è¥å »è´¨éè¯åï¼
- è¥å »å¯åº¦è¯å
- é£ç©å¤æ ·æ§è¯å
- å衡饮é£è¯å
-
è¥å »æ¨¡å¼è¯å«ï¼
- 饮飿¨¡å¼ç±»åï¼å°ä¸æµ·å¼ãDASHãç´ é£çï¼
- 饮飿¶é´æ¨¡å¼ï¼è¿é£é¢çãè¿é£çªå£ï¼
- é¶é£åå 餿¨¡å¼
-
è¥å »é£é©è¯å«ï¼
- è¥å »ç¼ºä¹é£é©ï¼å¦ç»´çç´ D缺ä¹ãé缺ä¹ï¼
- è¥å »è¿éé£é©ï¼å¦ç»´çç´ Aè¿éãé è¿éï¼
- ä¸å¥åº·é¥®é£ä¹ æ¯ï¼é«ç³ãé«èãé«é ï¼
è¾åºï¼
- è¥å »ç¶åµç级ï¼ä¼ç§/è¯å¥½/ä¸è¬/è¾å·®ï¼
- 主è¦è¥å »é®é¢è¯å«
- é£é©å ç´ å表
- æ¹åä¼å 级
4. ç¸å ³æ§åæ
åæè¥å »ä¸å ¶ä»å¥åº·ææ çç¸å ³æ§ã
æ¯æçç¸å ³æ§åæï¼
-
è¥å » â ä½éï¼
- å¡è·¯éæå ¥ä¸ä½éååçå ³ç³»
- å®éè¥å »ç´ æ¯ä¾ä¸ä½é管ç
- è¿é£æ¶é´ä¸ä»£è°¢å ³ç³»
-
è¥å » â è¿å¨ï¼
- è¥å »æå ¥å¯¹è¿å¨è¡¨ç°çå½±å
- è¿å¨æ¥vs伿¯æ¥çè¥å »éæ±
- èç½è´¨æå ¥ä¸èèæ¢å¤
-
è¥å » â ç¡ç ï¼
- åå¡å æå ¥ä¸ç¡ç è´¨é
- æé¤æ¶é´ä¸å ¥ç¡æ¶é´
- ç¹å®è¥å »ç´ ï¼å¦éãè²æ°¨é ¸ï¼ä¸ç¡ç
-
è¥å » â è¡åï¼
- é æå ¥ä¸è¡å
- é¾/é æ¯å¼ä¸è¡å
- DASH饮é£ä¾ä»æ§ä¸è¡åæ§å¶
-
è¥å » â è¡ç³ï¼
- 碳水ååç©ç±»åä¸è¡ç³æ³¢å¨
- è³é£çº¤ç»´ä¸è¡ç³æ§å¶
- è¿é£æ¶é´ä¸è¡ç³æ²çº¿
è¾åºï¼
- ç¸å ³ç³»æ°ï¼-1å°1ï¼
- ç¸å ³æ§å¼ºåº¦ï¼å¼±/ä¸/强ï¼
- ç»è®¡æ¾èæ§
- å æå ³ç³»æ¨æ
- å®è·µå»ºè®®
5. 个æ§å建议çæ
åºäºç¨æ·æ°æ®çæä¸ªæ§åè¥å »æ¹å建议ã
建议类åï¼
-
è¥å »ç´ è°æ´å»ºè®®ï¼
- å¢å 缺ä¹çè¥å »ç´
- åå°è¿éçè¥å »ç´
- ä¼åè¥å »ç´ æ¯ä¾
-
é£ç©éæ©å»ºè®®ï¼
- æ¨èç¹å®é£ç©ç±»å«
- é£ç©æ¿æ¢å»ºè®®ï¼æ´å¥åº·çéæ©ï¼
- é£ç©æé 建议ï¼ä¿è¿å¸æ¶ï¼
-
饮é£ä¹ æ¯å»ºè®®ï¼
- è¿é£æ¶é´è°æ´
- é¤é£é¢çè°æ´
- ç¹é¥ªæ¹å¼å»ºè®®
-
è¡¥å å建议ï¼ä» ä¾åèï¼ï¼
- åºäºç¼ºä¹é£é©çè¡¥å å建议
- è¡¥å ååéåæ¶æº
- ç¸äºä½ç¨è¦ç¤º
å»ºè®®ä¾æ®ï¼
- DRIs/RDAæ å
- ç¨æ·è¥å »å岿°æ®
- ç¨æ·å¥åº·ç¶åµåç®æ
- 循è¯è¥å »å¦è¯æ®
使ç¨è¯´æ
è§¦åæ¡ä»¶
å½ç¨æ·è¯·æ±ä»¥ä¸å 容æ¶è§¦åæ¬æè½ï¼
- è¥å »è¶å¿åæ
- è¥å »ç´ æå ¥è¯ä¼°
- è¥å »ç¶åµè¯ä¼°
- è¥å »æ¹å建议
- è¥å »ä¸å ¶ä»å¥åº·ææ çå ³èåæ
æ§è¡æ¥éª¤
æ¥éª¤ 1: ç¡®å®åæèå´
æç¡®ç¨æ·è¯·æ±çåæç±»ååæ¶é´èå´ï¼
- åæç±»åï¼è¶å¿/è¯ä¼°/ç¸å ³æ§/建议
- æ¶é´èå´ï¼å¨/æ/å£åº¦/èªå®ä¹
- åææ·±åº¦ï¼å®éè¥å »ç´ /å¾®éè¥å »ç´ /å ¨é¢åæ
æ¥éª¤ 2: è¯»åæ°æ®
ä¸»è¦æ°æ®æºï¼
data-example/nutrition-tracker.json– è¥å »è¿½è¸ªä¸»æ°æ®data-example/nutrition-logs/YYYY-MM/YYYY-MM-DD.json– æ¯æ¥é¥®é£è®°å½
å ³èæ°æ®æºï¼
data-example/profile.json– ä½éãBMIçåºç¡æ°æ®data-example/fitness-tracker.json– è¿å¨æ°æ®data-example/sleep-tracker.json– ç¡ç æ°æ®data-example/hypertension-tracker.json– è¡åæ°æ®data-example/diabetes-tracker.json– è¡ç³æ°æ®
æ¥éª¤ 3: æ°æ®åæ
æ ¹æ®åæç±»åæ§è¡ç¸åºçåæç®æ³ï¼
è¶å¿åæç®æ³ï¼
- 线æ§åå½è®¡ç®è¶å¿æç
- ç§»å¨å¹³åå¹³æ»æ³¢å¨
- ç»è®¡æ¾èæ§æ£éª
RDAè¾¾æç计ç®ï¼
rda_achievement = (actual_intake / rda_value) * 100
status_classification:
- < 50%: 严é缺ä¹
- 50-75%: ä¸è¶³
- 75-100%: æ¥è¿ç®æ
- 100-150%: å
è¶³ï¼çæ³èå´ï¼
- > 150%: è¿éï¼æ³¨æå®å
¨ä¸éULï¼
è¥å »å¯åº¦è¯åï¼
nutrient_density_score = (
(vitamins_achieved / total_vitamins) * 40 +
(minerals_achieved / total_minerals) * 30 +
(fiber_achieved / fiber_rda) * 30
)
ç¸å ³æ§åæç®æ³ï¼
- Pearsonç¸å ³ç³»æ°è®¡ç®
- æ»åç¸å ³æ§åæï¼èèæ¶é´å»¶è¿æåºï¼
- å¤åéåå½åæ
æ¥éª¤ 4: çææ¥å
æç §æ åæ ¼å¼è¾åºåææ¥åï¼è§”è¾åºæ ¼å¼”é¨åï¼
è¾åºæ ¼å¼
è¥å »è¶å¿åææ¥å
# è¥å
»æå
¥è¶å¿åææ¥å
## åæå¨æ
2025-03-20 è³ 2025-06-20ï¼3个æï¼90天记å½ï¼
## å®éè¥å
»ç´ è¶å¿
### å¡è·¯éæå
¥
- **è¶å¿**ï¼â¬ï¸ ä¸é
- **å¼å§**ï¼å¹³å2100å¡/天
- **å½å**ï¼å¹³å1950å¡/天
- **åå**ï¼-150å¡/天 (-7.1%)
- **解读**ï¼å¡è·¯éæå
¥é度åå°ï¼ä¸åéç®æ ä¸è´
**è¶å¿çº¿**ï¼
2100 ⤠ââ® 2050 ⤠ââ¯â°â® 2000 â¼â⯠â°â® 1950 ⤠Ⱐ1900 ââââââââââââ 3æ 4æ 5æ 6æ
### èç½è´¨
- **è¶å¿**ï¼â¡ï¸ 稳å®
- **å¹³å**ï¼82g/天ï¼èå´ï¼70-95gï¼
- **ç®æ **ï¼80g/天
- **è¾¾æ ç**ï¼93%ï¼84/90天达æ ï¼
- **解读**ï¼èç½è´¨æå
¥ç¨³å®ï¼åºæ¬è¾¾æ
### è³é£çº¤ç»´
- **è¶å¿**ï¼â¬ï¸ æ¹å
- **å¼å§**ï¼å¹³å18g/天
- **å½å**ï¼å¹³å22g/天
- **åå**ï¼+4g/天 (+22%)
- **ç®æ **ï¼30g/天
- **解读**ï¼çº¤ç»´æå
¥æ¾èå¢å ï¼ä½ä»éç»§ç»åªå
### èèª
- **è¶å¿**ï¼â¬ï¸ ä¸é
- **å¼å§**ï¼å¹³å75g/天
- **å½å**ï¼å¹³å68g/天
- **åå**ï¼-7g/天 (-9.3%)
- **ç®æ **ï¼â¤65g/天
- **解读**ï¼èèªæå
¥åå°ï¼æ¥è¿ç®æ
**èèªç±»ååå¸åå**ï¼
| èèªç±»å | å¼å§ | å½å | ç®æ | è¶å¿ |
|---------|------|------|------|------|
| 饱åèèª | 25g | 20g | <20g | â¬ï¸ æ¹å |
| åä¸é¥±å | 30g | 32g | >35g | â¬ï¸ ç¥å¢ |
| å¤ä¸é¥±å | 15g | 12g | 15-20g | â¬ï¸ éå¢å |
| åå¼èèª | 2g | 0.5g | 0g | â¬ï¸ æ¹å |
## ç»´çç´ ç¶åµè¶å¿
### ç»´çç´ D
- **æå
¥è¶å¿**ï¼â¬ï¸ å¢å ï¼è¡¥å
åå¼å§ï¼
- **å¼å§**ï¼å¹³å2μg/天ï¼é¥®é£æ¥æºï¼
- **å½å**ï¼å¹³å52μg/天ï¼å«2000IUè¡¥å
åï¼
- **RDA**ï¼15μg/天
- **è¡æ¸
æ°´å¹³åå**ï¼
- åºçº¿ï¼2025-05ï¼ï¼18 ng/mL
- å½åï¼2025-06ï¼ï¼22 ng/mL
- ç®æ ï¼30-100 ng/mL
- **解读**ï¼â
è¡¥å
åèµ·æï¼ä½éç»§ç»çæµ
### ç»´çç´ C
- **è¶å¿**ï¼â¬ï¸ æ¹å
- **å¼å§**ï¼å¹³å65mg/天
- **å½å**ï¼å¹³å85mg/天
- **RDA**ï¼100mg/天
- **è¾¾æ ç**ï¼ä»65% â 85%
- **建议**ï¼å¢å ææ©ç±»ãå¥å¼æãèèçæ°´æ
### Bæç»´çç´
- **ç»´çç´ B12**ï¼â
å
è¶³ï¼å¹³å2.5μgï¼RDA 2.4μgï¼
- **å¶é
¸**ï¼â ï¸ ä¸è¶³ï¼å¹³å320μgï¼RDA 400μgï¼
- **B6**ï¼â
å
è¶³ï¼å¹³å1.5mgï¼RDA 1.3mgï¼
## ç¿ç©è´¨è¶å¿
### é
- **è¶å¿**ï¼â¡ï¸ 稳å®
- **å¹³å**ï¼850mg/天
- **RDA**ï¼1000mg/天
- **è¾¾æ ç**ï¼85%
- **ä¸»è¦æ¥æº**ï¼ä¹³å¶å40%ãè±è
25%ã绿å¶è¬è20%
### é
- **è¶å¿**ï¼â
å
è¶³
- **å¹³å**ï¼12mg/天
- **RDA**ï¼8mg/天ï¼ç·æ§ï¼
- **è¾¾æ ç**ï¼150%
- **ä¸»è¦æ¥æº**ï¼èç±»ãèç±»ãè±ç±»ã绿å¶è¬è
### é
- **è¶å¿**ï¼â¬ï¸ æ¹å
- **å¼å§**ï¼å¹³å2800mg/天
- **å½å**ï¼å¹³å2100mg/天
- **ç®æ **ï¼<2300mg/天ï¼çæ³<1500mgï¼
- **解读**ï¼â
è¾¾å°ä¸è¬ç®æ ï¼â ï¸ çæ³ç®æ ä»éåªå
### é¾
- **è¶å¿**ï¼â¬ï¸ æ¹å
- **å¼å§**ï¼å¹³å2800mg/天
- **å½å**ï¼å¹³å3200mg/天
- **ç®æ **ï¼3500-4700mg/天
- **é¾/é æ¯å¼**ï¼ä»1.0 â 1.5ï¼ç®æ >2ï¼
- **建议**ï¼ç»§ç»å¢å æ°´æåè¬è
## ç¹æ®è¥å
»ç´ è¶å¿
### Omega-3
- **è¶å¿**ï¼â¬ï¸ å¢å ï¼é±¼æ²¹è¡¥å
åï¼
- **å¼å§**ï¼å¹³å150mg/天
- **å½å**ï¼å¹³å850mg/天ï¼å«è¡¥å
åï¼
- **æ¨èé**ï¼500-1000mg/天
- **ç¶æ**ï¼â
è¾¾æ
### è碱
- **è¶å¿**ï¼â¡ï¸ 稳å®
- **å¹³å**ï¼350mg/天
- **AIï¼é宿å
¥éï¼**ï¼425mg/天
- **è¾¾æ ç**ï¼82%
- **ä¸»è¦æ¥æº**ï¼é¸¡èï¼60%ï¼ãèç±»ï¼25%ï¼ãè±ç±»ï¼15%ï¼
## 饮飿¨¡å¼åæ
### é£ç©ç±»å«åå¸
| é£ç©ç±»å« | å æ¯ | åå | è¯ä»· |
|---------|------|------|------|
| è¬èæ°´æ | 35% | +8% | â
å¢å |
| å
¨è°·ç© | 20% | +5% | â
æ¹å |
| ç²¾å¶è°·ç© | 15% | -7% | â
åå° |
| èç½è´¨æ¥æº | 20% | ç¨³å® | â
å
è¶³ |
| æ·»å èèª | 8% | -3% | â
åå° |
| æ·»å ç³ | 2% | -2% | â
åå° |
### è¿é£æ¶é´æ¨¡å¼
- **å¹³åè¿é£çªå£**ï¼12.5å°æ¶ï¼07:30 - 20:00ï¼
- **è¿é£é¢ç**ï¼å¹³å4.2次/天
- **æå¸¸è§é¤é£æ¶é´**ï¼
- æ©é¤ï¼07:30ï¼90%天æ°ï¼
- åé¤ï¼12:15ï¼95%天æ°ï¼
- æé¤ï¼18:45ï¼98%天æ°ï¼
- å é¤ï¼15:30ï¼60%天æ°ï¼
### 饮é£è´¨éè¯å
- **è¥å
»å¯åº¦è¯å**ï¼7.2/10ï¼ä»6.5æåï¼
- **é£ç©å¤æ ·æ§è¯å**ï¼6.8/10
- **å衡饮é£è¯å**ï¼7.5/10
- **综åè¯å**ï¼7.2/10 â **è¯å¥½**
## æ´å¯ä¸å»ºè®®
### å
³é®æ´å¯
1. **è³é£çº¤ç»´æç»æ¹åä½ä»ä¸è¶³**
- ä»18gå¢è³22gï¼ä½ä»ä½äºç®æ 30g
- å½±åï¼é¥±è
¹æãè éå¥åº·ãè¡ç³æ§å¶
- å»ºè®®ï¼æ¯é¤è³å°å
å«5g纤维
2. **èèªè´¨éæ¹å**
- 饱åèèªåå°ï¼åå¼èèªå 乿¶é¤
- å¤ä¸é¥±åèèªç¥ä½ï¼éå¢å Omega-3é£ç©
- 建议ï¼å¢å 深海鱼类ãåæãäºéº»ç±½
3. **é æå
¥æ¹åä½é¾/é æ¯ä»ä½**
- é åå°33%ï¼é¾å¢å 14%
- é¾/é æ¯ä»1.0åè³1.5ï¼ä»ä½äºç®æ 2.0
- 建议ï¼ç»§ç»å¢å é«é¾é£ç©ï¼é¦èãæ©åãåè±ãè èï¼
4. **ç»´çç´ Dè¡¥å
åææ**
- è¡æ¸
æ°´å¹³ä»18åè³22 ng/mLï¼4å¨+4ngï¼
- é¢è®¡3-4个æå¯è¾¾ç®æ èå´
- 建议ï¼ç»§ç»è¡¥å
ï¼å®æçæµ
### ä¼å
级è¡å¨è®¡å
#### Priority 1ï¼æåè³é£çº¤ç»´è³30g/天ï¼2å¨ï¼
**å
·ä½è¡å¨**ï¼
1. æ©é¤ï¼å
¨è°·ç©ï¼ç麦/å
¨éº¦é¢å
ï¼+ æ°´æï¼9gï¼
2. åé¤ï¼ç³ç±³/å
¨éº¦é¢ + 2份è¬èï¼8gï¼
3. æé¤ï¼çº¢è¯/æç²® + 2份è¬èï¼8gï¼
4. å é¤ï¼æ°´æ + åæï¼5gï¼
**æ»è®¡**ï¼30g â
#### Priority 2ï¼ä¼åé¾/é æ¯å¼è³2.0ï¼4å¨ï¼
**å
·ä½è¡å¨**ï¼
1. åå°å å·¥é£åï¼ä¸»è¦é æºï¼
2. æ¯æ¥2-3份é«é¾æ°´æï¼é¦èãæ©åãçç´æ¡ï¼
3. è¬èéæ©è èãåè±ãèèãçªè
4. 使ç¨é¦ææ¿ä»£çè°å³
#### Priority 3ï¼ç»´æç»´çç´ Dè¡¥å
ï¼é¿æï¼
**çæµè®¡å**ï¼
- 3个æå夿¥è¡æ¸
æ°´å¹³
- ç®æ ï¼40-60 ng/mL
- æ ¹æ®ç»æè°æ´åé
## è¥å
»ç®æ è¿åº¦
| ç®æ | å¼å§ | å½å | ç®æ å¼ | è¿åº¦ | ç¶æ |
|------|------|------|--------|------|------|
| å¡è·¯é | 2100 | 1950 | 1800-2000 | 100% | â
è¾¾æ |
| èç½è´¨ | 75g | 82g | 80g | 100% | â
è¾¾æ |
| è³é£çº¤ç»´ | 18g | 22g | 30g | 73% | â ï¸ è¿è¡ä¸ |
| ç»´çç´ D | 18 ng/mL | 22 ng/mL | 30-100 | 20% | â ï¸ æ¹åä¸ |
| é æå
¥ | 2800mg | 2100mg | <2300 | 100% | â
è¾¾æ |
| Omega-3 | 150mg | 850mg | 500-1000mg | 100% | â
è¾¾æ |
---
**æ¥åçææ¶é´**ï¼2025-06-20
**åæå¨æ**ï¼2025-03-20 è³ 2025-06-20ï¼90天ï¼
**æ°æ®è®°å½æ°**ï¼90天
**è¥å
»åæå¨çæ¬**ï¼v1.0
æ°æ®ç»æ
饮é£è®°å½æ°æ®
{
"date": "2025-06-20",
"meals": [
{
"type": "breakfast",
"time": "07:30",
"foods": ["鸡è", "ç奶", "å
¨éº¦é¢å
"],
"calories": 450,
"macronutrients": {
"protein_g": 20,
"carbs_g": 55,
"fat_g": 15,
"fiber_g": 5,
"saturated_fat_g": 5,
"monounsaturated_fat_g": 6,
"polyunsaturated_fat_g": 3,
"trans_fat_g": 0.1
},
"micronutrients": {
"vitamin_a_mcg": 150,
"vitamin_c_mg": 5,
"vitamin_d_mcg": 1.5,
"vitamin_e_mg": 1,
"vitamin_k_mcg": 5,
"thiamine_mg": 0.3,
"riboflavin_mg": 0.4,
"niacin_mg": 4,
"vitamin_b6_mg": 0.1,
"folate_mcg": 30,
"vitamin_b12_mcg": 0.6,
"calcium_mg": 250,
"iron_mg": 2,
"magnesium_mg": 40,
"phosphorus_mg": 200,
"zinc_mg": 2,
"selenium_mcg": 10,
"potassium_mg": 350,
"sodium_mg": 300
},
"special_nutrients": {
"omega_3_g": 0.1,
"choline_mg": 150
}
}
],
"daily_summary": {
"total_calories": 2000,
"total_macronutrients": {
"protein_g": 80,
"carbs_g": 250,
"fat_g": 65,
"fiber_g": 30
},
"rda_achievement": {
"protein": 100,
"vitamin_c": 85,
"vitamin_d": 35,
"calcium": 90,
"iron": 75
},
"goal_achieved": true
}
}
ç®æ³è¯´æ
RDAè¾¾æç计ç®
def calculate_rda_achievement(actual_intake, rda_value, ul_value=None):
"""
计ç®RDAè¾¾æçåç¶æ
åæ°ï¼
- actual_intake: å®é
æå
¥é
- rda_value: æ¨èè³é£ä¾ç»é
- ul_value: å¯èåæé«æå
¥éï¼å¯éï¼
è¿åï¼
- achievement_rate: è¾¾æçç¾åæ¯
- status: ç¶ææ ç¾
"""
achievement_rate = (actual_intake / rda_value) * 100
if ul_value and actual_intake > ul_value:
status = "exceeds_ul"
category = "è¿éï¼å±é©ï¼"
elif achievement_rate < 50:
status = "severe_deficiency"
category = "严é缺ä¹"
elif achievement_rate < 75:
status = "insufficient"
category = "ä¸è¶³"
elif achievement_rate < 100:
status = "approaching_target"
category = "æ¥è¿ç®æ "
elif achievement_rate <= 150:
status = "adequate"
category = "å
è¶³"
else:
status = "high_intake"
category = "è¾é«"
return {
'achievement_rate': round(achievement_rate, 1),
'status': status,
'category': category
}
è¥å »å¯åº¦è¯å
def calculate_nutrient_density_score(meal_data):
"""
计ç®é£ç©è¥å
»å¯åº¦è¯åï¼0-10åï¼
å ç´ æéï¼
- ç»´çç´ è¾¾æçï¼40%
- ç¿ç©è´¨è¾¾æçï¼30%
- è³é£çº¤ç»´ï¼20%
- éå¶æ§è¥å
»ç´ ï¼é¥±åèèªãé ãæ·»å ç³ï¼ï¼10%
"""
score = 0
# ç»´çç´ è¯å
vitamin_achievements = [
meal_data['micronutrients'][v] / RDA[v]
for v in ['vitamin_a', 'vitamin_c', 'vitamin_d', 'vitamin_e', 'vitamin_k']
]
vitamin_score = min(sum(vitamin_achievements) / len(vitamin_achievements), 1.5) * 10
score += min(vitamin_score, 10) * 0.40
# ç¿ç©è´¨è¯å
mineral_achievements = [
meal_data['micronutrients'][m] / RDA[m]
for m in ['calcium', 'iron', 'magnesium', 'zinc']
]
mineral_score = min(sum(mineral_achievements) / len(mineral_achievements), 1.5) * 10
score += min(mineral_score, 10) * 0.30
# è³é£çº¤ç»´è¯å
fiber_score = min(meal_data['macronutrients']['fiber_g'] / 5, 2) * 10
score += min(fiber_score, 10) * 0.20
# éå¶æ§è¥å
»ç´ æ£å
penalty = 0
if meal_data['macronutrients']['saturated_fat_g'] > 10:
penalty += 2
if meal_data['micronutrients']['sodium_mg'] > 600:
penalty += 2
if meal_data.get('added_sugars_g', 0) > 10:
penalty += 2
score = max(0, score - penalty * 0.10)
return round(score, 1)
å¥åº·é¥®é£ææ°è¯å
def calculate_healthy_eating_index(daily_data):
"""
计ç®å¥åº·é¥®é£ææ°ï¼HEI-2015æ¹ç¼ï¼
è¯åèå´ï¼0-100å
"""
score = 0
# å
è¶³æ§æåï¼æ»¡å50åï¼
# 1. æ°´æï¼5åï¼
fruit_servings = daily_data['fruit_servings']
score += min(fruit_servings, 2.5) * 2
# 2. è¬èï¼5åï¼
veg_servings = daily_data['vegetable_servings']
score += min(veg_servings, 3) * 1.67
# 3. å
¨è°·ç©ï¼10åï¼
whole_grains_oz = daily_data['whole_grains_oz']
score += min(whole_grains_oz, 3) * 3.33
# 4. ä¹³å¶åï¼10åï¼
dairy_servings = daily_data['dairy_servings']
score += min(dairy_servings, 3) * 3.33
# 5. èç½è´¨ï¼5åï¼
protein_oz = daily_data['protein_oz']
score += min(protein_oz, 5) * 1
# 6. æµ·é²/æ¤ç©èç½ï¼5åï¼
plant_protein_oz = daily_data['plant_protein_oz']
score += min(plant_protein_oz, 2) * 2.5
# 7. èèªé
¸æ¯ä¾ï¼10åï¼
fat_ratio = daily_data['unsaturated_fat_g'] / max(daily_data['saturated_fat_g'], 1)
score += min(fat_ratio, 2.5) * 4
# éåº¦æ§æåï¼æ»¡å40åï¼åå计åï¼
# 8. ç²¾å¶è°·ç©ï¼10åï¼è¶å°è¶å¥½ï¼
refined_grains_oz = daily_data['refined_grains_oz']
score += max(10 - refined_grains_oz * 2, 0)
# 9. é ï¼10åï¼è¶å°è¶å¥½ï¼
sodium_g = daily_data['sodium_mg'] / 1000
score += max(10 - sodium_g * 2, 0)
# 10. æ·»å ç³ï¼10åï¼è¶å°è¶å¥½ï¼
added_sugars_pct = daily_data['added_sugars_g'] / (daily_data['total_calories'] / 100)
score += max(10 - added_sugars_pct * 10, 0)
# 11. 饱åèèªï¼10åï¼è¶å°è¶å¥½ï¼
saturated_fat_pct = daily_data['saturated_fat_g'] / (daily_data['total_calories'] / 100)
score += max(10 - saturated_fat_pct * 10, 0)
return round(score, 1)
å»å¦å®å ¨è¾¹ç
â ï¸ éè¦å£°æ
æ¬åæä» ä¾å¥åº·åèï¼ä¸ææå»çè¯ææè¥å »å¤æ¹ã
åæè½åèå´
â è½åå°ï¼
- è¥å »æ°æ®ç»è®¡ååæ
- è¶å¿è¯å«åå¯è§å
- RDAè¾¾æç计ç®
- è¥å »ç¼ºä¹é£é©è¯ä¼°
- ä¸è¬æ§è¥å »å»ºè®®
- è¡¥å åç¸äºä½ç¨æ£æ¥
â ä¸åå°ï¼
- è¯æè¥å »ç¼ºä¹ç¾ç
- å¼å ·è¡¥å å夿¹
- æ¿ä»£æ³¨åè¥å »å¸
- å¤ç严éè¥å »ä¸è¯
- è¯ä¼°é£ç©è¿æ
å±é©ä¿¡å·æ£æµ
å¨åæè¿ç¨ä¸æ£æµä»¥ä¸å±é©ä¿¡å·ï¼
-
è¥å »ç´ è¿éï¼
- ç»´çç´ A > 3000μgï¼é¿æï¼
- ç»´çç´ D > 100μgï¼é¿æï¼
- é > 45mgï¼é¿æï¼
- ç¡ > 400μg
- é > 2300mgï¼æç»ï¼
-
è¥å »ç´ 缺ä¹ï¼
- ç»´çç´ D < 10μg/天ï¼è¡æ¸ <12 ng/mLï¼
- ç»´çç´ B12 < 1.5μg/天ï¼ç´ é£è ï¼
- é < 6mg/天ï¼è²é¾å¥³æ§ï¼
- é < 500mg/天
-
è½éæå ¥å¼å¸¸ï¼
- æç»<1200å¡/天ï¼å¯è½è¥å »ä¸è¯ï¼
- æç»>3500å¡/天ï¼å¯è½è¶ éï¼
-
饮飿¨¡å¼å¼å¸¸ï¼
- è³é£çº¤ç»´<10g/天
- æ·»å ç³>25%çé
- 饱åèèª>15%çé
建议å级
Level 1: ä¸è¬æ§å»ºè®®
- åºäºDRIs/RDAæ å
- éç¨äºä¸è¬äººç¾¤
- æ éå»ççç£
Level 2: åèæ§å»ºè®®
- åºäºç¨æ·æ°æ®åå¥åº·ç¶åµ
- éç»å个人æ åµ
- 建议å¨è¯¢è¥å »å¸
Level 3: å»ç建议
- æ¶åç¾ç 管çæè¡¥å å
- éå»ç确认
- ä¸å¾èªè¡è°æ´è¯ç©åé
åèèµæº
- ä¸å½å± æ°è³é£è¥å »ç´ åèæå ¥é (DRIs)ï¼http://www.cnsoc.org/
- ç¾å½è³é£æåï¼https://www.dietaryguidelines.gov/
- USDA FoodData Centralï¼https://fooddatacentral.usda.gov/
- WHOè¥å »å»ºè®®ï¼https://www.who.int/nutrition/
- è¡¥å åç¸äºä½ç¨æ°æ®åºï¼https://naturalmedicines.therapeuticresearch.com/
æè½çæ¬: v1.0 åå»ºæ¥æ: 2026-01-06 ç»´æ¤è : WellAlly Tech