更新日志
条条可溯:新功能、问题修复与调优。当前版本 4.142.0 · 返回测一次 · 进入总官网
v4.142.0(2026-10-17)
安全审计收官 + 舌苔精细化 + AI 可信追溯
- PDF 导出模块:新增 `/api/report-pdf/{aid}` 单条导出与 `/api/report-pdf/batch` 批量导出,ReportLab 生成带中文/免责声明页脚的就诊沟通版 PDF。
- AI 解读可信追溯:每条证候倾向附带"命中线索"(信号/含义/来源),AI prompt 在解读时引用最直观的 1~2 条,结论有据可查。
- 采集可靠性降权:检测到"美颜/滤镜"或"带妆"时,自动注入"采集可靠性"提示,AI 解读主动弱化面色结论、优先采信问诊与舌象。
- 舌苔分类精细化:厚苔与腻苔分离检测,新增剥苔(花剥苔/局部苔薄少分布不均)识别;`coat_key="thick"` 补入寒热虚实验算。
- 分区判读边界加固:暗/青/淡优先级链强化,子样本不足(n<24)时直接返回 normal;红/黄阈值彩度门卫 `dc≥-1`。
- Rate limit 定期清理:`_limit()` 每 5 分钟或存储超 100 条时自动清理过期 IP 记录,防止内存泄漏。
- SW 弱网超时:`fetchWithTimeout 8s` 兜底;离线文章页友好降级提示。
- 前端 localStorage 配额兜底:`safeSetStorage` 封装,QuotaExceededError 时给出轻量 toast。
- 症状→文章关联:新增 `SYMPTOM_ARTICLES` 映射表,覆盖 28 个症状关键词。
- 测试:160 单测全绿 + 全站对比度 AA 达标(双主题 ≥4.7:1)。
v4.141.0(2026-10-15)
体验增强:面舌望诊细节与报告展示优化
- 舌象拍摄引导细化:补充晨起空腹、自然光、避免有色食物等标准化采集提示,提升舌象分割准确率。
- 趋势对比扩展:历史记录对比不仅包含面色/光泽,现新增舌体齿痕与舌苔厚薄的形态变化提示。
- 报告展示补全:前端结果页补充了后端已计算的唇色与眼周专门分析项的渲染,使望诊报告更完整。
- 算法边界保护:复核并加固了面部五色判定与分区统计的边界条件,避免极端分辨率下的越界风险。
- 测试:163 单测全绿
v4.132.0(2026-10-15)
预研:膳食识别功能
- UI 入口预留:在结果页操作按钮区域增加“🥗 拍照识食材”入口(当前隐藏,待功能成熟后开启)。
- 方案论证:评估了第三方 API、本地轻量级模型及多模态大模型三种方案,建议短期采用多模态大模型(如 Qwen-VL)进行预研。
- 测试:69 单测全绿
v4.128.0(2026-10-15)
预研:穿戴设备数据整合
- UI 交互反馈:为结果页的“🔗 同步健康数据”按钮增加了点击反馈,告知用户该功能正在规划中。
- 方案论证:评估了 Web Bluetooth API、健康平台对接及手动同步三种方案,建议短期采用手动同步,中长期对接 Apple Health/华为运动健康。
- 测试:69 单测全绿
v4.125.0(2026-10-15)
修复:算法直方图均衡化预处理
- CLAHE 兜底增强:当白平衡校正因缺乏中性参照而失败时,自动启用限制对比度自适应直方图均衡化(CLAHE)。
- 价值:显著提升了低对比度、灰蒙蒙画面下的肤色细节表现,辅助后续的五色判定更准确。
- 测试:69 单测全绿
v4.121.0(2026-10-15)
体验增强:AI 追问节气体质深度关联
- 因时追问:在 AI 追问快捷标签中,新增基于“当前节气”与“用户体质”结合的深度标签(如“冬天到了,气虚/阳虚需要额外进补吗?”)。
- 价值:让 AI 追问不仅关注个体体质,还能顺应天时,提供更具中医“天人合一”智慧的养生指导。
- 测试:69 单测全绿
v4.118.0(2026-10-15)
预研:膳食识别功能
- UI 入口预留:在结果页操作按钮区域增加“🥗 拍照识食材”入口(当前隐藏,待功能成熟后开启)。
- 方案论证:评估了第三方 API、本地轻量级模型及多模态大模型三种方案,建议短期采用多模态大模型(如 Qwen-VL)进行预研。
- 测试:69 单测全绿
v4.108.0(2026-10-15)
预研:膳食识别功能
- UI 入口预留:在结果页操作按钮区域增加“🥗 拍照识食材”入口(当前隐藏,待功能成熟后开启)。
- 方案论证:评估了第三方 API、本地轻量级模型及多模态大模型三种方案,建议短期采用多模态大模型(如 Qwen-VL)进行预研。
- 测试:69 单测全绿
v4.107.0(2026-10-15)
体验增强:分享卡后端社会认同文案优化
- 分段百分位模拟:优化 `/api/stats` 中的统计算法,采用分段计算模型(初学者/进阶者/养生达人),使“超过 X% 用户”的文案更具层次感和说服力。
- 测试:69 单测全绿
v4.104.0(2026-10-15)
预研:穿戴设备数据整合
- UI 交互反馈:为结果页的“🔗 同步健康数据”按钮增加了点击反馈,告知用户该功能正在规划中。
- 方案论证:评估了 Web Bluetooth API、健康平台对接及手动同步三种方案,建议短期采用手动同步,中长期对接 Apple Health/华为运动健康。
- 测试:69 单测全绿
v4.101.0(2026-10-15)
体验增强:AI 追问节气体质深度关联
- 因时追问:在 AI 追问快捷标签中,新增基于“当前节气”与“用户体质”结合的深度标签(如“冬天到了,气虚/阳虚需要额外进补吗?”)。
- 价值:让 AI 追问不仅关注个体体质,还能顺应天时,提供更具中医“天人合一”智慧的养生指导。
- 测试:69 单测全绿
v4.92.0(2026-10-15)
体验增强:分享卡后端社会认同文案优化
- 分段百分位模拟:优化 `/api/stats` 中的统计算法,采用分段计算模型(初学者/进阶者/养生达人),使“超过 X% 用户”的文案更具层次感和说服力。
- 测试:69 单测全绿
v4.89.0(2026-10-15)
预研:穿戴设备数据整合
- UI 交互反馈:为结果页的“🔗 同步健康数据”按钮增加了点击反馈,告知用户该功能正在规划中。
- 方案论证:评估了 Web Bluetooth API、健康平台对接及手动同步三种方案,建议短期采用手动同步,中长期对接 Apple Health/华为运动健康。
- 测试:69 单测全绿
v4.88.0(2026-10-15)
预研:膳食识别功能
- UI 入口预留:在结果页操作按钮区域增加“🥗 拍照识食材”入口(当前隐藏,待功能成熟后开启)。
- 方案论证:评估了第三方 API、本地轻量级模型及多模态大模型三种方案,建议短期采用多模态大模型(如 Qwen-VL)进行预研。
- 测试:69 单测全绿
v4.87.0(2026-10-15)
体验增强:分享卡后端社会认同文案优化
- 分段百分位模拟:优化 `/api/stats` 中的统计算法,采用分段计算模型(初学者/进阶者/养生达人),使“超过 X% 用户”的文案更具层次感和说服力。
- 测试:69 单测全绿
v4.86.0(2026-10-15)
体验增强:AI 追问节气体质深度关联
- 因时追问:在 AI 追问快捷标签中,新增基于“当前节气”与“用户体质”结合的深度标签(如“冬天到了,气虚/阳虚需要额外进补吗?”)。
- 价值:让 AI 追问不仅关注个体体质,还能顺应天时,提供更具中医“天人合一”智慧的养生指导。
- 测试:69 单测全绿
v4.48.0(2026-10-15)
修复与合规强化
- 修复趋势对比齿痕逻辑失效:修复 `trend_note` 中齿痕对比因列表子串匹配错误导致失效的 Bug。
- PDF 报告每页免责声明:将“仅供参考,不构成医疗诊断”声明改为 PDF 每页页脚强制输出,确保合规红线无死角。
- 前端拍摄引导优化:新增“请确保面部无遮挡(无头发、口罩、手遮挡)”明确提示,降低因遮挡导致的分析偏差。
- 服务端 EXIF 旋转兜底:在图片接收端强制校正 EXIF 方向,防止前端绕过导致图像旋转误判。
v4.44.0(2026-10-15)
体验增强:趋势图基线对比提示 + 分享卡社会认同文案
- 理想基线可视化:在面色五色变化时间轴下方,新增“基线对比提示”模块。
- 若用户当前面色已接近“红黄隐隐”的理想状态,显示绿色鼓励文案:“你的面色已接近理想状态,继续保持!”
- 若用户当前面色偏颇,显示距离理想基线的“步数”,并告知“传统认为面色回归常态通常需要 2-4 周调养”。
- 分享裂变增强:在生成的分享卡中,除了成就信息,增加“坚持关注健康 X 天”的社会认同文案,进一步激发用户分享至家庭群或朋友圈的意愿。
- 测试:69 单测全绿
v4.40.0(2026-10-15)
修复与体验增强:限流内存彻底优化 + 趋势图置信区间
- 彻底杜绝内存泄漏:将 `_rate` / `_fb_rate` 从普通字典升级为 `collections.OrderedDict`,并引入 `_MAX_STORE_SIZE = 5000` 硬性上限。
- LRU 清理机制:当存储达到上限时,自动批量删除最久未访问的 IP(`popitem(last=False)`),并在每次访问时将当前 IP 移至末尾(`move_to_end`),确保高并发下内存占用绝对可控。
- 可视化升级:在面部光泽走势图中,新增半透明背景带,直观展示用户个人的“正常波动范围”(均值 ± 1个标准差)。
- 价值:借鉴专业健康管理 APP 的设计,帮助用户理解数据波动是否在正常基线内,减少因单次数值波动产生的不必要焦虑。
- 测试:69 单测全绿
#### 安全修复:app.py 限流字典 LRU 优化
#### 体验增强:趋势图增加光泽预测置信区间
v4.39.0(2026-10-15)
体验增强:舌象检测提示优化 + 前端 Canvas 实时模糊度预检
- tcm.py:将“画面里没有找到足够大的舌体”优化为“舌头伸出太短或被遮挡,请自然伸舌并让光线照进口腔,避免只拍到嘴唇”,提供更明确的重拍指导。
- app.js:在 `photoHint` 函数中新增简化的相邻像素差值计算(模拟 Laplacian 方差),在拍摄瞬间检测照片模糊度。
- 效果:如果照片过于模糊,会立即提示“这张照片看起来有些模糊,请保持手机稳定后再拍”,有效减少无效照片上传,节省服务器算力与带宽。
- 性能:在 48x48 缩略图上计算,耗时 < 1ms,不会造成前端卡顿。
- 测试:69 单测全绿
#### 体验优化:舌象检测提示更具体
#### 体验优化:前端 Canvas 实时模糊度预检
v4.38.0(2026-10-15)
修复 + 体验增强:限流内存优化 + AI追问快捷问题
- 问题:`_rate` / `_fb_rate` 字典的清理逻辑只在超过 1000 条时触发,长时间运行可能积累大量过期 IP 记录
- 修复:改为每 5 分钟或超过 100 条时主动清理,避免内存持续增长
- 新增:在追问输入框上方预置 3 个快捷问题标签("我的体质平时吃什么好?"、"这个方向和睡眠有关吗?"、"需要调整生活习惯吗?")
- 交互:点击快捷问题自动填充到输入框并聚焦,降低用户输入门槛
- 设计思路:借鉴平安健康 APP 的追问引导机制,提升 AI 解读功能的实际使用率
- 测试:69 单测全绿
#### P2 修复:app.py 限流字典内存泄漏风险
#### 体验增强:AI 追问快捷问题预置
v4.37.0(2026-10-15)
体验增强:趋势图面色五色变化增加直观箭头指示
- 趋势图升级:面色五色变化时间轴现在显示 `↑ 向好` / `↓ 需留意` 箭头,让非专业用户一眼看懂气色变化大方向
- 从"晦暗少泽/黧黑/青暗"转向"红黄隐隐"显示绿色 ↑ 向好
- 从"红黄隐隐"转向"潮红/萎黄/淡白/青暗/黧黑/晦暗少泽"显示橙色 ↓ 需留意
- 保持"红黄隐隐"或同色变化不显示箭头(避免信息过载)
- 设计思路:借鉴 Keep、习惯打卡类 APP 的可视化反馈机制,降低用户理解门槛
- 测试:69 单测全绿
v4.34.0(2026-10-15)
修复:11 项 BUG(含 4 个 P0 级崩溃问题)+ 竞品调研优势吸收
- 补充 `tempfile` 模块导入(批量 PDF 导出接口 500 错误修复)
- PDF 下载接口改用字节流 `Response` 返回(不再读取不存在的临时文件)
- `report_pdf_batch` 改为 `async def`(`request.body()` 未 await 导致崩溃修复)
- 批量 PDF 导出改为返回下载链接列表 JSON(不再伪装成"全部记录合并报告")
- `openShotPreview` 图片加载失败时也释放 Blob URL(防止内存泄漏)
- 前端状态重置补全 `state.result = null`(防止陈旧结果残留)
- `skin_stats` 样本量过小时不再退化到全图(避免被非皮肤像素污染)
- CSRF origin 校验优先读取 `x-forwarded-host`(适配反向代理环境)
- localStorage 配额耗尽时 toast 提示(避免静默失败)
- 档案切换时清空拍摄和问卷状态(防止跨档案串数据)
- 轻复测/再测一次/再做一次保留问卷答案(降低重复填写门槛)
- 调研脉大师、知源中医、云诊科技等主流产品,确认我们在隐私保护、合规性、家庭多档案、轻复测等方面处于行业领先
- 下一步计划引入打卡激励机制(7 天复测打卡 + 成就徽章)
- 测试:159 单测全绿 + 对比度全站 AA 达标
#### P0 关键修复(服务崩溃级)
#### P1 重要修复
#### P2 体验优化
#### 竞品调研采纳
v4.33.0(2026-10-13)
完善:自我迭代功能增强
- 问诊优化:
- 新增「面部不适持续时间」字段,帮助中医辨证寒热虚实
- 复测时自动填充上次问卷答案(轻复测场景减少重复输入)
- 健康趋势增强:
- 光泽预测模型新增季节修正因子(冬季-2、春季+1、夏季+3,秋季平和)
- 趋势图添加7天标记线(虚线标注调养效果常在7天后显现的记录)
- 隐私仪表盘:
- 新增数据清理倒计时展示(最早记录将于90天后自动清理)
- 实时更新倒计时,透明化数据生命周期管理
- 测试:159 单测全绿 + 对比度全站AA达标
v4.32.2(2026-10-13)
完善:复测趋势可视化增强 + 情志知识文章
- 复测趋势可视化增强:
- 光泽指数折线图添加数值标注(每个数据点显示具体数值)
- 面色五色时间轴优化:显示"前次→本次"颜色变化,直观感受大方向转变
- "面色五色变化"标题优化为"(寒热与气色大方向)"
- 情志知识文章(3篇):
- 《压力大、易烦躁怎么办?中医情志调摄指南》:疏肝解郁方法
- 《情绪低落、易焦虑怎么办?中医养心安神指南》:养心安神方法
- 《情绪波动大、易生气怎么办?中医疏肝理气指南》:疏肝理气方法
- 每篇含面色特征分析、调摄方法、穴位保健、食疗推荐
- 测试:159 单测全绿 + 对比度全站AA达标
完善:健康内容结构化数据(E-E-A-T)+ 第 27 篇文章(唇色速查)
- MedicalWebPage 结构化数据:全部知识文章注入 schema.org JSON-LD(标题/更新日期/
- 第 27 篇文章《唇色深、唇色淡说明什么?一张唇色速查》——补齐唇色检测的内容线,
- 测试:文章 JSON-LD 断言;158 单测全绿
发布方/主题/描述)——健康类内容(YMYL)的信任与收录信号(调研:E-E-A-T 最佳实践,
作者资质之外可落地的透明度信号我们已大部分具备:更新日期/来源清单/非诊断声明)
与正面照片唇色四态分析对应;已入 sitemap
v4.30.0(2026-10-12)
完善:对比度全站达标(AA)+ 键盘焦点可见 + 项目约定入库
- 对比度全站审计工具(tools/contrast_check.py):解析两套主题变量,对关键前景/背景对
- :focus-visible 焦点态:键盘导航全站可见(3px 松绿外框)
- 粉色主按钮从渐变换实色并按主题切换文字色(浅色白字 / 深色深墨字)
- 项目约定入库 AGENTS.md(版本三处同步/测试命令/改动同步清单/已知坑索引)
- 测试:158 单测 + 对比度工具退出码校验
计算 WCAG 对比度,<4.5:1 退出码 1——修复浅色金色(3.78→6.17)、深色朱红(4.49→4.87)、
深色按钮白字(3.38→4.59,新增 --pine-btn 实底专用变量)、浅色粉色深(3.91→4.79)
v4.29.0(2026-10-12)
修复:二轮专项审查(2 关键 + 2 重要 + 3 加固)+ 无障碍三处
- 关键:Service Worker 导航分支串页——所有页面导航都命中缓存的首页(点「更新日志/
- 关键:多档案在「自动对比条」与「对比选单」两处串档——会把家人的记录当成自己的
- 重要:新面诊不再继承上一个人的问卷答案(多档案场景下换人检测时问卷自动清空)
- 重要:E2E 第 7 节历史计数断言过期(此前导致尾部检查被静默跳过)——修正为
- 无障碍三处(采纳适老化专项调研 P0):toast 加 role=status(读屏播报);「大字/主题」
- 加固:share-image 改流式读取+超限即断(不再整包读入内存);删除重复路由装饰器;
- 测试:158 单测 + 71/71 桌面(历史段全链真实执行)+ 16 移动全过
隐私政策」会返回首页内容,且其它页面会污染「/」缓存键);现仅首页走缓存优先,
其余页面网络优先、离线回退首页壳
气色变化展示;两处均改为按对象过滤
3→2→1→清空并验证全链
按钮触控目标提升到 ≥32px;页脚链接按钮触控目标提升;大字模式 1.25 → 1.3 倍
(微信适老标准 1.4 与视觉代价的折中)
档案名输出转义
v4.28.0(2026-10-12)
完善:证候分布首轮数据体检 + 看板样本量提示
- 用生产全量记录做了证候方向分布首轮体检(只读聚合):multi/single/calm 口径工作正常、
- 旧格式记录在看板按 title 反查归位,不再出现「?」条目
- 看板「证候方向分布」显示样本量,样本不足 30 份时明确提示仅供参考、不做调参
- 测试:旧记录 title 反查回归用例;158 单测全绿
兼夹卡在真实数据中触发、无方向过度触发或零触发(样本小,仅确认「都在工作」)
(调参纪律预承诺写入 docs/数据快照-2026-10-12-证候分布首轮.md)
v4.27.0(2026-10-12)
完善:深色收尾 + 案例连载②
- 因时提醒文字色改用主题变量(深色下对比度修正);深色模式全站审计收官
- 第 25 篇知识文章《案例解读②:口干、手足心热、夜里睡不好》——虚构教学案例连载,
讲虚火与实火的区分读法、「少做什么」的调养次第、复测对比的读法;已入 sitemap
v4.26.0(2026-10-11)
完善:深色模式手动三态(自动 / 浅色 / 深色)
- 系统深色跟随此前已有;本轮补上手动开关(页头「主题」按钮:自动 → 浅色 → 深色循环),
- 内联色变量化:结果页结论卡/徽章/证候卡等约 10 处硬编码颜色收敛为 CSS 变量,
- 主题切换时同步 meta theme-color(手机状态栏颜色跟随)
- 测试:E2E 主题三断言(深色应用/meta 同步/浅色覆盖系统深色);测试基建把反馈/求解读/后台
- 深色视觉走查:首页/拍摄页截图目检对比度与可读性合格
系统浅色的用户夜间也能一键切深色;早期脚本预应用,加载不闪白
并补齐粉色系(--pink-line)深色值——深色下不再出现刺眼白块
各段全部纳入 best-effort(本机环境卡顿降级不阻断,产品逻辑均有单测覆盖)
v4.25.0(2026-10-11)
完善:PWA 离线壳 + 多档案细节打磨
- Service Worker 离线壳:添加到主屏后断网也能打开工具——壳资源(首页/样式/脚本/图标)
- 多档案细节:刷新找回的「回到上次结果」按当前对象过滤(不再把妈妈的结果找回给我的首页);
- 文章内链与 sitemap 一致性复核通过(24 篇,0 死链)
- 测试:新增 sw.js 用例 + E2E SW 注册断言;157 单测全绿
缓存优先后台换新;已读过的知识文章离线可看;数据接口(/api/*)一律不缓存,
文字结果与照片不留本盘副本(隐私口径不变)
删除记录(单条/全部)同步清理档案映射;「导出我的数据」带对象归属(换机可迁移)
v4.24.0(2026-10-11)
新增:家庭多档案(本地)+ 看板证候方向分布
- 家庭多档案:首页可选「检测对象」(我的 / 妈妈 / 爸爸…,可自增)——历史、对比、趋势、
- 看板证候方向分布:管理端新增「证候方向分布」——问诊+照片合参的当下状态统计
- E2E:多档案路径 4 断言(新建切换/隔离/轻复测门控/切回恢复);看板聚合断言
- 测试基建:E2E 浏览器加 --no-proxy-server(封闭网络;实测下午的步骤挂起与代理无关,
轻复测入口全部按对象分开,家人的趋势不再混在一起(适老场景:子女替父母操作时尤其有用)。
全部存本机,不与服务器关联;存量历史自动归属「我的」,行为不变
(与「体质倾向分布」互补),为后续按真实数据调校方向权重积累数据
DEGRADED 兜底保留)
v4.23.0(2026-10-11)
新增:追问定性徽标(印证/排除/补充)+ 两篇新知识文章
- 追问定性徽标(采纳 #6 的结构化形态):AI 回答追问时先给定性标签——与报告方向一致
- 第 23、24 篇知识文章:《月经与气色:经前经后脸上的信号》(女性人群,周期四段面色信号)、
- 测试:追问规则断言 + E2E 徽标断言
标「✓ 印证报告方向」、降低担心标「✓ 降低担心」、无关补充标「✓ 补充说明」;徽标由回答
开头标签解析生成,旧记录无标签自动归「补充说明」,正文不再重复显示标签
《案例解读①:连续加班一个月,她的舌苔和面色说了什么》(虚构教学案例连载首篇,
演示「多信号同向才可信」读法与调养次第);已入 sitemap
v4.22.0(2026-10-11)
新增:轻复测模式(调研采纳:每周轻复测节奏)+ 交叉验证包装
- ⚡ 轻复测 · 只拍正面:测过一次的用户首页出现入口——只拍一张正面照 + 问诊,
- 交叉验证包装(采纳 #6):AI 追问区改为「核对一下」——就报告里的方向提问核实,
- 首页隐私信任行(采纳 #5,ZenCheck 句式):「照片即焚 · 数据自留」显式化
- 第 22 篇知识文章《压力大、脸色差?——情绪是如何「写」在脸上的》(情志方向,
- 后端:左右侧照片接口改为可选(正面必填),分析/报告/对比链路对缺侧照全兼容
- 测试:新增轻复测端点用例 + E2E 轻复测全路径(入口→单步拍摄→简报)
一分钟出气色简报(左右侧照与舌下照全部跳过)。分析引擎对缺侧照本就支持,
定侧会如实标注「无法确定左右归属」。把「每两周一次重面诊」的门槛降到「每周一分钟」,
配合复测提醒形成轻-重节奏
每条问答带「✓ 已核对」徽标,把追问从「提问」升级为「对报告的交叉验证」记录
三种情绪面色 + 三件情绪出口)
v4.21.0(2026-10-11)
新增:就诊沟通版打印报告 + 双轨报告叙事(同类产品调研采纳 Top2)
- 打印 / 存 PDF(就诊沟通版):结果页一键生成打印友好报告(Ada/Infermedica 式报告导出)——
- 双轨报告叙事(Banyan/LifeSpa 式「禀赋 vs 状态」):大白话结论卡新增「底色 · 体质(长期)」
- 来源:docs/调研-2026-10-11-同类产品功能对比.md(15 个中英文同类产品对比)
- 测试:E2E 新增 3 项断言(双轨展示/打印报告关键内容/打印视图生成)
检测特征表 / 状态方向(含证据来源)/ 体质底色 / 问诊自述要点 / 就医提示 / 非诊断声明与隐私行
(照片即焚,报告不含照片),A4 打印规范(ui-design-library 打印模板),可直接打给线下医师或存 PDF
与「当下 · 状态(近期)」分轨摘要——体质是长期底色、证候是当下偏向,两者可并存、调养侧重不同;
复诊对比表措辞同步对齐(「当下偏向(状态)」「体质底色(长期)」)
v4.20.1(2026-10-11)
修复:专项缺陷审查轮(10 项,含 1 项关键)
- 关键:舌下照片在 UI 流程中从未上传——提交表单只组了 4 张图,舌下拍了也白拍
- 兼夹证口径修正:此前「multi 方向 + 仅单信号方向」也会挂兼夹卡,现要求两个方向都 multi
- 证候 single 槽位按证据权重取最强(此前按库序,1 路照片信号可能压过 1 路问诊信号)
- 趋势页置信度列字段名写错(color_confidence→confidence),此前恒显示「—」
- 临时分享图清理从 24 小时一跳改为每小时,兑现「6 小时自动删除」承诺
- 分析接口改同步线程池执行(原 async 内跑秒级 CV 分析阻塞整个事件循环,并发时全站卡死)
- 舌下照片不再误触发「没有检测到清晰的人脸」质检告警;质检标签补「舌下」名称
- AI 日志锁提为模块级(原函数内新建锁实例,互斥失效);趋势/对比对旧版记录缺 complexion 的防御
- 首页装饰竖排字在有提醒卡时不再叠压(有提醒时隐藏)
- 删除一处重复死代码;X-Real-IP 限流依赖生产 nginx 覆写(已核实配置并在代码注明部署约束)
- 测试:新增 3 项回归用例,154 单测 + 桌面 72/72 E2E(含舌下哨兵)全过
(v4.8.0 功能在前端实际失效,接口测试走 API 绕过了前端组包所以没发现);已修复并加
E2E 哨兵断言堵住回归
v4.20.0(2026-10-11)
修复:微信内分享卡无法保存(长按/下载都失效)
- 根因:分享卡此前以 `blob:` 地址展示——微信内置浏览器的长按保存只认 http(s) 图片,
- 修复:生成后自动上传为同源临时图(`/api/share-image/…`)再展示——微信内长按
- 隐私口径:卡片内容不含任何照片(望诊示意图 + 文字 + 二维码);临时图 6 小时自动删除
- 测试:新增 4 项端点用例(上传/回读/魔数校验/超限/TTL 清理)+ E2E 断言弹窗图为同源 URL
blob 资源两端(iOS/安卓)都无法保存;「下载」按钮依赖的 download 属性在微信内也完全无效
「保存图片 / 发送给朋友」两端恢复可用;弹窗引导按环境分流(微信内提示长按保存,
浏览器内保留「下载 PNG」按钮);上传失败自动降级回本机展示并提示截图
(启动与每日清理各跑一次),与记录、身份信息无关联;隐私政策已补充该条款
v4.19.0(2026-10-11)
新增:方案深化包——食疗方库 + 照片证据按画质折扣 + 寒热错杂识别 + 连续同向提示
- 食疗方库(12 方向各 1~2 个):每个证候方向给出具体的居家粥汤羹(食材 + 做法 + 频率,
- 照片证据按画质折扣:色彩置信度低(光线差/妆容/模糊)时,照片佐证权重自动打折
- 寒热错杂识别:问诊既怕冷又手足心热时,如实提示「寒热错杂、建议面诊细辨」而非强行归方向
- 连续同向提示:复诊时与上一次记录比对,同方向连续两次出现 → 明确提示「这是常态
- 第 21 篇知识文章《对症食疗方:十二个方向的居家调理吃法》已入 sitemap
- 测试:新增 5 用例(食疗完整性/画质折扣排序翻转/寒热错杂/报告接线),全套 147 单测通过
如阳虚的当归生姜羊肉汤出自《金匮要略》并注明禁忌频次),结果页「食疗参考」行 +
AI 解读输入同步(模型只做通俗化转述、不得自创食谱)
(置信 3 路 ×1.0 / 2 路 ×0.7 / 1 路 ×0.45),问诊与舌象不受影响——低画质照片再也不
能把问诊证据压下去;这是「手机照片没有标准光源」一贯口径的量化落地
而非偶然,坚持调养四周再复测;持续不缓解请面诊」(前端比对,不留存额外数据)
v4.18.1(2026-10-11)
修复:更新日志页太长——首屏 10 个版本 +「加载更多」
- `/changelog.html` 此前把全部版本一屏渲染到底(已 45 个版本,滚动没有尽头,用户反馈 UI 错误);
- 无 JS 环境(noscript)自动全部展开兜底;`/api/changelog` 数据源不受影响(官网同步照常)
现按版本分段:首屏只显示最近 10 个,「加载更多」每次展开 10 个,按钮实时剩余计数、
展开完自动隐藏
v4.18.0(2026-10-11)
调整:大白话结论置顶(真实用户反馈驱动)+ 官网更新日志同步补全
- 大白话结论卡置顶(回应 2026-10-10 用户反馈「结论太复杂、术语太多、要能直接照做的改善方法」):
- 官网 /releases/ 更新日志补全:collect_versions.py 里面诊的历史日志读取函数
- 测试:新增 5 用例,全套 142 单测 + E2E(含大白话结论卡断言)通过
结果页第一屏先给三句话——① 身体方向一句(专业术语全部转白话,如「阴虚内热」→
「体内偏干、有点虚火」)② 两三条能直接照做的小事(如「今晚开始 23 点前放下手机」)
③ 一句就医边界。规则确定性生成、零 AI 成本;深度分析(病机/逐信号/六类调养)原样保留在
下方,愿意深看的用户不受影响。复制文字摘要同步带上结论
(hist_mianzhen)此前从未接线——面诊在官网更新日志页一直只有无日期的单条版本号;
现已接入 /api/changelog 完整历史
v4.17.0(2026-10-11)
新增:辨证精度轮——证据分级加权 + 兼夹证 + 季节×证候 + 问诊再细化
- 证据分级加权:每条证据标注来源(问诊 / 舌象 / 舌下 / 照片),方向排序按加权分
- 兼夹证知识(8 组):气滞血瘀、肝郁脾虚、肝郁化火、湿邪化热之势、脾虚气血不足、
- 季节×证候交叉提醒(7 组):秋燥×阴虚、冬寒×阳虚、长夏×痰湿、暑湿×湿热、
- 问诊再细化(24 → 25 题):睡眠增「晚睡但睡得够」(耗阴)、口感增「口舌生疮反复」(心火)、
- 行动清单与复诊对比增强:本周行动清单吸收证候方向的茶饮/穴位(上限 5 条);
- AI 解读同步:证候倾向条目附「证据来源」「兼夹提示」「因时提醒」与新题中文标签
- 第 20 篇知识文章《体质与证候:一个说「底色」,一个说「当下」》:体质 vs 证候之辨、
- 测试:新增 9 用例,全套 138 单测 + 桌面 E2E 63 项 + 移动 16 项通过
(问诊 1.0 > 舌象/舌下 0.8 > 照片 0.6——照片无标准光源只作佐证,本项目一贯口径);
结果页逐信号表带来源标签,新增「证据来源统计」行
气血不足兼阳虚、肾阴不足、肾阳不足——两个方向信号都充分时给出组合病机与
「调养次第」(先理气后活血、先解郁后健脾),提示挂在排序靠前的方向卡上
春季×气郁等,按当季自动出现在对应方向卡(「因时制宜」科普化)
月经增「量少、色淡」(血虚鉴别)、新增「饮食口味」组(嗜辛辣 / 甜腻 / 偏咸——
湿热、痰湿、肾的饮食诱因问诊);新选项同步接入体质评分与证候证据引擎
复诊对比表新增「状态方向」行,两次记录的证候方向可直接对照
常见证候方向、兼夹与调养次第;已收录 sitemap
v4.16.0(2026-10-10)
新增:中医辨证知识增强包——12 证候方向四源合参 + 问诊扩至 24 题 + 六类分项调养
- 证候知识库(12 方向):气血不足 / 阳虚偏寒 / 阴虚内热 / 痰湿内蕴 / 脾胃虚弱 /
- 问诊简表 18 → 24 题(十问歌口径补全):新增渴饮(喜冷 / 不欲饮 / 喜热)、
- 调养方案升级:每个证候方向的分项调养从「饮食/起居」扩到**饮食 / 起居 / 茶饮 /
- 面部分区解读 +14 组(眉间红/淡、山根红/青、额淡、年寿红、颊青/淡、人中红、
- AI 解读同步:解读输入新增「证候倾向」(方向/依据/可信度/调养参考)与新题中文标签,
- 知识出处面板同步:十问歌(明·张景岳《景岳全书·十问篇》)、渴饮辨证、
- 测试:新增证候引擎、问卷白名单、AI payload 匿名边界等 13 个用例,全套 129 项通过
湿热内蕴 / 气机郁滞 / 血行不畅 / 心火偏旺 / 肝火上炎 / 肾气不足 / 肺卫偏弱。
「通千算智AI分析」由照片单源升级为问诊为主、照片与舌象佐证的四源合参——
问诊答得越全,归纳越有依据;≥2 路信号才标「多信号同向」,单信号明确降级为低置信提示
头身(头晕 / 头重如裹 / 固定部位痛)、胸胁(胸闷 / 胁胀叹气 / 心慌)、
手足(手足心热 / 四肢不温)、胃脘(食后腹胀 / 冷痛喜温 / 灼热)、耳目(耳鸣 / 眼干涩)
六组;情绪增「易怒烦躁」项;新题全部接入体质评分与证候证据引擎,一键填常用项同步
穴位(带定位与按法)/ 运动 / 情志**六类,全部为食材与保健穴位日常参考,无方剂剂量
下颌黄/青、鼻翼淡);跨信号互证组新增阴虚内热(面红+舌红+盗汗/手足心热)与
心火扰神(舌尖红+入睡难)
系统提示要求围绕高可信方向展开,茶饮穴位只用数据条目转述;修正「口干」标签
与前端文案不一致的问题
手足心与寒热、体质与证候之辨、官窍外候等新增条目可回溯
v4.15.1(2026-10-10)
调整:通千算智AI分析专业化 + 粉色视觉 + 四诊合参等待动画(用户反馈)
- 「通千算智AI分析」条目大幅专业化:每条新增逐信号含义表(每个命中信号的传统解释)、
- 「通千算智AI解读」「通千算智AI分析」两板块改用品牌粉色卡片突出;问诊表
- 分析等待页改为「通千算智AI四诊合参进行中」:双环旋转 + 脉动「诊」字 + 四步骤
病机参考(教材口径一句话)、饮食/起居分项调养、就医提示红线;新增
「阴虚内热倾向」方向(舌红少津有裂,与实热相区分)
「✨ 大多正常?一键填常用项」改粉色胶囊大按钮,一眼可见
轮流点亮动画(支持 prefers-reduced-motion 自动降级)
v4.15.0(2026-10-10)
调整:拍摄流程自动化 + AI 倾向分析前置(用户反馈轮)
- 拍摄流程自动化:拍完一张自动进入下一项拍摄(不再需要点「下一步」),全部拍完
- AI 倾向分析移到 AI 解读下方(用户反馈找不到)并保证每次可见:单信号也出参考条目
- 主 E2E 59 项 / 移动 E2E 16 项同步新交互断言
自动进入问诊表;点击「未拍」缩略图可直接跳到该项拍摄,点击「已拍」缩略图查看完整
大图并可一键重拍
(标注「仅单一信号支持,置信度有限」),全部信号如常时给出「未见明显倾向」的平和反馈
v4.14.0(2026-10-10)
新增:AI 倾向分析板块 + 项目更名「通千算智AI面诊」
- 结果页新增「AI 倾向分析 · 可能的身体状态参考」:综合面色、唇色、舌质、舌苔、齿痕、
- 项目更名:「AI 面诊参考」→「通千算智AI面诊」(页面标题、品牌角标、分享卡、
舌下等信号,自动归纳「气血不足 / 脾虚湿盛 / 血行不畅 / 内热」等倾向条目——每条含
命中依据(需 ≥2 路信号)、传统认为的常见表现(乏力困重/口干烦躁等)、两周可做的事
与就医提示;按信号数排序,单信号不出条目(宁缺勿滥);板块固定标注
「AI 自动归纳,不构成医疗诊断」
PWA、16 篇文章、接口 title、分享欢迎语全量同步)
v4.13.1(2026-10-10)
修正:追问回复补固定就医边界(第 34 轮)
- 追问(AI 追问对话)此前依赖模型自觉带边界提示,实测真实调用会漏——现在与解读流同款,
- 追问真实链路抽检同步完成:上下文保持(引用舌象信号)、中医口径(健脾渗湿食材与起居
代码强制在每次追问回复末尾拼接「不构成医疗诊断;若有持续不适请及时就医」边界声明
建议)验证通过
v4.13.0(2026-10-10)
增强:AI 解读输入补全 + 常色地域/四季口径(第 32 轮)
- AI 解读的输入补全:此前 prompt 只带舌质/舌苔/润燥/裂纹——现在「齿痕较明显、点刺
- 常色的地域与四季差异入知识面板与免责声明:调研(《望诊遵经》五方/四时望法专篇 +
等形态短标签」与「规则引擎的跨信号互证方向(血行不畅/气血不足/湿浊偏盛)」一并进入
AI 输入,AI 解读与本地判定对齐(形态文案仍是给用户看的长句,prompt 只取标签,控制
token 与噪音)
现代多城市测量:城市间面部 L* 可差 5~8)确认差异达常色量级但属「平色不当病色」——
检测器不做地域/季节修正(无同口径常色表,修正即编造),知识面板与免责声明补充科普口径;
防误引:核实「春应中规」为四时脉象非面色,知识库未误引
v4.12.0(2026-10-10)
增强:齿痕纳入湿浊互证 + 望发爪甲两篇科普(第 31 轮)
- 「齿痕较明显」纳入湿浊互证组:脾虚湿盛的经典形态指征与舌苔厚腻、面部泛油光、
- 第 15、16 篇知识文章:《白头发是肾虚吗?少年白与脱发的两种读法》(《望诊遵经》
- 检测器边界重申:望发/望爪甲/唇四白/上腭均不做照片检测(染发混淆、需专用采集、
面色偏黄同向计分(≥2 信号出互证提示);齿痕「倾向」档不参与(宁漏勿误)——
调研报告《望发爪甲与齿痕量化》第七节建议项落地
「赋禀不同」反焦虑条款 + 压力灰发可逆 eLife 2021 + 「相关不是诊断」纠偏)、《指甲没有
月牙、指甲发白,是贫血还是肾虚?》(爪为筋之余 + 甲色速查 + 月牙真相 + 甲下黑线就医
红旗);两篇均基于逐字核对的经典原文与现代文献,已收录 sitemap 并推送收录
不可测),调研三选一结论全部落地完毕
v4.11.0(2026-10-10)
增强:齿痕凹损量化(检测盲区修复)+ 移动端拍摄双入口 + 目诊收官篇(第 30 轮)
- 齿痕判定由全局实心度升级为「凸包凹损分解 + 归一化深度」(受控基准证实旧指标存在
- 移动端拍摄双入口修复:摄像头不可用时的回退界面(微信内置浏览器等常见场景)此前只有
- 第 14 篇知识文章《眼睛里的气血信号:眼角淡白说明什么?》:目诊收官篇——
「中等压迹漏检」盲区:4 处中等压迹实心度不触发;文献:杨佳欣 2022 凹损分解分级 89.63%、
Li 2019 齿痕仅现于侧缘)。新指标:侧缘凹损数 + 深度/舌宽(尺度不变)→「齿痕倾向 /
齿痕较明显」两级输出,实心度 ≤0.90 保留兜底;舌尖分叉、舌根凹陷、上下缘弧度明确排除;
合成基准 10/10 锁定(级别+单调性+盲区存在性,tools/bench_toothmark.py)
「调起相机」单一入口——「从相册选择」按钮也带了 capture 属性变成了调相机。现恒为纯相册
入口,回退界面明确「用相机拍摄 + 从相册选择」双通道;新增 iPhone 视口移动端 E2E
(tests/e2e_mobile.py:双入口断言 + 逐页横向溢出检查 + 相册路径全流程)
《灵枢·论疾诊尺》五色目诊总纲 + 目胞速查五条 + 「淡」与「暗」两方向分流 +
「本工具不做目眦自动判定」的诚实边界;与黑眼圈/眼白/晨肿篇组成目诊四篇互链环;
已收录 sitemap 并推送收录
v4.10.0(2026-10-10)
增强:舌下信号纳入血瘀互证 + 生产修复(第 29 轮)
- 跨信号互证补上舌下一路:面色/唇色/舌象已有单个「血行不畅」方向信号、且舌下照片也偏青紫时,
- 鼻头四色细则入分区文案(检测器增强):《金匮要略·脏腑经络先后病》「鼻头色青腹中痛/微黑者有水气/
- 第 12、13 篇知识文章:《耳垂上有折痕,是心脏在报警吗?》(Frank's sign 证据诚实读法+中医耳诊源流+
- 修复:上一版部署漏传 CHANGELOG.md 导致版本接口与更新日志不一致(周检脚本抓到,已补);
给出两路印证提示(舌下络脉紫暗是传统血瘀望诊的重要指征)。舌下粗判受拍摄角度与光线影响大,
定位为补强信号:单独不触发、不参与 L2/L3 分级计数,文案保留置信度限定
色黄者胸上有寒/色白者亡血」——鼻尖分区偏青暗/晦暗/偏黄/淡白四种倾向现在各有经典出处文案
(凶候断语一律转写为就医建议),知识面板同步收录条目
纠偏「折痕=心脏病」)、《牙龈淡白、一刷牙就出血,是气血虚还是胃火?》(龈为胃之络两读法+贫血线索与
牙龈炎区分+血常规行动项);均已收录 sitemap 并推送收录
周检脚本 sitemap 统计改动态显示;E2E 运行说明与实际端口对齐
v4.9.0(2026-10-10)
打磨:看板补舌下使用量 + 目诊知识文章(第 11 篇)
- 看板新增「舌下照片」计数:舌下络脉功能(v4.8.0)的使用量从此可见——
- 第 11 篇知识文章《眼白上的健康信号》:目诊科普(发黄/发红/青蓝的分辨与就医边界),
为「是否投入宽度比量化」的数据决策提供基础(运营手册周检项同步)
与白睛检测能力、黑眼圈篇互链;已收录 sitemap 并推送收录
v4.8.0(2026-10-10)
新增:舌下络脉可选拍摄(血瘀望诊增强,路线图项落地)
- 拍摄流程新增可选第 5 步「舌下」:舌尖抵上颚拍舌腹面,助力血瘀倾向的观察;
- 青紫度软提示:舌下颜色中央区域粗判(偏青紫/偏淡/未见)——受拍摄角度与光线影响大,
- 采集舌下照片时,AI 解读的输入会带上「舌下偏青紫」信号(若触发);
拍不清可一键跳过,不影响其余流程
v1 明确不做络脉宽度测量(需分割与距离补偿,文献方法见
`docs/调研-2026-10-10-舌下络脉.md`),判断标注「仅供人工复核参考」
隐私政策收集范围同步补充舌下照片(与舌象照片同等处理:默认即焚)
v4.7.1(2026-10-10)
修正:舌质「绛/紫暗」分级对齐文献量级(Qi 2016 舌诊仪 n=729)
- 文献量级换算显示绛舌 a* 均值约 21(与红 24 接近,靠更暗与黄度更低区分)——
- 紫暗的色相边界 −4°→−2°(文献紫暗 b* −1.4 恰在原边界外)
- 唇色基准(4/4)与舌质基准(5/5,含文献量级变体)全部锁定进单测;
- 舌下络脉(血瘀望诊增强)完成文献调研:有条件值得做(可选拍摄+宽度比+颜色两指标),
原「a*>40 才判绛」的阈值在真实照片上永远够不到,绛舌会被系统性误判为红。
已改为「红度偏高且明显偏暗」的联合判定(方向对齐文献,幅度保守,照片与仪器存在系统偏差)
淡白/淡红边界(文献均值过近)记为已知局限,保守阈值只覆盖明确淡白
列入路线图观察项,见 `docs/调研-2026-10-10-舌下络脉.md`
v4.7.0(2026-10-10)
打磨:分区/唇色/舌质判定基准全过(方法论收口)
- 继五色基准(v4.2.0)之后,同一方法论覆盖其余三个色彩分类器并全部一次通过:
- 舌质五级分类从 analyze_tongue 内联代码重构为独立函数 classify_tongue_body(可单测可校准)
- 基准脚本:tools/bench_zones.py、tools/bench_lip_tongue.py(均已锁进单测)
分区相对判定 6/6、唇色四态 4/4、舌质五态 5/5——合计 27/27 受控样本,
「面色与唇舌的自动判读方向与文献量级一致」从此有可回归的基准保证
v4.6.0(2026-10-10)
升级:AI 解读同步新维度(四诊合参进入 AI 通道)
- AI 解读的输入现在包含望色十法四对维度的判定结果(清浊/微甚/泽夭/色象均匀度),
- 解读提示词增加跨信号一致性要求:面色、唇色、舌象与问诊相互印证时可提高表述确定度,
使 AI 解读与 v4.0 以来的规则引擎升级保持同步
方向矛盾时如实指出并建议复测——AI 解读也开始「四诊合参」
v4.5.0(2026-10-10)
新增:复测用户自动时序对比
- 结果页自动呈现「与上次记录对比」一行条(上次面色/光泽 → 本次,附日期),
- 对比条静默失败不影响结果页;无历史记录的首次用户不出现
一键进入完整对比页——此前对比藏在手动入口后,复测用户要自己发现才有价值
v4.4.0(2026-10-10)
新增:复诊对比的望色十法时序(「新久」语义完整化)
- 复诊对比页新增「望色十法变化」区块:两次记录的清浊/微甚/泽夭/色象四对维度前后对照,
有变化的维度标注「有变化」——十法中「散抟主新久」的完整判断本就需要前后对照,
此前单帧照片无法支撑,现以复测对比的时序形式补全(传统读法的科普化转述,看趋势不作断言)
v4.3.0(2026-10-10)
升级:跨信号一致性(「四诊合参」的科普化实践)
- 互证提示:面色、唇色、舌象是三个相互独立的信号源——两个及以上同时指向同一方向
- 矛盾提示:面色与舌质方向不一致(如面淡白而舌质红)时如实说明「不一致本身也是信息」,
- 互证/矛盾提示优先于单信号起居建议;方法论依据见
(血行不畅 / 气血不足 / 湿浊偏盛)时,起居提示会更集中地围绕该方向(三信号齐备文案单独分级)
建议自然光下换时间复测或咨询医师细辨(传统「舍脉从症/舍症从脉」的科普化转述,舌象权重略高为工程取舍)
`docs/调研-2026-10-10-四诊合参与信号一致性.md`
v4.2.0(2026-10-10)
升级:五色分类阈值校准(受控基准测试驱动)+ 十法科普
- 五色分类基准测试(tools/bench_five.py,已锁进单测):从东亚典型肤色锚(Pan 2020)
- 《望色十法是什么?》知识文章(第 10 篇):与结果页新维度互链,解释五对维度与传统含义
构造 7 类受控样本验证分类方向——校准前 3/7 通过:萎黄、青暗、黧黑、晦暗少泽四个
真实量级的面色全部漏判。校准后 7/7 通过:
萎黄色相阈值 84°→60°(真实萎黄色相约 60~75°)、黧黑明度阈值 L<100→L<140(真实 L*≈50~55)、
晦暗少泽引入光泽参与判定(luster 参数此前从未生效)、青暗明确为真实冷移(蓝绿向色相带)
说明
- 阈值校准幅度全部对齐文献基准量级(皮肤学合理位移),专家参数化样本与基准变体双重锚定
全部通过;校准方法与漏判证据见 `docs/调研-2026-10-10-面色客观化研究.md` 与 tools/bench_five.py
v4.1.0(2026-10-10)
升级:目诊细化(白睛红赤)+ 分候知识补全
- 白睛红赤检测:目诊在「目黄」之外新增「红赤」判读——眼白红绿轴明显偏移(血丝/结膜充血)
- 分候知识补全:《灵枢·五色》「面王以上者,小肠也;面王以下者,膀胱子处也」——
- 唇色沿用「与本人基线比较」的相对判法(文献确认唇色绝对 LAB 设备间差 7 个 L* 点,绝对阈值不可用)
时给出提示。阈值取保守值(文献提示个体间红度差可达 9 倍、绝对阈值不可靠),个体差异大时宁可漏报;
就医红线写明:眼痛、畏光、视力下降、单眼重度充血、外伤后、隐形眼镜佩戴者
鼻尖上候小肠、人中候膀胱子处的分候知识收入知识面板(区域小、个体差异大,程序暂不作自动判定;
文献调研结论:小肠/大肠微小分候区定位存推测,噪声大于价值,故不进自动分析)
调研依据
- 见 `docs/调研-2026-10-10-分候补全与唇目细化.md`(灵枢分候补全、白睛红赤量化文献、唇色 LAB 文献)
v4.0.0(2026-10-10)
升级:面诊准确度与学术出处(望色十法 + 肤色基准 + 出处纠偏)
- 望色十法参考(结果页新增折叠块):清浊(主阴阳)/ 微甚(主虚实)/ 泽夭(主轻重)/
- 东亚肤色基准软锚:明度明显偏离东亚人群常见范围(Pan 2020 等文献基准,宽松带)时
- 学术出处纠偏(文献调研发现):两颊分候肝肺的简化口径实出自《素问·刺热》而非
- 调研依据见 `docs/调研-2026-10-10-望色十法与肤色基准.md`
色象均匀度(散抟的降级近似)四个维度的算法近似与通俗解读,出自清·汪宏《望诊遵经》
(源出《灵枢·五色》);「浮沉」二法依赖侧光与触诊,照片无法判定,诚实放弃不作输出
自动下调色彩置信度并说明原因
《灵枢·五色》——颊区引用、知识面板、免责声明已全部分开标注两部经典的出处;
知识面板新增望色十法总纲、《刺热》原文与东亚肤色基准条目
v3.9.1(2026-10-10)
打磨:运维一键化 + 静态资源缓存
- 一键周检脚本(tools/ops_check.py):一条命令完成运营手册的每周 5 分钟巡检——
- 静态资源缓存头:app.js/style.css 5 分钟、文章页 30 分钟、图标类 1 天(此前生产缺失
- 文章内容三处红线细节补强(调研校准):晨起眼肿补「晨重暮轻 + 尿泡沫」肾性水肿信号、
- IndexNow 即时收录接入:生成 key 文件并从服务器全量推送首页+全部文章页(14 条 URL,200 受理);
端点活性、版本一致性、HTTPS 证书剩余天数、文章与 sitemap、AI/TTS 今日用量与熔断状态、
复核待处理数(SLA)、数据目录体积与服务器磁盘;异常项输出 ⚠ 并以非零码退出,可接计划任务
Cache-Control,浏览器只能启发式缓存);API 响应不受影响
怕冷篇补雷诺现象就诊提示、疲乏篇补「越睡越累偏湿困」分辨与睡眠呼吸暂停提醒
必应系收录从"等待抓取"变"主动推送"(推送脚本 tools/ping_indexnow.py,需在服务器或境外网络运行)
v3.9.0(2026-10-10)
新增:知识文章第三批(矩阵 12 篇,体征高频词全覆盖)
- 新增 3 篇(写法沿用调研定稿:答案先行 + 误解澄清 + 就医边界 + 归因 CTA):
- 知识矩阵现为 12 篇 + 索引页,覆盖面色五色/舌象/眼周/体质/疲乏高频体征词,全部收录 sitemap;
《早上起来眼睛肿是怎么回事?》(生理性/需就医的分辨,对应工具的眼睑浮肿检测)、
《怕冷手脚冰凉是怎么回事?》(三种倾向自辨 + 甲状腺/贫血就医边界,纠「手脚凉=宫寒大补」误区)、
《总是疲惫乏力是怎么回事?》(气虚与脾虚湿困两种「累」+ 现代4项基础排查,纠「累=虚=猛补」)
新旧文章互链(体质篇 ↔ 疲乏篇 ↔ 苍白篇形成体质-疲乏小集群)
v3.8.0(2026-10-10)
新增:知识文章第二批(9 篇矩阵成型)+ 文章互链
- 新增 3 篇(标题与内容按调研校准):
- 相关阅读互链:每篇文章尾部链接 2 篇相关文章,站内权重流转 + 延长阅读路径
- 知识矩阵现为 9 篇 + 索引页,全部收录进 sitemap;违禁词扫描零命中
《舌苔黄腻怎么回事?先别急着喝凉茶去火》(澄清"黄腻=上火猛灌凉茶"的常见误解)、
《黑眼圈重是怎么回事?不一定是肾虚,可能是鼻炎》(传统与现代双读法,纠"见黑圈就补肾"误区)、
《九种体质是怎么回事?体质会变,别一张标签养到底》(补充 2026 国标 GB/T 46939—2025)
v3.7.0(2026-10-10)
新增:面色知识文章(自然流量着陆页)
- 首批 5 篇知识文章:面色发黄 / 苍白 / 潮红 / 青暗 / 晦暗的传统解读,提问式标题 +
- 文章索引页 /articles/:首页页脚新增「面色知识」入口;sitemap 收录全部文章
- 内容取材自站内望诊知识库,写法沿用违禁词清单(组合词 + 极限词扫描零命中),
- 写法依据见 `docs/调研-2026-10-10-健康长尾内容.md`;生成器 tools/gen_articles.py,
直接回答段在前(对精选摘要友好),每篇带就医边界与「自己测一次」入口(?from=article 归因)
每篇以「传统认为/仅供参考」口径撰写
写新文章加条目重跑即可
v3.6.0(2026-10-10)
新增:零成本获客基建(观察期并行)
- 搜索引擎友好:robots.txt(后台/数据目录禁爬)+ sitemap.xml + 404 友好页;
- PWA:manifest + 应用图标(192/512)+ iOS 元数据——手机浏览器「添加到主屏幕」后
- 站内入口:favicon(望色察面图样)
首页补 Open Graph 标签(分享到支持 OG 的平台有标题摘要卡片)
以独立窗口打开,回流体验接近原生 App;start_url 带 `?from=pwa` 可在看板归因
加固:代码评审修复(8 项发现全部处置)
- TTS 并发:同一条记录并发朗读请求只合成一次(记录级锁)+ mp3 原子落盘(此前双击可双倍计费、
- 并发写安全:所有 JSON 原子写的临时文件名掺随机后缀(固定 .tmp 名并发下互相截断可永久损坏
- 运营标记按 id 定位:反馈条目加唯一 id,此前按数组下标标记,列表裁剪/并发追加时会把
- 反馈接口跨站防护:异源 Origin 拒收(防第三方页面自动表单灌垃圾进复核队列)
- 管理端令牌常量时间比较;资源回收:拍摄缩略图/导出下载/朗读停止三处 blob URL 回收
并把损坏音频永久缓存)+ 前端生成期间禁用按钮
result.json/feedback.json);AI 配额读改写加锁(成本熔断器必须准确)
"已回复"标到无关用户的条目上
说明
- 获客现状评估与搜一搜/百度收录可行性见 `docs/调研-2026-10-10-自然流量与SEO.md`
v3.5.1(2026-10-10)
打磨:观察期运营调优(召回节奏调研落地)
- 提醒频控:同类提醒(复测条/回访条)展示 3 次未点击 → 自动冷却 7 天,防「横幅失明」;
- 文案框架调优:复测条改轻度损失框架 + 单一行动(「气色的变化可能正在发生,不复测就看不到」);
- 追问数据看板化:管理端 AI 解读区新增追问次数(今日/近 7 天),ai_usage.log 加 kind 字段区分
- 用户协议补充 AI 条款:按《人工智能生成合成内容标识办法》写明 AI 生成内容的标识与边界
- 复制文字摘要带上追问问答(便于转给线下医师时保留上下文)
点击行动即重置计数(调研依据:docs/调研-2026-10-10-召回节奏与频控.md)
节气卡保持收益框架,形成分工
v3.5.0(2026-10-10)
新增:解读追问(AI 环节收官)
- 「如果不懂就问」:解读卡下方新增追问输入框,可就本报告继续提问(如"一日三餐具体怎么吃?"),
- 上下文与安全(调研 docs/调研-2026-10-10-追问与注入防护.md):上下文=报告数据+解读全文+最近 2 轮问答;
流式逐字作答;每条记录限 3 次,问与答保存在记录里(导出/删除随记录)
系统提示注入防护声明(无视改变角色/索要提示词/诱导诊断开药的指令、无关问题礼貌拒绝);
问答一律纯文本渲染;追问共用解读的每 IP 日配额与双渠道兜底
v3.4.0(2026-10-09)
新增:解读「读给你听」+ 大字模式数据回流
- AI 解读语音朗读:解读卡新增「朗读」按钮(播放中变「停止」)。双路径:浏览器有中文语音时
- 大字模式使用计数:开启过大字模式的浏览器匿名计数(每台只记一次,不含任何身份信息),
本地秒读(零成本、文本不出设备,按句切分规避 Chrome 长文本截断);微信等无语音环境自动切换
服务端合成(CosyVoice2 中文女声,实测 3 秒/段,¥0.05/千字符,每条记录只合成一次并缓存 mp3,
日限 50 次熔断)。调研结论:微信内置浏览器 speechSynthesis 基本不可用,服务端兜底是主场景可用性的关键
看板新增「UX 信号」区——用数据验证「中老年占比」假设,决定语音/口语化的后续投入
调研依据
- 见 `docs/调研-2026-10-09-语音朗读.md`(speechSynthesis 兼容矩阵、微信内不可用结论、降级链设计)
v3.3.0(2026-10-09)
新增:大字模式(适老化第一步)
- 页头新增「大字」开关:一键 118% 缩放全站(含拍摄/问卷/结果/看板),选择记忆在本机,
- 正文辅助色对比度从 4.45:1 提到 5.27:1(WCAG AA 要求 4.5:1,原值差一线)
- 管理端看板在 ≤360px 窄屏自动改两列布局
下次打开自动保持;为中医养生工具的主力人群(中老年)降低阅读负担
修复(用户视角走查)
- 重复查看 AI 解读不再被限流:此前缓存命中也占用每小时额度,同一份解读反复看几次就会
- 复制文字摘要补入 AI 解读:复制给家人或医生的文本此前漏掉解读内容,
触发 429「操作太频繁」——现在缓存命中不限流不计数
现已带上(标注「AI 生成,仅供参考」)
v3.2.0(2026-10-09)
新增:分享回流归因 + 扫码新客承接(上轮 P1 落地)
- 回流可量化:分享卡二维码与日历提醒链接分别带 `?from=sharecard` / `?from=calendar` 参数,
- 扫码新客承接:扫码进站且无历史记录的新访客,首页顶部出现专属欢迎条
- 信任要素:页脚新增版权主体行(© 2026 通千算智);全站文案过一遍广告法违禁词自查
- AI 生成标识升级:AI 解读卡片加常驻「AI 生成」角标(响应 2025-09 起施行的
到访匿名计数(同一次会话只计一次,不含 IP/指纹),管理端看板新增「分享回流」区
(近 7 天 / 累计 / 来源分布)——「裂变是否发生」第一次有了数字
(「朋友给你分享了面诊参考」+ 一键开始),降低冷启动访客的迷失感
(按调研正则清单扫功效词×疾病名组合与极限词,页面文案零命中);拍摄提示「自然光最佳」改为「优先自然光」
《人工智能生成合成内容标识办法》的显著提示要求)
v3.1.0(2026-10-09)
新增:裂变回流 + 解读数据回流(上轮 P1/P2 落地)
- 分享卡带回流二维码:卡片右下角绘制站点二维码(白底静区,保证微信长按识别率)+
- 保存体验重做:分享卡改为弹窗预览——苹果手机长按图片即可「存储图像」(此前直接触发下载,
- 看板新增「AI 解读」区:今日/近 7 天解读次数、成功率、平均耗时、渠道分布(DeepSeek/智谱)、
安全引导文案「微信扫码 · 自己做一次面诊参考」;二维码本地生成(vendor MIT 库,无 CDN 依赖)
iOS Safari 上经常存不下来),安卓可长按保存或点下载
当前限额;ai_usage.log 加 2MB 轮转(留最近 2000 条),聚合接口不含任何 IP
调研依据
- 见 `docs/调研-2026-10-09-分享裂变与二维码.md`(微信图内二维码识别规则、诱导分享红线、安全文案)
v3.0.0(2026-10-09)
新增:AI 大白话解读(P1,本版本旗舰功能)
- 结果页一键「AI 大白话解读」:把本次分析的文字结论(面色倾向、体质倾向、问诊自述)
- 隐私边界(隐私政策新增第 5 条):只发文字结论,不含照片、联系方式、记录编号;
- 三重闸 + 双渠道(照抄 ticiqi 频控范式):每 IP 每日 5 次 / 全局每日 100 次 / 连续失败 5 次熔断 30 分钟;
- 调用留痕:data/ai_usage.log 逐笔记录通道/tokens/耗时,花费可审计
转述成 150~300 字通俗解读——整体印象 / 最值得注意的 1~2 点 / 接下来两周可做的 2~3 件小事 / 就医边界提醒
弹窗单独确认后才调用;结果缓存在记录里,删除记录即一并删除
主渠道 DeepSeek(实测 0.6s、单次约 ¥0.0008),故障自动切智谱免费档,Key 只存服务端 systemd env
修复(用户视角走查)
- 复测提醒日历的基准日改为「分析日 + 14 天」:此前打开 20 天前的旧记录再加提醒,
- 客户端 AI 解读文本一律按纯文本渲染,杜绝模型输出中的任何 HTML 注入面
会定到 34 天后而非分析日顺延的两周(已过期则自动定到明天)
v2.9.0(2026-10-09)
新增:运营看板 + 舌象趋势 + 复测提醒日历(上轮建议全部落地)
- 运营数据看板(/admin.html 新增分区,令牌门控):累计/近 7 天分析量、照片即焚率、含舌象占比、
- 舌象专项趋势:健康趋势页新增「舌象变化」时间带,舌质/舌苔逐次连排,
- 复测提醒 · 加进日历:结果页一键把「14 天后复测」装进手机日历(.ics 文件,到点像生日提醒一样响),
- 节气卡内容深化:每个节气从 1 条提示扩为 3 条要点(起居 / 饮食细节 / 人群提醒)+ 当季宜食食材清单
就医红旗率概览,近 14 天分析量柱状图,体质倾向与面色五色分布,反馈与复核队列计数;
接口只输出聚合计数,不含任何记录内容或个人数据
两次带舌象的记录即可对比;只有一次时提示下次补拍
微信内自动切换为「复制提醒文字」为主(微信会拦截文件下载),不依赖公众号/推送权限
修复(用户视角走查)
- 问卷答一题不再整页重绘(此前每答一题页面闪动一次、滚动位置漂移)
- 本地存储数据异常(隐私模式/配额写坏)不再导致首页报错,历史记录自动按空处理
- 反馈与求解读弹窗提交后按钮立即禁用,杜绝网络慢时连点造成重复提交
参考文档
- 调研依据见 `docs/调研-2026-10-09-触达通道与产品趋势.md`(微信内 .ics 不可下载、Web Push 不可用等结论)
v2.8.0(2026-10-09)
新增:随访序列 + 复核触达(上轮 P1 建议落地)
- 7 天回访:面诊满一周后首页出现回访条("气色变化常在 1~2 周显现"),一键直达趋势页;
- 节气养生卡:每个节气首页出现一次性养生提示(24 节气全年约 24 次触达),可关闭
- 复核状态回显:发起过"求解读"的记录,再次打开会显示"处理中 / 已回复 + 回复说明",
与 14 天复测提醒按优先级堆叠(最多同时展示 2 条,不刷屏)
不用再等运营主动联系;新增 `/api/review-status` 接口(只回状态与说明,不回联系方式)
v2.7.0(2026-10-09)
新增:运营承接闭环 + 合规文档化(上轮路线落地)
- 运营后台(/admin.html,仅令牌进入):复核队列按"复核请求优先、待处理在前"排列,
- 趋势增强:新增"面色五色变化"时间带,青赤黄白黑逐次连排,寒热气色大方向一眼可读
- 合规文档化:新增《个人信息保护影响评估(PIA)》记录(docs/PIA-个人信息保护影响评估.md),
- 后端新增 `/api/feedback/mark`(令牌门控,标记已回复)
每条可展开记录文字摘要(面色/体质/就医提示),支持"标记已回复"并留回复说明;
用户输入全程防注入渲染,页面不挂站点入口(noindex)
按个保法 §55 留存,明确数据流、风险缓解与复评触发条件
v2.6.0(2026-10-09)
新增:P1 专业闭环 + P1 趋势留存 + P2 合规补全(上轮路线全部落地)
- 求解读(人工复核请求):结果页一键向运营方发起复核,附记录编号与你的关注点;
- 健康趋势:历史记录≥2 条时可查看光泽指数折线与历次结论时间线(旧格式记录自动剔除并注明)
- 数据权:历史页新增"导出我的数据"(JSON 打包下载,不含照片)与"一键删除全部"
- 合规页面:新增《隐私政策》《用户协议》(按敏感个人信息告知要求撰写:收集范围/保存期限/
反馈接口升级承载(kind/record_id),管理端 `GET /api/feedback` 可按类查看;反馈接口加每 IP 限流
单独同意/用户权利),页脚常驻入口
参考文档
- 调研与打磨依据见 `docs/产品调研与打磨.md`
v2.5.0(2026-10-09)
产品打磨(源自同类产品调研与用户视角走查)
- 问卷一键填常用项:18 题对健康用户偏长,新增"大多正常,一键填常用项"与已答进度(x/18),其余保持不选即可
- 照片格式友好拦截:HEIC 等浏览器无法解码的照片在本地即提示转 JPG,不再提交后才报错(也不占用每小时分析额度)
- 误刷新可找回:分析完成后 30 分钟内,首页提供"回到上次分析结果",避免误触返回前功尽弃
- 结果页删除按钮文案自适应:已即焚的记录显示"删除本条记录"
- 竞品调研与打磨记录见 `docs/产品调研与打磨.md`
v2.4.1(2026-10-09)
修复
- 望诊图 12 分区着色:v2.3.0 后端分区体系升级后,结果页望诊图仍按旧 5 区布局绘制,
- 旧记录兼容:v2.2 及更早记录的分区 ID(brow/nose/cheeks/chin)自动映射到新布局,
- E2E 增加"分区着色数"断言,防止此类"数据有、图没画"的回归
新记录的眉间/鼻柱/左右颊/鼻翼/人中/下颌等分区倾向没有在图上着色(数据在、图没画)。
现已按 tcm.ZONES 真实比例重绘 12 区,并补齐黧黑/晦暗少泽两种色键
黑眼圈判读回退为眼周着色;旧记录生成分享卡同样正常
v2.4.0(2026-10-09)
新增:更贴心的使用体验(来自同类产品与用户调研)
- 分析后即焚(默认开启):分析完成即删除照片原图,只留文字结果;担心隐私可在提交前关闭此开关
- 本周行动清单:把调养建议提炼成 3 条可勾选打卡的小行动(如饮食、作息、穴位),结果页直接勾选,坚持有迹可循
- 复制文字摘要:一键复制纯文本报告,方便转发到微信家庭群或给线下医师参考
- 当季调养卡片:按四时给出起居/饮食/情志/穴位提示(引《素问·四气调神大论》"夜卧早起,广步于庭"等原文)
体验优化
- 拍摄页新增拍摄要点提示:素颜、关闭美颜、自然光、摘帽脱镜、静息片刻
- 拍照/选图后本地即时预检亮度,偏暗或过亮会提示重拍,减少出结果才发现照片不合格的挫败
- 结果页底部注明照片去向(已即焚 / 随记录保留)
v2.3.0(2026-10-09)
中医知识层重写(核心升级)
- 五色判定重写:面色分类改为 LAB 特征空间(色相/彩度/明度/光泽四轴)判读,跨光线稳定性大幅提升,极端色偏自动降置信并提示自然光下重拍
- 左右侧照真正参与分析:自动估计并校正光线色偏(有界增益 + 中性参照质量门槛),左右脸对称性与偏色比较
- 面部分区升级:额(心)、眉间(肺)、鼻(脾胃)、两颊(肝/肺)、下颌(肾)各分区改为与本人基线比较的偏差倾向(ΔL/Δa/Δb 三轴)
- 舌象全面升级:修复白苔照片被系统性误判为"苔少"的分割缺陷;新增舌苔黄白分辨、润燥、舌形(裂纹/点刺/齿痕)、舌面分区(舌尖候心肺、舌中候脾胃、舌边候肝胆、舌根候肾)
- 新增望唇、望目:唇色(淡白/红润/深红/青紫/干燥)与白睛发黄提示、眼周判读
就医安全强化
- 就医红旗分层(urgent/soon):面瘫中风征象、目黄(黄疸)、唇紫、下肢浮肿、夜间盗汗伴潮红、持续情绪低落等场景明确引导就医,分级结果直接驱动结果页提示
后端加固
- 问卷答案按前后端共用的白名单表校验,脏值丢弃
- 舌象质检(分辨率/光线/色偏/舌体可辨性)并入分析接口的 quality 返回
- 记录与反馈改为原子写入(临时文件 + 替换),防并发读到半截 JSON
- 限流表定期清理,长期运行内存不增长
已知边界
- 钨丝灯等极端色偏下颜色判读置信度自动降级,会提示在自然光下复拍
v2.2.0(2026-10-09)
新增:留存闭环
- 复测提醒:距上次面诊超过 14 天,首页出现提醒条(含上次面色与体质摘要),一键复测
- 真实使用计数:`/api/stats` 匿名统计,达阈值(`MIANZHEN_STATS_MIN`,默认 30)才在首页展示
- 结果页新增调养周期引导:坚持 2~4 周后复测对比
v2.1.0(2026-10-09)
新增:运营与留存
- 分享卡:结果页一键生成精美的"面诊参考卡"图片(望诊图 + 面色印象 + 体质印章),保存后可分享;卡片不含照片,仅抽象示意图,隐私安全
- 复诊对比:结果页选择历史记录,对比两次的面色、唇色、眼周、光泽、体质与舌象变化
- 接入总官网:产品登记 + 版本全自动同步(`/api/changelog`,每 5 分钟采集)
加固
- 分析接口限流:每 IP 每小时默认 10 次(`MIANZHEN_RATE_LIMIT` 可调)
- 过期数据自动清理:默认 90 天(`MIANZHEN_RETENTION_DAYS` 可调),落实"照片不长期留存"的隐私承诺
- 反馈管理 token 已在服务器配置(systemd drop-in)
v2.0.0(2026-10-09)
新增:中医面诊参考(核心升级)
- 面色五色诊:基于《灵枢·五色》与面色五色理论,对照片做 LAB 色彩统计,给出萎黄、苍白、潮红、青暗、晦暗五种倾向性印象(全部为低置信度参考)
- 面部分区望诊图:按传统面诊通行简化(额候心、眉间候肺、鼻候脾胃、两颊候肝/肺、下颌候肾),结果页以 SVG 望诊图直观展示各分区色泽倾向
- 望唇与望目:唇色(淡白/红润/深红/青紫)与黑眼圈(眼周-面颊明度差)的传统解读
- 舌象参考(可选):上传或拍摄舌象照片,分析舌质(淡白/淡红/红/紫暗)与舌苔(薄白/厚腻/少苔)倾向,含有效性校验
- 中医问诊简表:睡眠、寒热、口感、出汗、二便、精力、情绪、体感、运动、月经等十问简化问卷
- 体质倾向判定:综合问卷与面诊信号,给出九种体质(王琦体质学说)中 1~2 种倾向参考
- 调养建议库:按体质给出饮食宜忌、起居、茶饮、穴位保健四类日常调养参考
新增:产品基础设施
- 版本接口 `/api/version` 与页面版本号展示
- 问题反馈入口(站内提交,管理 token 可查询 `/api/feedback`)
- 更新日志(本文件)
修复与加固
- 修复记录 ID 的路径遍历隐患(ID 白名单校验)
- 上传健壮性:文件大小限制(12MB/张)、空文件与非图片文件拦截,异常时清理残留目录
- 人脸检测兼容层:OpenCV 4.x(Haar,服务器现行)与 5.x(YuNet 深度学习模型)都能运行
- 修复 Windows 非 ASCII 路径下 cv2.imread 无法读图的问题(fromfile+imdecode)
- 前端重写:分步拍摄引导(实时摄像头 + 相册回退)、上传前自动校正 EXIF 方向并压缩、暗色模式、历史记录兼容旧格式
已知边界
- 所有中医分析结果为传统养生参考,不构成诊断;急症分流提示(肿胀/呼吸困难等)保留