{
  "status": "FROZEN_FOR_FUNCTION_DEMONSTRATION_PRODUCTION",
  "version": "function-linkage-revision-2026-09-24-voice-fit-v2",
  "fixture": {
    "demo_only": true,
    "name": "体验用户",
    "sex": "男",
    "age": 35,
    "height": "175",
    "weight": "78.0",
    "bmi": "25.5",
    "fat": "24.0",
    "target": "72.0",
    "goal": "减重",
    "activity": "静态生活、坐位工作",
    "energy": null,
    "macro_percent": {
      "碳水化合物": 50,
      "蛋白质": 25,
      "脂肪": 25
    },
    "allergy": "无（示例本人选择）",
    "food_preference": "不喝牛奶，不吃香菜",
    "dates": [
      "09月24日",
      "10月08日"
    ],
    "repeat_weight": "78.0",
    "nutrition_note": "Do not show exact calorie prescription: old HEAD formula and current customer configuration not frozen."
  },
  "voice_hanzi_counts": {
    "user": 502,
    "channel": 622
  },
  "picture_budget_seconds": {
    "user": {
      "product": 140,
      "life": 6,
      "brand": 4,
      "total": 150
    },
    "channel": {
      "product": 168,
      "life": 4,
      "brand": 4,
      "diagram": 4,
      "total": 180
    }
  },
  "user": [
    {
      "id": "U01",
      "start": 0,
      "end": 8,
      "title": "一次体测接上今日安排",
      "view": "设备屏幕和手机“健康档案”同屏；圈出同一测量日期与身体记录标题，不出现真实身份；一次测量的结果 → 手机里可查的本人记录；开场直接建立设备与小程序关系，尾帧接设备操作；素材与能力：图/史＋联动演；P6/B2",
      "voice_sentences": [
        "把一次体测，接成今天的一餐、一练。",
        "同一个人，同一份记录。"
      ],
      "ui_views": [
        "device",
        "profile"
      ]
    },
    {
      "id": "U02",
      "start": 8,
      "end": 27,
      "title": "设备测量与扫码领取",
      "view": "已核设备模块选择→按真实操作测量→结束页；手机登录小程序，扫码领取本人记录、确认归属；必要时显示“等待数据”；未测→进行中→已得结果→待认领；真实录屏不能省掉身份核验剪成“谁扫谁拥有”；素材与能力：图/史；同会话链路待实；P19",
      "voice_sentences": [
        "先在一体机上完成测量。",
        "登录小程序，扫码领取本人记录。",
        "核对测量日期，再打开自己的健康档案。",
        "这次身体记录，就有了手机里可回看的位置。"
      ],
      "ui_views": [
        "device_video",
        "claim",
        "claimed"
      ]
    },
    {
      "id": "U03",
      "start": 27,
      "end": 44,
      "title": "本人档案与72公斤目标",
      "view": "“健康档案”→体重/身体记录→本次日期；字段为已到测量值、单位、来源、时间；一项未获取项目保持空态；返回目标/建议页，定位初始体重与目标体重、日期；待领取→档案新增一条；记录日期前后一致；身体记录与当前目标并列，缺项不填零；素材与能力：图/史/码；P17",
      "voice_sentences": [
        "体重、身体质量指数和体脂率，都在健康档案里。",
        "本次体重接上目标页，确认七十二公斤的目标。",
        "接着看饮食和训练建议。"
      ],
      "ui_views": [
        "profile",
        "goal"
      ]
    },
    {
      "id": "U04",
      "start": 44,
      "end": 66,
      "title": "习惯忌口与营养依据",
      "view": "目标“减重至72.0kg”贯穿；展示推荐能量与碳水/蛋白/脂肪比例；进入习惯/忌口资料或AI提问示意，体验用户从可选项确认运动习惯、用餐场景、食物过敏和忌口；无疾病设定；点确认资料/发送；只有测量与目标→补齐影响建议的条件→饮食工作流使用确认字段；画面指出哪些是输入，不能把普通聊天当全档案读取；素材与能力：目标/饮食结构化输入有码；AI主动追问与跨页引用为演；P22",
      "voice_sentences": [
        "平时怎么运动，午餐在哪里吃？",
        "把偏好、过敏和忌口补充清楚。",
        "推荐能量和营养搭配，才能结合你的目标与日常。"
      ],
      "ui_views": [
        "chat",
        "energy"
      ]
    },
    {
      "id": "U05",
      "start": 66,
      "end": 87,
      "title": "午餐搭配卡",
      "view": "“饮食建议”→“午餐”；明确菜名、克重、热量及当日三大营养素信息；以审定示例“米饭＋鸡肉＋青菜”说明组合；点击菜品/卡片仅在实际支持时录制，不做虚假“换一换”；泛泛问午餐→一组可阅读的具体搭配；偏好体现在食物结果；“一键录入”仅露出，不在未吃时点击；素材与能力：三餐卡有码；菜谱示例待审；P18/L3，L只拍对应一餐且最多3秒",
      "voice_sentences": [
        "点开午餐建议。",
        "菜名、份量和营养信息，一张卡里看清楚。",
        "米饭、鸡肉和青菜，怎样搭配，可以接着问。",
        "在家做，或在外吃，都有具体参考。"
      ],
      "ui_views": [
        "meal"
      ]
    },
    {
      "id": "U06",
      "start": 87,
      "end": 106,
      "title": "25分钟课程选择",
      "view": "“运动建议”课程卡：课程名、duration_text（演示25分钟）、参考calories（标估算）；点进课程内容/视频；回到当前目标仍为减重至72.0kg；对固定消耗值不放大宣传；未选课程→查看动作与时长→选择本次课程；不把“看完”标记当成运动完成，也不把参考热量当实测；素材与能力：课程链有码；实际活动完成记录待核；P16/L3，L只对应课程环境",
      "voice_sentences": [
        "再点开运动建议。",
        "先看课程内容和时长，安排今天的二十五分钟。",
        "活动热量标注为估算。",
        "实际练了多少，再记录下来。"
      ],
      "ui_views": [
        "training",
        "course"
      ]
    },
    {
      "id": "U07",
      "start": 106,
      "end": 123,
      "title": "拍照核对并保存到日历",
      "view": "拍照/识别页→“本餐食物”→修改某菜克重、删除误识别项→“保存”→饮食日历新增一餐；摄入/消耗入口区分已记录与未知；反馈“今天只完成部分”作短交互示意；建议卡→真实记录候选→本人核对→已保存一餐；未记录运动不能变0消耗；同餐不重复用“一键录入”加一次；素材与能力：拍照修改保存/日历有码；实际活动反馈联动为演；P17",
      "voice_sentences": [
        "吃完后，拍照记录这一餐。",
        "核对食物、修改份量，再保存。",
        "回到饮食日历，就能查看本餐记录。"
      ],
      "ui_views": [
        "food_log",
        "calendar"
      ]
    },
    {
      "id": "U08",
      "start": 123,
      "end": 138,
      "title": "同人复测与日期回看",
      "view": "再见同一设备与体验用户；领取第二次记录；同一档案切首次/复测日期，显示两次来源和测量条件；若做并列差值，明确示例；一条身体记录→新增复测记录；原记录保留；可比则看趋势，不可比显示原因，绝不预设指标下降；素材与能力：日期查询有码；完整复测归档及对比解释待核/演；P15",
      "voice_sentences": [
        "按需要复测，切换日期回看两次记录。",
        "结合这段时间的饮食和活动，继续讨论下一步。"
      ],
      "ui_views": [
        "device_video",
        "history"
      ]
    },
    {
      "id": "U09",
      "start": 138,
      "end": 150,
      "title": "有上下文的后续安排",
      "view": "AI总结引用本次/上次日期、确认目标、实际记录；展示下一版餐食/课程安排的一个具体差异与理由；用户确认后再生效；收尾保持产品页；旧安排＋新事实→待确认的新安排→本人确认；片尾“打开AI运动营养师”，不造二维码；素材与能力：自动综合复评/调整为演；P10/B2",
      "voice_sentences": [
        "康比特AI运动营养师。",
        "让测量接上建议，把方案用进生活。"
      ],
      "ui_views": [
        "review",
        "device"
      ]
    }
  ],
  "channel": [
    {
      "id": "C01",
      "start": 0,
      "end": 12,
      "title": "设备与小程序联动开场",
      "view": "同一设备测量结束画面→体验用户手机身体记录→午餐建议卡，三帧同一日期/目标；每帧停留可定位；一次现场体验→后续手机服务；侧栏仅写“体验后的服务内容”，不开ROI图；素材与能力：图/史/演；P10/B2",
      "voice_sentences": [
        "把一次体测，接成看得见的日常服务。",
        "跟着同一位用户，看设备和小程序怎样配合。"
      ],
      "ui_views": [
        "device",
        "profile",
        "meal"
      ]
    },
    {
      "id": "C02",
      "start": 12,
      "end": 32,
      "title": "门店体验与扫码领取",
      "view": "实机可用模块、操作提示、完成状态；体验用户本人登录认领，店员在旁指导，不操作其私人账号；初次了解→完成一次自愿体验；门店有具体演示内容，渠道交付培训步骤，不能承诺因此必然获客；素材与能力：图/史；当次链路待实；P20",
      "voice_sentences": [
        "店员指导测量，用户登录小程序，扫码领取本人记录。",
        "核对日期，再打开健康档案。",
        "门店提供体验，渠道交付设备与操作培训。"
      ],
      "ui_views": [
        "device_video",
        "claim",
        "claimed"
      ]
    },
    {
      "id": "C03",
      "start": 32,
      "end": 50,
      "title": "个人档案承接后续沟通",
      "view": "健康档案→身体记录→日期；显示已到项目、来源/时间、缺项；再进入目标页初始/目标体重与日期；已体验→本人留有可查记录；门店帮助用户找到档案，不能拿走全部个人数据；侧栏“用户本人可查”；素材与能力：图/史/码；当前归档范围待证据矩阵；P18",
      "voice_sentences": [
        "打开健康档案，查看本次身体记录。",
        "再看本人确认的七十二公斤目标。",
        "门店协助找到入口，后续沟通有据可查。"
      ],
      "ui_views": [
        "profile",
        "goal"
      ]
    },
    {
      "id": "C04",
      "start": 50,
      "end": 73,
      "title": "目标与习惯驱动建议",
      "view": "当前目标=减重至72.0kg→推荐能量/三大营养素→结构化习惯、foodAllergy、foodTaboos等字段；AI追问卡/输入补充；演示参数送饮食工作流，界面不露技术变量名；通用测量数据→目标和日常条件明确→形成有依据的建议；店员协助补齐信息，超出服务范围交专业人员，不说取代营养师；素材与能力：结构化输入有码；跨页对话演；P23",
      "voice_sentences": [
        "运动习惯、用餐场景、过敏和忌口，一起补充清楚。",
        "把确认的条件带入饮食建议，查看推荐能量和营养搭配。",
        "店员协助使用，专业问题由专业人员承接。"
      ],
      "ui_views": [
        "chat",
        "energy"
      ]
    },
    {
      "id": "C05",
      "start": 73,
      "end": 93,
      "title": "午餐卡形成具体服务",
      "view": "“饮食建议”三餐区→午餐菜名/克重/热量；示例目标与饮食条件保持一致；未吃不点“一键录入”；抽象咨询→一张用户能读、能执行的餐食卡；门店即使不供餐也能演示家庭/外食使用，不假造库存/下单；素材与能力：卡片有码、内容专业审；P18/L2",
      "voice_sentences": [
        "点开午餐卡，菜名、份量和营养信息都有具体位置。",
        "用户可以围绕自己的口味和用餐条件继续交流。",
        "门店即使不供餐，也能演示在家和外食的使用方式。",
        "由用户自主选择。"
      ],
      "ui_views": [
        "meal"
      ]
    },
    {
      "id": "C06",
      "start": 93,
      "end": 113,
      "title": "训练课程与实际记录区分",
      "view": "“运动建议”课程名、时长25分钟、参考消耗（标估算）；点课程播放/详情；课程观看标记与实际运动记录分屏区分，不造手环已接入状态；看饮食建议→找到运动内容→明确完成记录方式；教练/店员承接实际活动指导，渠道不以AI替代资质；素材与能力：课程有码；实际记录/分屏状态演；P18/L2",
      "voice_sentences": [
        "再看运动建议。",
        "点开课程，查看内容和时长，安排今天的二十五分钟。",
        "参考热量明确标成估算。",
        "课程看完和实际训练，分开记录。",
        "门店承接使用指导和后续沟通。"
      ],
      "ui_views": [
        "training",
        "course"
      ]
    },
    {
      "id": "C07",
      "start": 113,
      "end": 133,
      "title": "日历记录支撑回访",
      "view": "拍照页“本餐食物”→修改克重/删除→保存→饮食日历；展开摄入/消耗，仅展示对应已确认记录；反馈未完成原因；只有建议→有实吃记录与执行障碍；门店回访有明确问题，渠道培训包含识别纠错和保存，不以消息条数算留存；素材与能力：饮食链有码；跨活动反馈与回访任务演/人工流程；P20",
      "voice_sentences": [
        "拍下这一餐，核对食物和份量，再保存。",
        "打开饮食日历，查看已经确认的记录。",
        "哪一餐做到了，哪一步不方便？",
        "回访围绕具体记录展开。"
      ],
      "ui_views": [
        "food_log",
        "calendar"
      ]
    },
    {
      "id": "C08",
      "start": 133,
      "end": 154,
      "title": "复测成为服务触点",
      "view": "再次到同一设备；第二次认领→同一档案日期列表→对比两次可比记录→AI结合日历解释；用户确认下一版建议；单次体验→可选择的复测服务触点→下一周期；复测时间按需求/专业意见，不能用强制频率拉到店；素材与能力：日期链有码/史；对比解释与计划重算演；P21",
      "voice_sentences": [
        "复测时，再回到一体机。",
        "在同一份档案里，按日期回看两次记录。",
        "再结合日常饮食和活动，讨论后续安排。",
        "让一次体验，有了持续服务的触点。"
      ],
      "ui_views": [
        "device_video",
        "history",
        "review"
      ]
    },
    {
      "id": "C09",
      "start": 154,
      "end": 170,
      "title": "四方交付职责与合作范围",
      "view": "主画面保留设备与上述四个页面的真实操作缩略图；侧栏依次指明个人授权、门店引导、渠道培训、康比特产品支持；最后4秒简图带出合同范围；演示看懂→可核交付清单；人员责任具体；合作收益只对应真实设备交付、约定服务/商品交易，费用按协议；素材与能力：分工/合同为拟议人工流程，不造后台；P12/G4",
      "voice_sentences": [
        "个人确认，门店引导，渠道培训。",
        "康比特提供约定的产品支持。",
        "交付、服务与交易，按协议核算收支。"
      ],
      "ui_views": [
        "delivery",
        "device",
        "profile"
      ]
    },
    {
      "id": "C10",
      "start": 170,
      "end": 180,
      "title": "预约产品演示",
      "view": "同一示例档案回到下一次饮食/课程建议；真实设备同框，字幕“预约产品演示”；无假联系方式或二维码；看完示例→带一个实际客户场景逐项核对；下步是功能与交付演示，不是保证成交；素材与能力：CTA不造未核入口；P8/B2",
      "voice_sentences": [
        "预约一次产品演示。",
        "把测量、档案、建议和记录，看清楚、连起来。"
      ],
      "ui_views": [
        "device",
        "review"
      ]
    }
  ],
  "scope_note": "User authorized correction: device and AI functional linkage. Real operation footage plus code/screenshot-grounded simulated UI; not live-system E2E proof.",
  "voice_revision_note": "Measured sentence-TTS slot overruns addressed by concise wording; no stage timing, feature or UI changes."
}
