舌诊健康评估
概述
把一张舌头照片转成一份结构化的健康评估报告:六维舌象评分 → 中医辨证 → 全息定位 → 现代医学提示 → 风险分级 → 调理方案。核心价值不是"看出什么病",而是把模糊的舌象观察变成可复现、可打分、可纵向对比的记录,并守住医疗安全边界。
知识基准来自《中医诊断学》教材体系、舌诊十四天课程(全息舌诊)与公开发表的现代研究,已固化在 references/ 中,按需读取,不要凭记忆临场发挥。
何时使用 / 不使用
使用:用户发来舌头照片;询问自己的舌象意味着什么;要求体质分析或调理建议;对比两次舌照。
不使用:用户只是问"舌诊是什么"这类概念问题(直接回答即可,不必出报告);图片不是舌头(先说明);用户要求诊断具体疾病或开药(说明边界后转为就医建议)。
工作流程
第 0 步:红旗筛查(最高优先级)
先读 references/red-flags.md。 在查看图片后立即比对 A 级红旗:舌体歪斜、强硬、突然肿胀影响呼吸、持续出血、青紫伴胸痛气促。
命中 A 级 → 停止分析,只输出简短的就医提示(模板见 red-flags.md),不生成报告文件。命中 B 级 → 仍可出报告,但报告顶部置顶就医提示,且省略 plan 字段,不给调理方案。
第 1 步:看图(必须真的看)
用 ViewImage 逐张查看用户提供的舌照,提取可观察的事实,而不是先想结论。看清楚:舌体轮廓、左右对称、中线走向、舌色、舌体胖瘦/齿痕/裂纹/点刺、苔色苔厚苔质、湿润度、有无舌下照。
第 2 步:图像质量判定
读 references/observation-rubric.md 的第一节,判定 A / B / C:
- A 级 → 正常出报告,
confidence ≥ 0.85。 - B 级(偏色、轻糊、舌尖过曝)→ 出报告,但必须标注"色诊置信度下降",受影响维度分数向 70 回归 30%,
confidence0.6–0.8。 - C 级(重度偏色、失焦、只拍到舌尖、明显染苔)→ 不出报告。说明具体问题,给出重拍指引(光线、先张嘴再伸舌、镜头与上嘴唇齐平、2–3 秒内拍完、舌面+舌底两张)。
同时排查染苔:对照 observation-rubric.md 第六节的对照表,若用户提过刚吃喝过有色食物/药物,写入 quality.notes。
第 3 步:六维打分
按 references/observation-rubric.md 的量标,逐项查表打分,不要自由发挥分数:
| 维度 | 权重 | 看什么 |
|---|---|---|
| 舌色 | 25 | 淡红 / 淡白 / 红 / 绛 / 青紫 / 瘀斑,及分区偏色 |
| 舌形 | 20 | 老嫩、胖瘦、齿痕、裂纹、点刺 |
| 舌苔 | 25 | 苔色、厚薄、腻腐、剥落、偏全 |
| 津液 | 15 | 润 / 滑 / 黏 / 燥 / 糙 |
| 舌下络脉 | 10 | 长度(3/5、4/5)、宽度(2.7–3.5 mm)、色与迂曲 |
| 舌态 | 5 | 灵活 / 颤动 / 强硬 / 歪斜 / 痿软 |
没有舌底照就省略 sublingual 键,不要编造——脚本会自动重新归一化权重。每项都要写 value(4–6 字)和 desc(可复现的观察依据)。
第 4 步:全息定位(有舌面照即做)
读 references/holographic-map.md。核心是两条轴:
- 纵轴:舌中线 = 脊柱投影,舌根候会阴/下焦,舌中候中焦脾胃,舌尖候上焦头面。
- 横轴:左升血、右降气;左右不对称提示气机失衡或结构性偏歪。
重点看中线是否偏歪、舌面是否平整对称——这是判断脊柱侧弯/骨盆倾斜倾向的依据(课程体系的核心经验)。但只能写"提示……建议做体态评估",不得断言节段或病名。
第 5 步:辨证
读 references/tcm-patterns.md,按"必要条件 + 支持条件 + 矛盾条件"匹配,输出 1 个主证 + 0–2 个兼证:
- 必要条件不全 → 不能立为主证。
- 置信度:必要条件全满足 0.75 起,每条支持条件 +0.08,每条矛盾条件 −0.15,封顶 0.95。
- 有多条并存时,先写主证(舌象证据最强),再写兼证并说明二者关系(因果 / 并存 / 转化)。
- 每条证型写清四项:
basis(舌象依据)、meaning(病机解读)、direction(调理方向)。
第 6 步:现代医学提示 + 风险分级
读 references/modern-correlations.md,把舌象翻译成 2–4 条"系统 → 提示 → 建议关注"。只写方向,不写病名,且"建议检查"只留给明确异常(镜面舌、白斑、长期厚腻苔伴症状)。
风险分级:低(可逆的功能性偏颇)/ 中(失衡明确,建议 4 周复评)/ 高(对应 B 级红旗,不给方案)。
第 7 步:生成报告
- 按
references/report-fields.md的 schema 写一份findings.json(不要手算 THI 或等级)。 - 运行:
python <skill>/scripts/render_report.py findings.json --out 舌象健康评估_YYYYMMDD.html
- 脚本会打印 THI 与六维分数,核对是否与预期一致;报错按其提示改 JSON(C 级、含手机号、高风险仍带 plan 都会被拦下)。
- 用 present_files 打开 HTML,并在正文给出一段可直接读的摘要(主要结论、核心证型、最该改的 2–3 件事)。
建议把 findings.json 与 HTML 一起留在工作区(如 舌象记录/2026-10-31/)。下次复诊时读取旧 JSON 做趋势对比,在 notes 里写明"较上次:苔由厚转薄 / 齿痕变浅"。
输出规范
报告固定八个板块(缺数据自动跳过,编号自动连续):舌象健康指数(THI + 雷达图)→ 舌象特征记录 → 中医辨证 → 脏腑关联 → 全息定位 → 现代医学提示 → 风险分级 → 调理方案 → 四周跟踪。
正文摘要控制在 5 行内,说人话,不堆术语:
> 舌体胖大齿痕、苔白厚腻,主要是脾虚湿盛(维度得分:舌形 50、舌苔 50)。优先做三件事:戒冰饮、晚餐七分饱、每周三次快走。四周后同光线复拍对比。
硬性规则
- 不做西医诊断,不写病名结论,不推荐处方药与剂量,不建议停药换药。
- 不承诺疗效,不预测疾病概率与病程。
- 每份报告必须包含
references/red-flags.md第五节的原版免责声明(模板已内置,不要删改)。 - 命中 A 级红旗不出报告;命中 B 级不出调理方案。
- 孕妇、哺乳期、儿童、65 岁以上、术后/放化疗、长期服药(尤其抗凝药)→ 报告开头加注"调理方案须经主诊医生确认",且不对服用抗凝药者提任何活血类食疗。
- 不保存真实姓名、手机号、身份证、住址;
subject只用"匿名用户 · 性别 · 年龄段"。 - 单次舌象不能定论——报告中必须出现"受光线与拍摄条件影响,建议固定条件下复拍对比"这类限定语。
- 不确定就说不确定。看不清的维度宁可标"未采集",也不要编一个分数。
资源索引
| 文件 | 何时读 |
|---|---|
references/red-flags.md |
每次都用,第 0 步先读 |
references/observation-rubric.md |
判质量、打分、排查染苔时 |
references/holographic-map.md |
有舌面照,判断中线/对称/分区时 |
references/tcm-patterns.md |
辨证时 |
references/modern-correlations.md |
写现代医学提示时 |
references/report-fields.md |
写 findings.json 前 |
scripts/render_report.py |
生成 HTML |
assets/report_template.html |
报告版式(由脚本调用,通常不需手改) |