分工:眼镜端是手上忙着时的执行器(七步跟做、计时、术语卡),屏幕只有 480×352、输入只有 5 个;手机端只做眼镜干不了的三件事——看得清的长内容、给同桌人看的投屏、能发出去的分享长图。
视觉来源:色板取自开源项目 Han Design 的「当代茶空间 tea」主题(github.com/you-want/han-design,MIT),宣纸底 #f6f3ee、墨褐字 #3a352c、茶绿 #6b7c5e;纹样按其规范克制使用——全站只用茶叶一个主纹样、涟漪一个辅纹样,均降到极低对比度,不进错误态与按钮徽章。每款茶的标识色是它的真实茶汤色(绿茶嫩绿、黄茶金黄、红茶红艳、生普橙红),不是随手挑的分类色。
数据同源:茶名、参数、七步 SOP、中英日韩四语文案全部内联自眼镜端工程 问茶-agent 的 tea-data.js / brew-params.json / brew-sop.json / tea-brew-map.json / i18n.js,两端一字不差(法语、西班牙语为手机端按计划书功能一补足,眼镜端暂无)。由 output/check-parity.js 逐项比对守着。
问茶助手(本地优先 · 缓存 · 云端兜底):回答顺序是「本地库 → 缓存 → 云端」。本地库 140 条术语 + 140 条口语话术 + 5 条救茶,由 output/gen-companion-qa.js 从眼镜端 glossary.json / say-overlay.json / fixes.json 注入,改了眼镜端重跑脚本即可同步。命中本地库就秒答、断网也能用;没命中才转云端,答案自动存进缓存,下次同样问题不再联网。云端不等于服务器——只是手机发一次 HTTPS 请求,接口位在脚本的 CLOUD 常量里,填上 url / key 就能真调(DeepSeek、通义、智谱等 OpenAI 兼容接口),不填就是演示模式。
全链路学习档案:对应计划书功能四与 C 端会员订阅。记录认茶 / 泡茶 / 问茶 / 分享四类行为,按茶园·工坊·茶馆·博物馆四个场景呈现进度;制茶与文物两个场景由眼镜端现场采集,手机端没有数据源就显示「待到店」,不伪造进度。推荐走本地规则(优先推没接触过的茶类,其次同类里没泡过的),不联网、不调模型。档案只存本机 localStorage,不上传 —— 计划书承诺学习档案端到端加密并符合个人信息保护法,原型阶段一律本地优先。
购茶单与取货码:对应计划书功能二「跨境导购」与收入四「交易佣金」。选规格 → 生成订单 → 出一张真二维码(由本项目自带的零依赖 QR 编码器生成,不是示意图案),扫出来就是订单明文:单号、茶名、规格、数量、合计。店员扫码即可核销,全程不查后端、不联网。价格为演示数字,真实报价由场馆在 SaaS 后台配置。
这次没做的事:
同桌同步:跟泡页点「叫同桌一起看」会出一张码,同桌的人扫一下(浏览器原生 BarcodeDetector,不支持就手输)就直接落到同一款茶的同一步骤,之后各自计各自的时间。握手串是极短的 CYGS1|teaId|stepIndex,不含个人信息、不上传服务器、不需要后端,也不需要眼镜端做任何改动。
眼镜端保持零改动:两端共用同一份 SOP 与术语库,眼镜既不出码也不推送。真要把眼镜的进度传到手机,只能走 Rokid 原生的 CXR-L SDK(经官方应用通道、不需蓝牙权限),但那要求手机端包成原生 App —— 纯 Web 项目用不了,所以现阶段不做。
部署:本项目是纯静态站点,可直接托管到 Cloudflare Pages;考虑到大陆访问稳定性,建议同时在国内镜像一份(EdgeOne Pages 或对象存储)。离线兜底由 service worker 提供,断网也能打开。