Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions data.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,20 @@ window.HC_DATA = {
lede: { en: "Sleep, BP, lipids, uric acid — one shared metabolic root. Lifestyle stacks first; medication only after lifestyle plateaus.",
zh: "睡眠、血壓、血脂、尿酸——共享同一個代謝根源。生活方式介入優先,等到效果平台期再考慮藥物。" },
progressLbl: { en: "Weight progress · 70 → 65 kg", zh: "體重進度 · 70 → 65 公斤" },
progressMeta: { en: "Day 133 · 66.2 kg · Sat official (7/4)", zh: "第 133 天 · 66.2 公斤 · 週六正式(7/4)" },
startDate: { en: "Start date · Mar 17, 2026 · Last sync 7/27", zh: "起始日期 · 2026 年 3 月 17 日 · 最後同步 7/27" },
progressMeta: { en: "Day 166 · 64.5 kg · Sat official (8/29)", zh: "第 166 天 · 64.5 公斤 · 週六正式(8/29)" },
startDate: { en: "Start date · Mar 17, 2026 · Last sync 8/29", zh: "起始日期 · 2026 年 3 月 17 日 · 最後同步 8/29" },
startWeight: 70,
targetWeight: 65,
currentWeight: 66.2,
currentWeightDate: "7/4 Sat official",
currentWeight: 64.5,
currentWeightDate: "8/29 Sat official",
// Body comp current actuals — latest daily reading (6/5). Manual for now:
// sync_data_js.py does NOT yet populate these (only weight/BP/sleep). Update on daily check-in.
currentBodyFat: 17.8,
currentBodyFat: 17.1,
currentVisceralFat: 8.5,
currentBodyCompDate: "7/27",
currentBodyCompDate: "8/29",
// Waist = WHO midpoint (健檢-comparable; better VAT proxy than weight). Latest non-empty daily reading.
currentWaist: 81,
currentWaistDate: "7/6",
currentWaist: 78,
currentWaistDate: "8/29",
},

