跳至内容

iOS 智能找菜:真机人工验收 ​

此文保留 #181 最初的真机验收方案,可供后续真实使用复核,并复用 #174 的重叠项。维护者随后明确确认「用模拟器验收即可」,因此本表不再作为本次 #181 关闭门槛;最终模拟器结果见收尾记录。下表仍如实保留未执行状态,模拟器、注入传输与会员 HTTP 结果不能填写为真机或个人 Key 真实调用通过。

候选与准备 ​

产品源码基线为 691cc38fe6abc38e3ef9d112139726788341d630;本地候选 e988475ffe3f9059049c3336088a26da55ee640b 仅把构建号改为 13,已生成 2.0.0 (13) 的归档/仅内部测试 IPA,尚未上传或安装。包散列及签名证据见候选盘点。App 数据版本应为 1878cc5772dc;饮食标注版本 ead74d1c15c9,标注格式/政策均为 2,开放控制体重 10 道、减少添加糖 12 道、均衡搭配 36 道。SearchIntent 格式/政策仍为 1,不能与饮食标注版本混用。

已安装构建 12 使用保留契约 faf919fc0041,可以单独记录旧客户端结果,但不能填写为新版候选使用通过。准备本地测试安装或获准的新 TestFlight 分发时,先核对实际源码、包散列、App 版本/构建号及“我的 → 关于云食册 → 数据版本”。发布准备、上传、分发和手机安装分别记录;本表不授权上传或对外分发。

  • 每台设备记录机型、系统、候选、日期和执行人;只有执行人实际听读并反馈,才填写真实 VoiceOver 结果。本轮发现的实体设备是 iPhone 15 Pro/iOS 27.0.1;实体 iPad 覆盖仍缺。
  • 使用空闲设备,先记录本餐筛选、保存的目标、AI 通道、字号、外观、VoiceOver 和网络状态,结束后恢复。保护已有菜谱、账号与 Key,不卸载、清库或为验收删除已有 Key。
  • 个人 Key 由持有人直接在“预览条件 → AI 设置”中配置,记录仅写“已保存/可用/未验证”。不提交 Key、登录令牌、完整账号、实际私人饮食文本或带敏感内容的截图;验收只用下表的普通样本。
  • 只做必要调用:成功一次、在途取消一次;断网或失败恢复按实际发生记录。错过取消窗口写未覆盖,不通过循环付费请求制造结果,不用假 Key 替换原 Key。

VoiceOver 与本地流程 ​

在 iPhone/iPad 各执行一遍;大字号深色可复用同一轮。先保留一个原有忌口,便于核对确认前后的筛选。焦点记录使用实际经过的顺序,不预填为源码顺序。

编号操作通过标准本轮结果
V1 进入预览“找菜”输入“鸡蛋和西葫芦,不要辣,想减少添加糖”,打开“预览条件”预览标题、输入、取消/应用和本地识别可达;当前筛选未提前改变未执行
V2 完整朗读与焦点开启 VoiceOver,逐项扫过标题、原句、识别标签、可编辑条件、说明和操作;记录实际顺序食材、忌口、不吃辣、厨具、做法、难度与目标的当前值/无新增值可读,无漏项、困住焦点或无意义图标;若有加载/错误,状态可感知未执行
V3 编辑与移除听读“移除食材鸡蛋”“移除不吃辣”等按钮并双击;在编辑页重新添加鸡蛋,修改一个条件后返回名称和“仅从本次草稿移除”提示完整;只改变目标标签,移除后的焦点仍可继续操作;编辑页返回与最大字号滚动正常,原餐次未改变未执行
V4 待确认项改写为“鸡蛋,十分钟做好”,用键盘“完成”结束输入后重新识别旧预览失效,待确认内容及“仅应用上方条件,待确认项本次不生效”可读;默认不能应用,明确选择后才可应用已识别条件,不生成十分钟或难度保证未执行
V5 取消与确认先取消整个预览并核对原筛选,再重新打开有效预览并“应用条件”取消不写筛选;确认后才合并,已有忌口保留;关闭后的焦点落在可继续使用的找菜界面未执行
V6 结果与来源在目标交集下进入结果及 333 的已核对图文,阅读理由、范围、来源,再返回只显示实际目标池与其他条件的交集;理由与条件一致,来源、返回和工作台可达;空交集不自动放宽筛选未执行

个人 Key 与恢复 ​

先确认 AI 通道确为“使用自己的 DeepSeek Key”。会员可用状态或会员请求结果不能替代本表。成功、取消和失败项目可以与 V1–V6 共用同一候选,但分别记结果。

编号操作通过标准本轮结果
K1 设置与发送确认查看 Key 状态、选择个人通道,返回预览并点“智能找菜 · DeepSeek”;先取消发送对话框,再重开确认Key 输入为保密字段,保存/切换通道不发送;对话框说明发送范围及个人账号费用;取消不请求、不改筛选未执行,Key 可用性待持有人确认
K2 真实调用使用普通样本“鸡蛋和西葫芦,不要辣”,确认发送一次实际个人路径成功,显示模型来源并通过本机校验;结果仍是可编辑草稿,应用前原筛选不变;记录时间、候选和脱敏结果,不保存原始请求/响应未执行
K3 在途取消与新草稿发起一次必要调用,加载期间点“取消请求”,改写为“番茄,不要辣”并本地识别;随后等待原请求结束取消后可本地操作,迟到成功/失败不覆盖新草稿,不恢复旧加载状态,不提前写筛选;若响应太快未取消到,准确记未覆盖未执行
K4 断网与恢复设备空闲时开启飞行模式并关闭 Wi-Fi;尝试智能识别,失败后使用本地识别、编辑/取消;恢复原网络有可理解错误且可恢复,本地搜索与原筛选可用,不泄露上游响应或凭据;恢复网络后能继续使用;避免无必要重复成功计费调用未执行
K5 保存边界退出设置再返回并重启 App,核对仍为“已保存”;结合源码及有限脱敏诊断核对保存与传输范围Key 仅在本机不可同步 Keychain,普通设置仅保存通道;不进入同步/导出/普通日志。界面“已保存”不能独立证明全部隐私边界源码已核对,真机未执行

不主动发送非法模型响应或人为调配额来制造生产失败。非法结构、请求失效与迟到响应的已有自动化按原证据复用;若真人操作发现缺陷,记录最小复现并修复后只重验受影响项。

#174 复用与记录 ​

V2–V6 可关联 #174 A3/A6 的目标交集、大字号与 VoiceOver;K4 可关联 A7 的离线正文。图片实际失败仍须在未缓存图片时单独观察,缓存图片显示成功不能算通过;恢复网络后重开,保护正文和返回操作。冷启动和目标恢复按 A5/A8 另记,维护者对 36 道标注与文案的内容复核独立保留,不能由交互验收代签。

每项填写通过/失败/未执行,包含设备、系统、候选源码及包散列、App/数据版本、执行人、实际焦点或失败步骤、证据位置和恢复结果。发现手机占用、缺 Key、缺候选或缺实体 iPad 时填具体依赖;不要把“未执行”写成产品失败。

如果后续重新要求完整真机验收,仍需 V/K 及约定设备覆盖取得真实结果、失败已处理、同一候选与发布证据一致。当前全部人工项继续待验收;它们不因本次按维护者接受的模拟器范围关闭 #181 而自动变为通过。