# 桌宠陪伴首版:评审结论与项目优化清单 > 本评审随 v0.6.4 发布。首次评审仅授权本地实现,后续用户授权发布 GitHub、更新版本及同步并尝试合并市场 PR。发布不等于市场合并;实际状态见 PR #6267。不发送真实模型请求、不自动重启 DSH。产品经理、UX 研究员、软件架构师分别完成只读评审,主会话核对交接并实现;三项团队任务均已完成。测试结论来自主会话执行,不是专家意见本身。 ## 一、结论与证据边界 首版应成为**可选择、可静止、不过度奖励消费的工作陪伴**。保留默认经典表现,不用调用频率猜测用户工作、情绪或任务完成度;不增加桌宠鼠标交互、声音、弹窗、付费陪伴请求。 - **已确认的用户要求:** 不新增桌宠交互,右键无菜单/窗口,保留左拖动;仅测试新增及受影响代码;首次要求评审、优化清单和首版本地实现,随后明确授权发布 v0.6.4 并同步、尝试合并市场 PR。 - **代码事实:** 已有待机、眨眼、按活动休眠、调用事件队列、原生设置、显式保存和热更新;不应把已有功能重复包装成新功能。现有后端使用用量事件,不能据此可靠判定请求开始、取消、失败或“用户完成工作”。 - **产品/心理假设:** 降低强烈反馈、提供用户可控的安静状态可能减少打扰。尚未做真实用户访谈或长期对照验证,不宣称提升生产力、治疗情绪或具有心理疗效。 ## 二、优先级与交付范围 | 需求 | 优先级/状态 | 价值与依据 | 实施代价及未知 | 验收标准 | | --- | --- | --- | --- | --- | | 手动安静模式 | P0,已实现 | 用户不希望多余交互;产品/UX均要求可恢复的低打扰状态 | 复用偏好链路;主要风险是残留动画和边界事件重播 | 保存后停止在播动画;静态待机/睡姿;数据与游标继续更新,退出不补播 | | 减少动态/关闭闪光/关闭飘字 | P0,已实现 | 长期感官偏好与临时安静开关不同,不能互相清空 | 统一动画策略与清理路径;“减少动态”明确包含动态飘字 | 覆盖角色、余额、旧帧叠图、睡眠和飘字;独立开关严格布尔验证 | | 经典/温和反馈 | P1,已实现 | 提供不以受伤、喂养或消费连击作反馈的选择;默认不改变旧体验 | 复用既有中性帧,不新增素材;谷价素材本身仍可能显得困倦 | 温和调用用中性帧和450ms/1px确认;连续事件仅合并展示,不改原始事件或账本 | | 原生设置可发现性与保存说明 | P0,已实现 | UX交接要求入口靠前、草稿与实际应用分开 | 复用原生表单,无新依赖;实际宿主页面视觉与键盘体验仍待重启验收 | 顶部“陪伴与舒适”;标签可识别;草稿状态、显式保存、冲突保留和首次重启说明 | | 配置、统计、位置与预热兼容 | P0,已实现并定向验证 | 现有用户偏好不能被新功能覆盖 | 沿用原子保存/修订保护和独立位置文件 | 旧配置默认经典;四个新开关关闭;安静不重写坐标、不停后台统计或改预热选择 | | 低频日常动作编排 | P2,暂缓 | 陪伴价值为待验证假设,不是完成首版的前提 | 当前已有待机;需调度优先级、频率与打扰验证,新动作还需素材 | 后续应默认关闭,不唤醒睡眠、不重置真实活动时间,调用优先 | | 请求开始/完成/取消/失败状态 | P2,依赖暂缺 | 等待可见性有价值,但错误提示更有害 | 需要宿主可靠生命周期与并发关联,接口/成本未知 | 无可靠事件不猜测;长等待不等于失败;先验证并发和取消语义 | | 休息邀请/开工便签/自动安静时段 | P2,暂缓 | 可能有用,须先验证实际需求 | 会新增本地状态、计划与取消逻辑,未估工期 | 默认关闭、不催促,不增加桌宠点击;时区与数据保留须另行设计 | | 心情便签/养成奖励/连续签到 | 不进入首版 | 敏感数据及压力、拟人化和消费激励风险 | 缺少必要性、隐私与用户研究证据 | 不引入心理诊断、内疚措辞、强制连续使用或高消费奖励 | ## 三、交叉评审与决策 1. **产品 → 架构:** “安静”不能只关闭队列或计时器。落实为取消真实WPF动画时钟、恢复基础值并清空视觉队列,保留既有100ms数据调度、真实活动时间与事件游标。 2. **UX → 架构:** 安静是总开关而非重置操作。其余选项仍可编辑、保存;退出安静恢复已保存偏好。减少动态同样覆盖闪光与动态飘字,页面明确说明,不实现容易混淆的新静态飘字路径。 3. **架构 → 产品/UX:** 不能用受伤/进食帧假扮温和。核对六款人物的两套既有待机素材,首版使用中性待机帧;真实睡眠仍使用闭眼睡姿。没有新增“认真工作、情绪理解”等未经素材支持的状态承诺。 4. **共同兼容决策:** 默认保留经典,新增选项缺省关闭;初次非静态启动不清空经典队列。进入/退出静态模式消费边界快照,后续新事件正常处理;温和合并仅发生在展示层。 5. **反馈诚实性:** v0.6.4 首版只确认保存,未新增进程确认通道。2026-10-11 本地增量已补上独立应用回执:草稿、保存版本与最近成功应用分开;成功须绑定当前进程/启动/profile、同源原始修订与实际偏好,并且处于短租约内。首次载入新代码仍需完整重启,回执不是持续像素、统计刷新或后台预热完成保证。 6. **原有安全提醒:** 安静仅控制视觉,不停止已开启的后台预热,也不隐藏原有预热失败安全警告。首版不新增弹窗,不擅自改变既有安全行为。 ## 四、首版使用步骤 1. 保存现有任务,完整退出DSH(包括托盘/后台进程)并重启,载入本次本地代码。 2. 打开 **DSH → 设置 → 桌宠 → 陪伴与舒适**。 3. 选择安静、温和或舒适选项;顶部摘要说明草稿的有效规则。人物/信息框组合预览仍是合成数据静态外观,不模拟动作、不调用模型。 4. 点击“保存设置”。更改冲突时保留草稿,不自动重试或覆盖其他页面。 5. 观察桌宠,安静/减少动态下不播放动作和动态飘字,但余额、额度和统计仍更新。无需为验收额外发送模型请求,可等待正常工作数据或使用隔离测试。 6. 取消安静并保存,恢复其他已保存偏好;不会补播安静期间的历史事件,也不会唤醒本应休眠的角色。 有效规则:`安静 || 减少动态` ⇒ 静态角色、无闪光、无飘字;否则温和 ⇒ 中性确认、无闪光/暴击,飘字由独立开关控制;经典 ⇒ 保留旧动作,闪光/飘字按独立开关控制。 ## 五、实现定位 - [统一表现策略与真实动画清理]():7个变换属性时钟、旧帧/睡眠叠图和动态飘字清理,基础边框恢复;不持久化、不发请求、不增加定时器。 - [桌宠事件与视觉接入]():状态读取持续更新原始快照、统计与游标;静态边界不重播,温和队列仅保留最新可见事件。 - [温和动作]()与[既有计时器]():低幅确认、静态分支;原有预热失败提醒保留。 - [原生设置与草稿摘要]()、[控制组]();[偏好白名单]()继续使用严格类型、修订冲突和原子替换。 - [后端]()的用量事件仍不是请求生命周期。v0.6.4 首版未修改该后端;后续本地增量只补进程确认与只读路由,不用用量推测完成/失败。 - 本地增量定位:[回执核验与只读接口]()、[原生字节修订与原子回执]()、[原生视觉接入]()、[草稿/保存/应用状态]()。 ## 六、实际验证与未覆盖项 - 源码定向检查 **40/40项通过**:6项新增陪伴测试,10项受影响客户端检查,24项偏好保存检查。未运行全量套件。 - Windows PowerShell5.1/真实隐藏WPF:**8344条断言**,覆盖32策略组合×2模式×7事件类型=448种事件策略情况;真实正在播放的角色、余额、旧帧、睡眠和飘字时钟被取消。 - 用私有临时文件执行实际状态读取、偏好热更新和计时器代码,检查双模式的数据/统计更新、事件游标推进、边界无重播、温和合并不丢账本、活动时间与位置文件不变。 - 兼容矩阵包括6人物×5信息框×2模式×4尺寸=480组合,检查两种峰谷输入下的中性帧与静态睡姿;12套既有待机帧已通过真实WPF联系表核对。图中金额为合成数据,非真实账号。 - 检查默认值、错误类型、未知字段/旧坐标保留、400/409不写盘、保存草稿与冲突不重试。受影响旧测试曾把整个结果等同于补丁,已修正为“默认值+补丁”,再运行通过,未修改生产行为以迁就测试。 - **仍待实机验收:** 完整重启后的实际DSH设置页布局、键盘体验、桌宠动作主观舒适度、多显示器/混合DPI,以及长期是否减少打扰。隐藏WPF和合成React树不等于实际宿主页面验收,更不等于心理效果证实。 ## 七、下一轮优化清单 - [ ] P0:重启后按第四节完成实际宿主操作验收,分别试安静/温和/减少动态;检查旧偏好、睡眠和退出安静恢复。 - [ ] P1:低成本收集真实使用反馈:是否易找到、是否理解草稿/保存、是否觉得温和仍过于频繁;只记录自愿反馈,不加入遥测。 - [x] P1:2026-10-11 本地增量已实现可靠的近期应用回执;窗口 Loaded 与完整视觉 tick 成功后发出,进程/启动/profile、原始修订和实际偏好一致且短租约未过期才确认。不是仅确认保存或使用草稿摘要。 - [ ] P2:在明确需求后考虑日常动作的新素材和频率控制,避免默认谷价素材被误读为心情判定。 - [ ] P2:核实宿主生命周期事件、并发与取消语义后,重新评估等待/失败状态;证据不足不实现。 - [ ] P2:休息邀请、开工便签、安静时段分别评审,不把全部功能一起扩入首版。 ## 八、2026-10-11 清单复核与本地增量 最初用户要求检查未实现内容并尝试本地实现;随后明确授权更新版本、发布 GitHub 与注意市场 PR 合并,故纳入 v0.6.5。仍未授权自动重启或全量测试。已核对以上清单和实际源码:静态/温和/舒适策略已经存在,不重复计入新功能。优先落实已有接口足以支撑、且不会新增桌宠交互的 P1 应用回执。 | 未完成项 | 本轮处理 | 仍未解决的依赖/边界 | | --- | --- | --- | | 设置实际应用确认(P1) | 已本地实现、定向验证;更新本地安装副本 | 首次需完整重启载入新后端;确认近期成功应用,不保证持续像素或预热结果 | | 实际宿主页与主观舒适度(P0) | 保留未勾选,不把隐藏 WPF/合成树当成实机验收 | 需你保存任务并重启后操作真实页面,当前未自动重启 | | 自愿使用反馈(P1) | 保留未勾选,不增加遥测或虚构访谈 | 需真实用户自愿反馈,不靠代码即可完成 | | 新日常动作(P2) | 暂缓;旧待机不是新编排功能 | 需合适的新素材、频率和打扰验证 | | 等待/完成/失败(P2) | 不用用量事件猜测,继续待核实 | 缺可靠生命周期、并发关联和取消语义 | | 自动安静时段等(P2) | 不与回执一起扩展 | 跨午夜、电脑时区、休眠补偿与手动覆盖需分别设计和验证 | 协议与失败处理: - PowerShell 用同一次原始字节读取严格解码并计算 SHA-256(包含 BOM、换行和未知字段),候选版本不是成功回执;同 mtime 但内容变化仍能检测。 - Loaded 后先 pending,完整既有视觉 tick 成功后才 applied;原有计时器每 5 秒续期。实际 17 键值须与后台归一化逐键严格一致,例如 `NIGHT` 或 `sleepMinutes=241` 导致两端不同不能确认。 - 后台只接受自己启动且仍运行的 PID/runId/profile,前后核对配置与运行状态,心跳到 15 秒失效;页面按单调时间重新判断,即使旧请求卡住也不无限保留确认。对外不泄露身份标识、完整偏好或路径。 - 视觉/状态/配置异常使证据失效并重试;策略缓存成功尾提交,避免同一版本失败后跳过修复。回执写失败不崩溃,不覆盖配置、坐标或统计;关闭只撤销自己的身份,Preview 与无标识旧启动不写。 - 源码通过 43 项新增/受影响 Node 检查与 62996 条原生断言:回执 214、主题 54222、陪伴 8344、偏好 216。测试使用私有临时文件、模拟服务与真实隐藏 WPF;未跑全量套件,未发送真实模型请求,未读取真实账号或偏好。 本增量在用户后续授权下以 v0.6.5 发布并同步唯一市场 PR #6267;此前的本地检查不等于发布后上游验收或合并。仍不宣称完成真实宿主验收、生命周期功能或心理效果验证。