Not in the top 1,000 by GitHub stars
albert-ying/longevity-os
太医院 — Agentic Longevity OS with 10 AI physicians. N-of-1 trials, cross-module pattern detection, PubMed-grounded insights, Bayesian causal inference. Works with Claude Code & OpenClaw.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → d36a89f3ccea
No earlier version was observed for comparison.
Heat
0.4- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
longevity-os
When your agent uses it
Longevity OS (太医院) — personal health tracking, N-of-1 trials, and longevity optimization. Triggers on /longevity, /taiyiyuan, health tracking, diet logging, exercise logging, supplement management, biomarker review, and self-experimentation keywords.
What it loads into context
Frontmatter
65 tokensAlways available to the agent
SKILL.md
5,258 tokensWhen the skill is activated
Reference documents
34,436 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- System Paths
- Database Initialization
- Department Registry
- Intent Classification
- Agent Dispatch Protocol
- Trial Proposal Flow
- Response Format
- Weekly Report Protocol
- Behavioral Rules
- Nutrition Lookup Protocol
- SQL Patterns
- Edge Cases
- Integration with Dendron Vault
- Quick Reference — Common Interactions
Scripts executed separately
dashboard/server.pydata/db.pydata/nutrition_api.pydocs/capture_screenshots.mjsmodeling/causal.pymodeling/engine.pymodeling/patterns.pyscripts/backup.pyscripts/export.pyscripts/generate_demo_data.pyscripts/import_apple_health.pyscripts/import_labs.pyscripts/migrate.pyscripts/setup.py
Files
.gitignoreasset356 bytesREADME.mddoc25,677 bytesREADME.zh.mddoc24,836 bytesSKILL.mdcore20,971 bytesSKILL.mdcore20,971 bytesagents/baogao.mddoc9,985 bytesagents/bencao.mddoc8,015 bytesagents/daoyin.mddoc6,585 bytesagents/shixiao.mddoc7,569 bytesagents/shiyi.mddoc7,414 bytesagents/yanfang.mddoc9,038 bytesagents/yizheng.mddoc9,987 bytesagents/yuanpan.mddoc10,549 bytesagents/zhenmai.mddoc6,527 bytesdashboard/dashboard.htmlasset77,907 bytesdashboard/server.pyruns19,170 bytesdata/db.pyruns43,764 bytesdata/migrations/001_init.sqlasset12,721 bytesdata/nutrition_api.pyruns12,278 bytesdata/schema.sqlasset15,471 bytesdocs/agent-flow.mmdasset3,302 bytesdocs/agent-flow.svgasset34,086 bytesdocs/architecture.mmdasset5,291 bytesdocs/architecture.svgasset119,686 bytesdocs/capture_screenshots.mjsruns3,371 bytesdocs/characters/baogao.svgasset7,827 bytesdocs/characters/bencao.svgasset8,128 bytesdocs/characters/daoyin.svgasset7,076 bytesdocs/characters/shixiao.svgasset8,046 bytesdocs/characters/shiyi.svgasset6,716 bytesdocs/characters/yanfang.svgasset7,456 bytesdocs/characters/yizheng.svgasset6,584 bytesdocs/characters/yuanpan.svgasset7,284 bytesdocs/characters/yuyi.svgasset5,763 bytesdocs/characters/zhenmai.svgasset7,289 bytesdocs/demo-output/README.mddoc4,509 bytesdocs/demo-output/anomaly-detection.txtdoc1,257 bytesdocs/demo-output/causal-trial-analysis.txtdoc6,437 bytesdocs/demo-output/confounders-check.txtdoc2,735 bytesdocs/demo-output/cross-module-scan.txtdoc7,554 bytesdocs/demo-output/daily-digest.txtdoc1,883 bytesdocs/demo-output/db-query-demo.txtdoc5,490 bytesdocs/demo-output/exercise-summary.txtdoc1,317 bytesdocs/demo-output/nutrient-summary.txtdoc689 bytesdocs/demo-output/pattern-scan.txtdoc140,129 bytesdocs/demo-output/periodicity-detection.txtdoc45 bytesdocs/demo-output/power-analysis.txtdoc576 bytesdocs/demo-output/rolling-stats.txtdoc572 bytesdocs/demo-output/trend-analysis.txtdoc228 bytesdocs/demo-output/trial-candidates.txtdoc96,956 bytesdocs/demo-output/weekly-report.txtdoc5,708 bytesdocs/logo.pngasset3,875,340 bytesdocs/screenshots/dashboard-biomarkers.pngasset186,120 bytesdocs/screenshots/dashboard-exercise.pngasset287,823 bytesdocs/screenshots/dashboard-full.pngasset2,237,891 bytesdocs/screenshots/dashboard-hero.pngasset284,649 bytesdocs/screenshots/dashboard-insights.pngasset211,876 bytesdocs/screenshots/dashboard-metrics.pngasset242,226 bytesdocs/screenshots/dashboard-nutrition.pngasset150,714 bytesdocs/screenshots/dashboard-summary.pngasset214,355 bytesdocs/screenshots/dashboard-supplements.pngasset219,024 bytesdocs/screenshots/dashboard-trials.pngasset143,947 bytesmodeling/causal.pyruns41,638 bytesmodeling/engine.pyruns34,671 bytesmodeling/patterns.pyruns30,780 bytesscripts/backup.pyruns13,017 bytesscripts/export.pyruns9,471 bytesscripts/generate_demo_data.pyruns62,637 bytesscripts/import_apple_health.pyruns14,124 bytesscripts/import_labs.pyruns25,672 bytesscripts/migrate.pyruns8,248 bytesscripts/setup.pyruns10,648 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- longevity-os
Repository facts
- License
- No license detected
- Created
- Mar 12, 2026
- Last pushed
- Mar 12, 2026
- Forks
- 4
- Open issues
- 0
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 5, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 3 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzeddocs/agent-flow.svg:1Analysis incomplete: physical or joined line exceeds character limitdocs/architecture.svg:1Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- 1 dangerous shell commandin 1 file: modeling/engine.py:279
- 63 network referencesin 19 files: data/nutrition_api.py:21 dashboard/dashboard.html:6 README.md:385 and 16 more
- No hidden or obfuscated text
- No instruction overrides
- 14 executable scriptsin 14 files: dashboard/server.py:1 data/db.py:1 data/nutrition_api.py:1 and 11 more
- 9 references to secretsin 3 files: data/nutrition_api.py:119 .gitignore:32 dashboard/server.py:26
- No requests to vote in Hot
Show all 87 signals by file
.gitignore
- Access to secretsline 32
[Credential-related source omitted]
README.md
- Network accessline 385
# 1. Clone the repo git clone https://github.com/albert-ying/longevity-os.git - Network accessline 386
git clone https://github.com/albert-ying/longevity-os.git - Network accessline 402
The orchestrator (Imperial Physician) pattern maps directly to OpenClaw's [multi-agent routing](https://docs.openclaw.ai/concepts/multi-agent). A persistent orchestrator agent handles user chat and spawns sub-agents for parallel tasks (diet - Network accessline 418
# 3. Open http://localhost:8420
README.zh.md
- Network accessline 378
# 1. 克隆仓库 git clone https://github.com/albert-ying/longevity-os.git - Network accessline 379
git clone https://github.com/albert-ying/longevity-os.git - Network accessline 395
御医(编排器)模式直接映射到 OpenClaw 的[多智能体路由](https://docs.openclaw.ai/concepts/multi-agent):一个常驻编排智能体处理用户对话,按需派生子智能体并行执行任务。通过 WhatsApp、Telegram、Slack、Discord 或 iMessage 均可交互。 - Network accessline 411
# 3. 打开 http://localhost:8420
agents/daoyin.md
dashboard/dashboard.html
- Network accessline 6
<meta name="color-scheme" content="light only"> <title>Longevity OS</title> <link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 7
<title>Longevity OS</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 8
<link rel="preconnect" href="https://fonts.googleapis.com"> - Network accessline 9
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> - Network accessline 10
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Serif+SC:wght@400;600;700;900&display=swap" rel="stylesheet"> - Network accessline 11
<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.7/dist/chart.umd.min.js" - Network accessline 63
radial-gradient(ellipse at 20% 50%, rgba(218,165,32,0.02) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(196,30,58,0.01) 0%, transparent 50%), url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www - Network accessline 64
radial-gradient(ellipse at 80% 20%, rgba(196,30,58,0.01) 0%, transparent 50%), url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequ - Network accessline 65
url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' - Network accessline 1115
var(--gold-dim) 22px ); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q12.5 0 25 10 T50 10 T75 10 T100 10 V20 H0Z' fill='black'/%3E%3C/svg%3E"); - Network accessline 1116
); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q12.5 0 25 10 T50 10 T75 10 T100 10 V20 H0Z' fill='black'/%3E%3C/svg%3E"); mask-size: 100px 20px; - Network accessline 1117
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q12.5 0 25 10 T50 10 T75 10 T100 10 V20 H0Z' fill='black'/%3E%3C/svg%3E"); - Network accessline 1118
mask-size: 100px 20px; mask-repeat: repeat-x; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q12.5 0 25 10 T50 10 T75 10 T100 10 V20 H0Z' fill='black'/%3E%3C - Network accessline 1119
mask-repeat: repeat-x; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q12.5 0 25 10 T50 10 T75 10 T100 10 V20 H0Z' fill='black'/%3E%3C/svg%3E"); -webkit-mask - Network accessline 1120
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cpath d='M0 10 Q12.5 0 25 10 T50 10 T75 10 T100 10 V20 H0Z' fill='black'/%3E%3C/svg%3E"); - Network accessline 1699
Object.entries(params).forEach(([k, v]) => { if (v != null) url.searchParams.set(k, v); }); try { const res = await fetch(url); - Network accessline 1700
try { const res = await fetch(url); if (!res.ok) return null; - Network accessline 1701
const res = await fetch(url);
dashboard/server.py
- Executable scriptline 1
#!/usr/bin/env python3 - Access to secretsline 26
[Credential-related source omitted] - Network accessline 531
server = HTTPServer(("127.0.0.1", args.port), TaiYiYuanHandler) print(f"\n 太医院 Longevity OS — http://localhost:{args.port}\n") - Network accessline 532
print(f"\n 太医院 Longevity OS — http://localhost:{args.port}\n")
data/db.py
- Executable scriptline 1
Executable file
data/nutrition_api.py
- Executable scriptline 1
Executable file - Network accessline 21
# USDA FoodData Central nutrient ID → our schema field mapping # https://fdc.nal.usda.gov/api-guide.html - Network accessline 22
# https://fdc.nal.usda.gov/api-guide.html - Access to secretsline 119
[Credential-related source omitted] - Network accessline 124
[Credential-related source omitted] - Access to secretsline 124
[Credential-related source omitted] - Network accessline 125
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Network accessline 126
Get a free key at: https://fdc.nal.usda.gov/api-key-signup.html - Access to secretsline 129
[Credential-related source omitted] - Access to secretsline 130
[Credential-related source omitted] - Access to secretsline 132
[Credential-related source omitted] - Network accessline 222
Endpoint: https://api.nal.usda.gov/fdc/v1/foods/search - Access to secretsline 233
[Credential-related source omitted] - Network accessline 236
"pageSize": 5, }) url = f"https://api.nal.usda.gov/fdc/v1/foods/search?{params}" - Network accessline 238
url = f"https://api.nal.usda.gov/fdc/v1/foods/search?{params}" - Network accessline 240
try: req = urllib.request.Request(url) - Network accessline 241
req = urllib.request.Request(url) - Network accessline 242
req.add_header("User-Agent", "TaiYiYuan/1.0") with urllib.request.urlopen(req, timeout=REQUEST_TIMEOUT) as resp: data = json.loads(resp.read().decode("utf-8")) - Network accessline 243
with urllib.request.urlopen(req, timeout=REQUEST_TIMEOUT) as resp: - Network accessline 278
Endpoint: https://world.openfoodfacts.org/cgi/search.pl - Network accessline 294
"fields": "product_name,nutriments", }) url = f"https://world.openfoodfacts.org/cgi/search.pl?{params}" - Network accessline 296
url = f"https://world.openfoodfacts.org/cgi/search.pl?{params}" - Network accessline 298
try: req = urllib.request.Request(url) - Network accessline 299
req = urllib.request.Request(url) - Network accessline 300
req.add_header("User-Agent", "TaiYiYuan/1.0 (personal health tracker)") with urllib.request.urlopen(req, timeout=REQUEST_TIMEOUT) as resp: data = json.loads(resp.read().decode("utf-8")) - Network accessline 301
with urllib.request.urlopen(req, timeout=REQUEST_TIMEOUT) as resp:
docs/agent-flow.svg
- Network accessline 1
<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 2307.92px; background-color: white;" viewBox="0 0 2307.921875 518.46875" role="graphics-document
docs/architecture.svg
- Network accessline 1
<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 2637.24px; background-color: white;" viewBox="0 0 2637.24072265625 1874.7166748046875" role="gra
docs/capture_screenshots.mjs
docs/characters/baogao.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/bencao.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/daoyin.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/shixiao.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/shiyi.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/yanfang.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/yizheng.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/yuanpan.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/yuyi.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
docs/characters/zhenmai.svg
- Network accessline 1
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
modeling/causal.py
- Executable scriptline 1
Executable file
modeling/engine.py
modeling/patterns.py
- Executable scriptline 1
Executable file
scripts/backup.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/export.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/generate_demo_data.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/import_apple_health.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/import_labs.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/migrate.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/setup.py
- Executable scriptline 1
#!/usr/bin/env python3
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Declared and executed: 2 facts
- Contacts api.nal.usda.gov, which SKILL.md, the README and the plugin manifest do not mentiondata/nutrition_api.py:238High confidence
- Contacts world.openfoodfacts.org, which SKILL.md, the README and the plugin manifest do not mentiondata/nutrition_api.py:296High confidence
Signal confidence: 56 facts
- Network access in code of documentationREADME.md:385Low confidence
- Network access in code of documentationREADME.md:386Low confidence
- Network access in prose of documentationREADME.md:402Low confidence
- Network access in code of documentationREADME.md:418Low confidence
- Network access in code of documentationREADME.zh.md:378Low confidence
- Network access in code of documentationREADME.zh.md:379Low confidence
- Network access in prose of documentationREADME.zh.md:395Low confidence
- Network access in code of documentationREADME.zh.md:411Low confidence
- Network access in prose of documentationagents/daoyin.md:43Low confidence
- Network access in prose of documentationagents/daoyin.md:44Low confidence
- Network access in prose of documentationagents/daoyin.md:45Low confidence
- Executable script in code of a file that runsdashboard/server.py:1High confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuedashboard/server.py:26Low confidence
- Network access in code of a file that runsdashboard/server.py:531High confidence
- Network access in code of a file that runsdashboard/server.py:532High confidence
- Executable script in prose of a file that runsdata/db.py:1Low confidence
- Executable script in prose of a file that runsdata/nutrition_api.py:1Low confidence
- Network access in a comment of a file that runsdata/nutrition_api.py:21Low confidence
- Network access in a comment of a file that runsdata/nutrition_api.py:22Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuedata/nutrition_api.py:119Low confidence
- Network access in prose of a file that runsdata/nutrition_api.py:124Low confidence
- Access to secrets in prose of a file that runsdata/nutrition_api.py:124Low confidence
- Network access in prose of a file that runsdata/nutrition_api.py:125Low confidence
- Access to secrets in prose of a file that runsdata/nutrition_api.py:125Low confidence
- Network access in prose of a file that runsdata/nutrition_api.py:126Low confidence
- Access to secrets in code of a file that runs: a variable, placeholder or call, not a stored valuedata/nutrition_api.py:129Low confidence
- Access to secrets in code of a file that runsdata/nutrition_api.py:130High confidence
- Access to secrets in code of a file that runsdata/nutrition_api.py:132High confidence
- Network access in prose of a file that runsdata/nutrition_api.py:222Low confidence
- Access to secrets in code of a file that runsdata/nutrition_api.py:233High confidence
- Network access in code of a file that runsdata/nutrition_api.py:236High confidence
- Network access in code of a file that runsdata/nutrition_api.py:238High confidence
- Network access in code of a file that runsdata/nutrition_api.py:240High confidence
- Network access in code of a file that runsdata/nutrition_api.py:241High confidence
- Network access in code of a file that runsdata/nutrition_api.py:242High confidence
- Network access in code of a file that runsdata/nutrition_api.py:243High confidence
- Network access in prose of a file that runsdata/nutrition_api.py:278Low confidence
- Network access in code of a file that runsdata/nutrition_api.py:294High confidence
- Network access in code of a file that runsdata/nutrition_api.py:296High confidence
- Network access in code of a file that runsdata/nutrition_api.py:298High confidence
- Network access in code of a file that runsdata/nutrition_api.py:299High confidence
- Network access in code of a file that runsdata/nutrition_api.py:300High confidence
- Network access in code of a file that runsdata/nutrition_api.py:301High confidence
- Executable script in code of a file that runsdocs/capture_screenshots.mjs:1High confidence
- Network access in code of a file that runsdocs/capture_screenshots.mjs:15High confidence
- Executable script in prose of a file that runsmodeling/causal.py:1Low confidence
- Executable script in prose of a file that runsmodeling/engine.py:1Low confidence
- Dangerous shell operation in code of a file that runsmodeling/engine.py:279High confidence
- Executable script in prose of a file that runsmodeling/patterns.py:1Low confidence
- Executable script in code of a file that runsscripts/backup.py:1High confidence
and 6 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.