// ===== OSA red-flag banner =====
Expand Down Expand Up @@ -62,15 +62,15 @@ window.HC_DATA = {
},
{
sys: "sleep", name: { en: "Sleep Score", zh: "睡眠分數" },
val: "74", unit: "Garmin",
val: "71", unit: "Garmin",
delta: { en: "Sleep = behavioral/autonomic · OSA/hypoxia ruled out 6/29 (fingertip oximetry flat)", zh: "睡眠=行為/自律神經 · OSA/缺氧已排除 6/29(指尖血氧整夜平穩)" },
cadence: { en: "Daily · Garmin", zh: "每日 · Garmin" },
status: "warn",
},
{
sys: "weight", name: { en: "Weight", zh: "體重" },
val: "66.2", unit: "kg",
delta: { en: "7/4 Sat official · auto-synced", zh: "7/4 週六正式 · 自動同步" },
val: "64.5", unit: "kg",
delta: { en: "8/29 Sat official · auto-synced", zh: "8/29 週六正式 · 自動同步" },
cadence: { en: "Daily · Sat official", zh: "每日 · 週六正式" },
status: "ok",
},
Expand Down Expand Up @@ -946,17 +946,17 @@ window.HC_DATA = {
tracker: {
// [SBP, DBP] — gaps filled with prior reading
bp: [
[125,70], [125,70], [125,70], [125,70], [125,70], [125,70], [125,72], [125,72], [122,59], [120,67], [122,72], [112,69], [112,69], [112,69],
[125,70], [125,70], [125,70], [125,70], [125,70], [125,72], [125,72], [122,59], [120,67], [122,72], [112,69], [112,69], [112,69], [122,74],
],
// daily weight (kg)
weight: [67.5, 67.2, 66.9, 67.3, 67.5, 66.6, 66.4, 66.3, 66.2, 67.4, 66.8, 66.2, 65.9, 65.9],
weight: [67.2, 66.9, 67.3, 67.5, 66.6, 66.4, 66.3, 66.2, 67.4, 66.8, 66.2, 65.9, 65.9, 64.5],
// Garmin Sleep Score
sleep: [76, 74, 78, 54, 73, 81, 63, 63, 63, 74, 68, 76, 59, 74],
sleep: [74, 78, 54, 73, 81, 63, 63, 63, 74, 68, 76, 59, 74, 71],
// Body Battery waking
bb: [37, 40, 48, 45, 56, 66, 53, 53, 53, 48, 55, 80, 24, 34],
bb: [40, 48, 45, 56, 66, 53, 53, 53, 48, 55, 80, 24, 34, 27],
// SpO2 nightly nadir % (last 14 days, parallel to bp/weight/sleep/bb).
// Earlier nights null until sync_data_js.py backfills; banner only uses trailing values.
spo2Nadir: [94, 81, 93, 87, null, null, null, null, null, null, null, null, null, null],
spo2Nadir: [81, 93, 87, null, null, null, null, null, null, null, null, null, null, null],
},

// ===== Running — started 2026-04-26 =====
Expand Down
File renamed without changes.
110 changes: 110 additions & 0 deletions reviews/daily/2026-08-29.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# 晨間健康紀錄 — 2026-08-29

*3 分鐘。起床後立即完成。記錄,不分析。*

---

## 體重 / 體組成

**今日:64.5 kg**(週六正式紀錄)
**體脂率:17.1 %**
**內臟脂肪等級:—**(今日未讀)
**腰圍 (WHO midpoint):78 cm** ✅ 首度進入 < 80 目標區(WHtR = 78/170 = **0.459**,優於理想線 0.47)
**腰圍 (最大腹圍):— cm**(今日未量)

**軀幹脂肪(輝葉八電極,主 KPI):— kg(— %)**(今日未量)
**除脂體重 LBM(護欄):≈ 53.5 kg(推算 64.5 × 82.9%)** ⚠️ **跌破 54 kg 護欄**

*每週六早晨為正式體重紀錄(排尿後、進食前)。*

**vs 上次正式紀錄(2026-07-27,COVID 恢復期):** 65.9 → 64.5 kg(**−1.4 kg**)|體脂 17.8% → 17.1%(**−0.7%**)|推算 LBM 54.2 → 53.5 kg(**−0.7 kg**)

---

## 血壓(晨間)

*起床後 1 小時內,上完廁所、進食前。坐下安靜 5 分鐘,連量兩次取第二次。*

| 次數 | 收縮壓 | 舒張壓 | 心率 |
|------|--------|--------|------|
| 第一次 | — | — | — |
| 第二次 | 122 | 74 | 70 |

✅ 122/74 落在正常區(目標 < 130 / < 85),心率 70 bpm。

---

## 睡眠狀態

**Garmin 偵測入睡:**(Garmin sync 不可用,手動報數)
**實際上床:**(未填)
**實際起床:**(未填)
**中途醒來:** 未回報
**Garmin Sleep Score:** 71 / 100
**Garmin Body Battery 起床值:** 27 ⚠️
**主觀恢復感:** — / 5(未填)
**入睡 latency:**(無資料)

總時長 **6h 13m**(未達 7h 目標)

### SpO2 夜間數值(僅參考 — OSA 篩檢已撤回 2026-06-29)

> ⚠️ 指夾式(透射式)連續血氧證實整夜平穩、無掉氧;腕式 SpO2 掉氧為動作 artifact。不作 OSA 判讀、不觸發紅旗。

**今晨最低 SpO2:** —%(無資料)
**今晨日均 SpO2:** —%(無資料)

*Sleep Score 71 尚可,但 **BB 起床值 27** 為明顯偏低(門檻 50 / 進階 65),配合 TST 6h13m → 今日以恢復為主。*

---

## 昨日回顧

**實際飲水量:** 2.0 L(目標 ≥ 2.5L;高尿酸最佳 2.8–3.0L)⚠️ 未達標,UA 排泄效率打折
**昨日活動消耗:** — kcal(Garmin sync 不可用)
**昨日 Na / K / Na-K ratio:** —(無飲食紀錄)

---

## 身體信號

*任何張力、疼痛、疲勞、異常 — 或「清」。*

| 部位 | 性質 | 強度 (0-10) |
|------|------|-------------|
| — | **清** | 0 |

---

## 今日計畫速記

- [ ] 飲水目標:**2.8 L**(錨點 09:30 ≥1.0L / 13:30 ≥2.0L / 17:00 截止 2.5L)
- [ ] 補充品(核心,2026-05-11 v2):
- 早餐(06:00):D3 2000 IU + K2 MK-7 180 mcg + L-Citrulline 4 g + 益生菌
- 午餐前 30 min:Psyllium 5 g + 350 mL 水
- 晚餐前 30 min:Psyllium 5 g + 350 mL 水
- 晚餐後:魚油 ×4(拆 18:30 ×2 + 19:30 ×2)
- 睡前(21:00):鎂甘胺酸 400 mg + 酸櫻桃 1000-2000 mg + Glycine 純粉 3 g
- 茶飲:洛神花 ×2 杯(早 + 14:00 前)
- 食物層:南瓜籽 30 g(15:30)+ 菇蕈 100-130 g/天
- [ ] 運動(17:00 固定):**BB 27 → 降級**。阻力訓練照做但降量(RIR 2-3、組數砍 1/3),有氧只做 Zone 2 走路 30 分
- [ ] **蛋白質今日硬目標 ≥ 130 g**(LBM 護欄已破,保肌優先)
- [ ] 活動度/伸展(09:30 + 20:30 兩次錨點)
- [ ] Wind-down(20:00 燈光降 + 螢幕濾鏡,液體截止)
- [ ] 上床 21:30 / 熄燈 22:00(TST 目標 7h+)

---

## ⚠️ 本日旗標

1. **LBM 跌破 54 kg 護欄**(推算 53.5 kg)— 一個月空窗期間體重 −1.4 kg,其中約 **一半來自除脂體重**(−0.7 kg LBM vs −0.7 kg 脂肪)。這不是乾淨的 Recomp,是掉肌肉。**下週優先**:蛋白質 ≥130 g/天 + 阻力訓練回到週 2 次,體重不再往下追。
2. **Body Battery 起床值 27** — 遠低於 50 門檻。今日訓練降級,觀察是否為單日或趨勢。
3. **飲水 2.0 L 未達標** — 高尿酸體質下 UA 排泄效率降低,今日目標拉到 2.8 L。

---

💡 **PT 建議:** 身體信號「清」、BP 122/74 正常、腰圍 78 cm 進入目標區,這些都是好訊號;問題出在恢復端 —— BB 27 + TST 6h13m 代表昨夜恢復不足,今天運動照做但降強度(RIR 2-3、有氧只走 Zone 2 30 分)。真正要處理的是 LBM −0.7 kg:這一個月體重掉的有一半是肌肉,今起把蛋白質拉到 130 g/天並恢復週 2 次阻力訓練,體重停在 64.5 別再往下。

---

*Filed: reviews/daily/2026-08-29.md*
Binary file modified reviews/health_dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified reviews/health_dashboard_weekly.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
205 changes: 205 additions & 0 deletions reviews/weekly/2026-W35.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
# 週回顧 — 2026-W35(2026-08-24 – 2026-08-30)

*週日晚間填寫。10 分鐘。回顧本週,不批判,只觀察。*

---

## 〇、半年計畫目標對照

*從 index.html 半年健康逆轉計畫提取。每週檢視自己在哪個位置。*

> **⭐ 2026-06-08 起進入 Recomp 相位(同時增肌減脂)**:主 KPI 由「體重」改為「體組成」。**體重持平屬正常**(增肌抵銷減脂;肌酸另 +0.5~1kg 肌內水);成功判準 = 體脂率↓ + 腰圍↓ + 重訓負荷↑。詳見 `PROGRESS.md` 三、Recomp 相位切換。

| 指標(★=Recomp 主 KPI) | 當月目標 | 本週實際 | 差距 |
|------|----------|----------|------|
| ★ 體脂率 | 目標 ≤ 17.0% | **17.1%** | +0.1% |
| ★ 內臟脂肪 | _____ (目標 ≤ _____) | _____ | _____ |
| ★ 腰圍 WHO(週均) | < 80 cm(WHtR < 0.50) | **78 cm**(WHtR 0.459)✅ | 達標 |
| ★ 重訓負荷(漸進超負荷) | 週 2–3 次,較上週進步 | _____ | |
| 蛋白質攝取(保肌) | ~130 g/天(~2.0 g/kg) | _____ g/天 | |
| 體重(週六;參考非主 KPI) | ~65 kg 維持區 | **64.5 kg** | −0.5(band 下緣以下)|
| 收縮壓(週均) | < 130 mmHg(終極 < 125) | **122 mmHg** ✅ | |
| Sleep Score(週均) | ≥ 70(進階 ≥ 80) | **71** ✅ | |
| Body Battery 起床值(週均) | ≥ 65(進階 ≥ 75) | **27** ⚠️ | −38 |
| 每日步數(週均) | ≥ _____ 步(依階段) | _____ 步 | |
| 每週運動時間 | ≥ _____ 分鐘(依階段) | _____ 分鐘 | |

**Recomp 相位參考(6/8 起):**
- 體重 ~65 kg 維持區(不再追低);主軸看體脂率↓ / 內臟脂肪↓ / 腰圍↓ / 重訓負荷↑
- 阻力訓練:徒手即合格(伏地挺身 + 引體/反式划船 + **深蹲類補下肢**),漸進超負荷 + RIR 1–2 + 每肌群週 ~10 組
- 蛋白質 ~130 g/天(~2.0 g/kg)為保肌門檻;有氧降為心血管維持

**半年里程碑參考(減脂期歷史,已於 6/8 收手轉維持):**
- 第 0 月 70.0 kg → 第 1 月 69.2 → 第 2 月 68.3 → 第 3 月 67.5 → 第 4 月 66.7 → 第 5 月 65.8 → 第 6 月 65.0 kg
- 運動:第 1-2 月 120-150 分/週 → 第 3-4 月 170-210 分/週 → 第 5-6 月 250-300 分/週

---

## 一、數據總覽

### 體重 / 體組成 / 腰圍

| | 一 | 二 | 三 | 四 | 五 | 六 | 日 |
|--|----|----|----|----|----|----|-----|
| 體重 (kg) | | | | | | 64.5 | |
| 體脂率 (%) | | | | | | 17.1 | |
| 內臟脂肪 | | | | | | | |
| **腰圍 WHO (cm)** | | | | | | 78 | |
| **腰圍 max (cm)** | | | | | | | |

**本週正式讀數(週六早晨):** 64.5 kg|體脂率:17.1%|內臟脂肪:—|腰圍:78 cm
**上次正式讀數(2026-07-27,非上週;中間空窗):** 65.9 kg|體脂率:17.8%|內臟脂肪:8.5|腰圍:— cm
**體重變化:** −1.4 kg|體脂率變化:−0.7%|內臟脂肪變化:—|**腰圍變化:** —
**推算 LBM:** 54.2 → **53.5 kg(−0.7 kg)** ⚠️ 跌破 54 kg 護欄 — 減重約一半來自除脂體重

**腰圍週均:** 78 cm(僅 1 日讀數)(每日 7 天平均,較易受食物殘渣 / 水合狀態 / 量測時機影響,週均比單日更穩定)
**WHtR(腰圍 / 身高比,身高 170 cm):** **0.459** ✅(目標 < 0.50;理想 < 0.47 — 已達成)
**腰圍歷史 reference**:2024-12 局部低點 **74 cm** / 2025-09 高峰 **85.5 cm** / 2026-03-25 健檢 **84 cm** / 2026-05-22 自量 **83 cm**

---

### 血壓(第二次讀數)

| 日期 | 收縮壓 | 舒張壓 | 心率 |
|------|--------|--------|------|
| 08-24 (一) | | | |
| 08-25 (二) | | | |
| 08-26 (三) | | | |
| 08-27 (四) | | | |
| 08-28 (五) | | | |
| 08-29 (六) | 122 | 74 | 70 |
| 08-30 (日) | | | |

**本週平均:** 122 / 74 mmHg,心率 70 bpm(僅 1 日讀數)

*收縮壓週均 > 130 或舒張壓 > 85 → 標記為需關注。*

---

### 睡眠

| 日期 | 就寢 | 起床 | 中途醒 | Sleep Score | Body Battery | 主觀恢復 |
|------|------|------|--------|-------------|--------------|----------|
| 08-24 (一) | | | | | | |
| 08-25 (二) | | | | | | |
| 08-26 (三) | | | | | | |
| 08-27 (四) | | | | | | |
| 08-28 (五) | | | | | | |
| 08-29 (六) | 122 | 74 | 70 | | | |
| 08-30 (日) | | | | | | |

**Sleep Score 週均:** 71 / 100(僅 1 日)
**Body Battery 週均:** 27 ⚠️(僅 1 日;遠低於 ≥65 目標與 50 門檻)
**主觀恢復感週均:** — / 5(未回報)
**連續 < 65 天數:** 0
**22:30 前就寢天數:** — / 7(Garmin sync 不可用)

---

### HRV 趨勢

*週日填寫時執行 `python scripts/analyze_hrv_trend.py` 並貼上 markdown snippet。預設讀全部歷史;用 `--days 28` 限制近 4 週。*

<!-- Paste output from: python scripts/analyze_hrv_trend.py -->

**本週判讀**:
- Verdict(CONFIRMED / LIKELY / WEAK / NO TREND):_____
- 若 CONFIRMED 且 slope < −0.05 ms/night → 訓練 deload 1 週 + 熱量補回 200–300 kcal/day
- 若整體 mean < 18 ms → paced breathing 6 breaths/min × 5 min × 2/day 加上去
- 若 OSA 治療介入後 → 期待 3 個月內回升至 25+ ms

---

## 二、身體信號模式

*本週 Daily 中記錄的身體信號,標注出現頻率與強度變化。*

| 信號(部位+性質) | 出現天數 | 平均強度 | 趨勢(↑↓→) | 備註 |
|-------------------|----------|----------|-------------|------|
| | | | | |

**反覆出現(≥ 3 天):** 無 / _____

*同一信號連續 3 天以上 → 考慮就醫或調整訓練。*

---

## 三、執行率

### 每日習慣

| 項目 | 完成天數 | 完成率 |
|------|----------|--------|
| 飲水 2.5L | / 7 | % |
| 補充品(洛神花茶 ×2 + 魚油 ×2 + D3K2 3000IU + 酸櫻桃 500mg + 鎂 400mg + Citrulline 2g + Psyllium 5g ×2) | / 7 | % |
| 運動 | / 7 | % |
| 活動度/伸展 | / 7 | % |

### 本週運動紀錄

| 日期 | 運動內容(含組數/時間) |
|------|------------------------|
| | |

### 重訓負荷追蹤(Recomp 主 KPI · 漸進超負荷)

*菜單見 `articles/cardio-metabolic/2026-06-11-recomp-resistance-program-1x-2x.md`。每個動作填「重量 × 次數 × 組」,與上週比是否進步(↑ 加重/加次、→ 持平、↓ 退步)。RIR 1–2、不拚 1RM、不憋氣。*

**Day A(蹲 / 水平推)— 日期:_____**

| 動作 | 本週(重量×次×組) | 上週 | 趨勢 |
|------|------------------|------|------|
| 深蹲 / 腿推 | | | |
| 臥推 / 胸推機 | | | |
| 坐姿划船 | | | |
| 腿後勾 | | | |
| 側平舉 | | | |
| 二頭 / 三頭 | | | |

**Day B(髖鉸鏈 / 垂直拉)— 日期:_____**

| 動作 | 本週(重量×次×組) | 上週 | 趨勢 |
|------|------------------|------|------|
| 硬舉 / 臀推 | | | |
| 下拉 / 引體 | | | |
| 肩推 | | | |
| 分腿蹲 / 腿伸展 | | | |
| 上斜臥推 / 蝴蝶機 | | | |
| 錘式彎舉 / 過頭三頭 | | | |

**本週判讀:** 重訓次數 _____ / 2|整體負荷趨勢(多數動作 ↑/→/↓):_____|蛋白達標天數:_____ / 7(目標 ~130 g/天)
*成功判準 = 體脂率↓ + 腰圍↓ + 重訓負荷↑(體重持平正常)。若負荷連兩週無法進步 → 查睡眠/蛋白/熱量。*

---

## 四、本週觀察

*一句話描述本週整體狀態。不用完美,誠實就好。*

> 一個月空窗後回來量:腰圍 78 cm 首度進入 < 80 目標區、WHtR 0.459 已優於理想線、BP 122/74 穩、身體信號清 —— 表層指標全綠。但體重 65.9 → 64.5 的 −1.4 kg 中,推算 LBM 掉了 0.7 kg(54.2 → 53.5),護欄破線。腰圍變小有一部分不是脂肪走,是肌肉走。Body Battery 27 也指向同一件事:熱量/蛋白/恢復三端同時不足。

---

## 五、下週調整

*根據本週觀察,列出 1–3 個具體、可執行的調整。不要列太多。*

- [ ] **蛋白質 ≥ 130 g/天,7 天全達標**(LBM 護欄已破,這是第一優先,非選配)
- [ ] **阻力訓練恢復週 2 次(Day A / Day B)**,重點在把負荷追回空窗前水準,不追新高
- [ ] **體重停在 64.5–65.5,不再往下**;下週六重量體脂 + 輝葉八電極(軀幹脂肪 / 分段 LBM)確認 LBM 是真跌還是 Tanita 推算誤差

---

## 六、恢復策略紀錄

*若本週觸發任何警報(Sleep Score < 65、身體信號 ≥ 3 天、血壓異常),記錄採取的應對措施。*

| 警報 | 應對措施 | 效果 |
|------|----------|------|
| LBM 推算 53.5 kg(< 54 護欄) | 蛋白 ≥130 g/天 + 阻力訓練週 2 次 + 體重止跌 | 待下週六複測 |
| Body Battery 起床 27(< 50) | 當日訓練降級(RIR 2-3、有氧僅 Z2 30 min);wind-down 準時 | 待追蹤 |
| 昨日飲水 2.0 L(< 2.5 目標) | 今日目標拉至 2.8 L,17:00 前完成 70% | 待追蹤 |

---

*Filed: reviews/weekly/2026-W35.md*
Loading