# Phase 0:最小技术验证 更新:2026-09-27。**P0-01、P0-04 播放宿主基础与 P0-06 已有局部实测,关键路径均未完整通过。** 本阶段只证明关键路径,避免在未确认的接口上搭完整系统。 执行顺序和后续实现任务统一维护在 [开发路线](PROJECT_PLAN.md)。P0-04 先用自有或可合法使用的短音频验证独立播放宿主,再由 P0-02/03 提供平台资源完成真实播放和生命周期复测;不让平台与播放后端互相等待。 ## 验证清单 | ID | 要回答的问题 | 最小实验与通过条件 | 失败处理 | |---|---|---|---| | [P0-01 DSH](spikes/P0-01-dsh.md) | 实际插件、事件、工具与退出接口是什么? | 指定仓库/版本,最小插件接收真实生命周期;慢音乐请求不阻塞宿主;停用后正确清理 | 进行中:`0.1.7-rc.2` Web profile 工具/清理已测;`0.2.0-rc.1` PHL Web 实例已加载 bundle 并启动 Core;最新版工具调用、卸载、desktop profile 与真实会话事件未验 | | P0-02 网易云 | 登录、种子、搜索、推荐和音频资源是否可用? | 用户授权账号完成扫码/会话恢复;导入与搜索;用真实音频后端播放、暂停、恢复、换曲 | 记录各能力状态;近期来源失败可退歌单,音频失败不能算通过 | | P0-03 QQ | 同上;近期常听能拿到什么? | 独立完成与网易云相同的闭环;记录近期接口或实际 fallback 来源、数量 | 不死磕近期 API;登录/播放失败仍是双平台交付阻塞 | | [P0-04 Playback](spikes/P0-04-playback.md) | 音频能脱离音乐控制窗口和 UI 进程生存吗? | 音频真实播放时分别隐藏窗、关闭窗、退出 UI 进程,确认继续播放与 track_end;验证暂停/静音/重连 | 进行中:独立进程、暂停/静音/曲终、管道重连已测;真实 UI 与平台音频未测 | | P0-05 Desktop UI | 哪种 DSH 插件 UI / 独立窗口宿主适合音乐控制悬浮窗? | 先核对 DSH 插件设置界面与浮窗的可用入口,再对候选宿主验证透明、置顶、拖动、歌曲文本、控制、托盘恢复、位置保存、DPI/屏幕变化与透明区域点击 | WPF 已验证 OS 层窗口行为;生产 UI 宿主未定,Tauri 构建未完成;UI 验收不能勾选完成 | | [P0-06 本地数据](spikes/P0-06-local-data.md) | SQLite、凭据和会话恢复如何落地? | 最小数据库迁移/重启恢复;确定凭据位置、退出清理;脱敏日志 | 进行中:迁移/重启与合成凭据加密/清理已测;真实账号与 desktop 未测 | | P0-07 运行边界 | 零新增 LLM、命令优先与多会话是否可验证? | 记录请求计数入口;慢自主选歌期间点歌/暂停,旧结果不得覆盖;两个会话仅一条队列 | 调整事件串行化/版本控制与工具暴露方式后重测 | P0-02 与 P0-03 的真实登录需要用户可用账号;准备好实验后再由用户完成扫码。无需收集用户明文 Cookie。推荐接口可降级,真实播放链路必须验证。 ## 每项结果的最小记录 在实际开展时新增对应结果文件,例如 `docs/spikes/P0-01-dsh.md`,并从本表链接过去;当前不生成空报告。 ```text ID / 日期 / 执行环境 状态:未开始 / 进行中 / 通过 / 降级通过 / 阻塞 宿主或仓库:来源 URL、版本或 commit 实验步骤:可复现命令、必要账号权限、输入 观察:实际事件/字段/能力、成功和失败场景 证据:脱敏日志、截图或测试输出的位置 结论:采用方案、降级范围、仍未证明的部分 影响:对应架构段落及 MVP 验收项 ``` 代码或任何第三方界面/美术素材复用时,另记录来源文件、commit、代码许可、素材许可及需保留的声明。对话中的“MIT”“约 30 MB”等描述不能替代核实和实测;仅作 UI 参考不等于复制代码或素材。 ## 退出本阶段的条件 - DSH 接入路径及事件映射明确,音乐异常不会阻塞主任务。 - 两个平台都有真实登录/搜索/播放证据;导入不足与推荐能力缺失有可执行降级。 - 播放服务与可见 UI 的生命周期已分别验证,静音进度方案明确。 - 小窗、凭据、SQLite 与单一队列的宿主方案有结论。 - 证据足以确定代码布局与依赖;未通过条目仍明确列为未完成。 Phase 0 的短时验证不替代 [MVP A09](MVP.md) 的连续两小时运行验收。通过一次播放也不能推断所有账号、会员权限、曲目或系统均兼容。