# 更新日志 ## 0.51.2 · 2026-10-25 - 修复官方 DeepSeek Harness 客户端驾驶员加载进度前半段停在 0%、随后跳到约 60%:`dsh-app://` 转发会移除 Content-Length,音频总时长可能迟至播放后半段才变为有限值。 - 构建时从两段原 MP3 的有效 MPEG 帧采样数生成准确时长,浏览器元数据未就绪时用于进度分母;播放位置继续读取 currentTime,durationchange 到达时立即校准,不新增音频请求或预解码开销,不修改素材字节和启动时序。 - 修复黑底打字引导与驾驶员选择页之间的瞬间闪烁:选择页使用单次 Web Animations 淡入,清理标题归位状态时不再重新触发第二段 CSS 入场动画;连续帧检查确保选择页与标题保持可见和稳定。 - 扩展 NaN/Infinity/迟到时长、前半段进度和两位驾驶员真实 MP3 回归;保留应答串行、后台暂停、异常重试、语音 ended 后交接与清理行为。 ## 0.51.1 · 2026-10-25 - 修复 macOS 桌面端启用主题后窗口拖不动:全屏装饰与启动层优先挂到宿主 `#root`,避免被 body 直属 portal 的 `no-drag` 规则覆盖。 - 启动时仅隔离祖先链上的兄弟节点,保留启动控件可用,并在退出时恢复宿主原有 inert 状态。 - 启动背景提供窗口拖动;头像、插入栓和两者之间的整条拖放路径,以及语言、音乐、跳过等控件保留普通指针操作。 - 提示音观察器同时监听 body 与当前 root 的直接子节点,并在 root 更换时重新绑定,防止重播叠音及退出后提醒无法恢复。 - 新增 macOS 拖动区域与无 root 回退回归,扩展真实 root 下的启动、拖放、模态隔离与提示音测试;保持界面、素材和启动时序不变。 ## 0.51.0 · 2026-10-24 - 驾驶员选择前新增 GIF 同色黑底打字引导,复用两位驾驶员本地线稿与 02/00 编号,不新增图像资源。 - 打字完成后标题从中央归位至选择页左上角,黑底和角色点缀淡出,选择界面渐显;与同步完成时的机械舱门区分。 - 新阶段支持跳过、Escape、后台与减少动态效果;归位期间隔离交互,退出、重播、缩放和卸载回收文字动画及定时器。 - 接入两位驾驶员的原始欢迎 MP3,正常启动完成、舱门退场后播放,聊天可立即操作;重播、后台和卸载回收声音,取消/跳过不触发。 - 从用户提供的打字音轨截取 1.05 秒,为逐字标题添加音效,不降低背景音乐;跳过或后台时立即停止。 - 插入栓保持 14° 装配倾角,筒体轮廓与光照固定、表面标识绕长轴缓慢旋转;装载时平滑归正,减少动态效果下静止。 - 彻底删除试验性的舱门烟雾及相关样式和生成逻辑,保留原有双侧舱门与输入框交接。 - 资源清单、来源说明和启动流程文档同步更新,新增音频按统一规范随包提供。 ## 0.50.1 · 2026-10-24 - 项目与包名统一为 dsh-plugin-eva-theme,客户端模块 id 与挂载声明同步更新。 - README 和包描述明确 DSH / DeepSeek Harness、EVA、明日香与绫波丽,仓库地址统一为 seaison/dsh-plugin-eva-theme。 - 保留原有设置、启动会话标记和语言存储命名空间,重命名不重置用户偏好。 ## 0.50.0 · 2026-10-24 - 按类型整理全部资源,统一小写短横线命名;assets/manifest.json 记录摘要与大小,PNG、MP3 与原 NERV SVG 原始字节保持不变。 - 大媒体改用同源静态服务,支持内容摘要缓存、ETag 和音频分段读取;客户端从约 19.5 MB 缩至约 231 KB。完整运行包保留全部语音与已获维护者再分发授权的启动背景音乐。 - 等高线计算移至 Worker,保留相同几何函数回退;预解码驾驶员图像、提前准备启动音源、缓存拖动尺寸,降低装载时主线程阻塞,不改动视觉设计与语音时序。 - 测试台归入 tests/,开发工具归入 tools/,截图与参考稿归入 docs/;清理重复启动截图、过期截图工具与系统缓存。 - 新增资源与发布包完整性验证、可重复性能采样和本地发布命令;更新安装、开发、素材来源和 GitHub 发布说明。 本项目遵循[语义化版本](https://semver.org/lang/zh-CN/)。 ## [0.49.0] —— 2026-10-24,未发布 - 接入用户提供的四段原始 MP3:明日香/绫波丽各一段人工审核提醒和任务完成提醒,播放时按当前暗色/亮色主题选择,随包嵌入。 - 审核提示只订阅 DSH 的 uiSession.sessionStatus,筛选仍可回答的 approval;按会话和审核标识去重,处理后停止未播完或排队的提醒。任务完成订阅已载入主会话的 binding.eventSource,只接受新增 turn/end 且 reason.kind 为 completed;历史替换、翻页、重复事件、取消、失败与子智能体不误播,不代替用户做审核决定。 - 提示音用独立单音源串行播放,排队的审核优先,启动序列期间暂缓;浏览器阻止播放时在下一次用户操作重试仍有效的提醒,过期、静音或卸载后取消。事件、音源、计时与订阅完整回收。 - 设置新增默认开启的「角色提示音」及审核/完成两种试听;开关自动保存。增加四份 MP3 真实解码与状态/去重/异常/生命周期回归。 ## [0.48.0] —— 2026-10-24,未发布 - 根据用户提供的插入栓概念图重绘随包 SVG:白色长筒密封外壳、橙金圆弧端盖、角色色环、金色锁定宽环、石墨护套及橙色整流片,补齐分段接缝、检修盖、机体喷字与 A10/L.C.L. 标注。编号随预览角色切换 02/00。 - 插入栓采用 14° 倾斜装配,驾驶员轮廓与观察舱共用比例和坐标;依据装载区宽高等比缩放,避免窄窗口中头像偏移或端盖裁切。保留原拖放命中区域、选择应答和启动语音时序。 - 修复「选择你的驾驶员」被全局明朝标题样式覆盖的问题,统一完整中文宋体字库、基线和字距,标题与下方说明左对齐;覆盖三语标题、窄屏与矮窗口的布局回归。 ## [0.47.0] —— 2026-10-24,未发布 - 接入用户提供的明日香「私に任せなさい!」与绫波丽「……指示をください。」两段选择应答,按住头像即触发,拖动不重复;点击与键盘选择同样可用。换选时停止旧来源,快速装载等待应答完整结束后再播放原启动语音,期间显示三语应答状态并为背景音乐降音。 - 应答错误/播放受阻自动降级,过期播放回调不影响新角色;取消、后台、跳过、重播及卸载释放短音源、监听和计时,后台期间等待手动继续原长语音。 - 驾驶员配色预览增加 0.65 秒底色/文字/SVG/边框平滑过渡、0.7 秒接続扫光与同步页淡入;快速切换替换旧扫光,动画不拦截拖放,减少动态效果时直接切换。 - 扩展真实 MP3 应答至启动的完整串行播放、每次手势一次触发、角色替换、失败及后台处理,以及颜色插值、过渡结束和扫光清理回归。 ## [0.46.0] —— 2026-10-24,未发布 - 启动页角色中文名、英文名、编号与语音同步色共用主主题色板,明日香红色 #ff354d、绫波丽蓝色 #176b91;卡片和同步页配套使用各自暗色/亮色表面、正文与次级字色,修复粉红/浅蓝及白字与主题不一致。焦点边框跟随各自角色。 - GIF 帧延迟由 80ms 缩短为 40ms,2 倍速单轮 1.92 秒,循环两轮;开场总时长保持 3.84 秒,后续三秒警报及语音时序不变。仅在内嵌副本修改延迟/循环,源文件、调色板、透明标记与压缩画面保留原字节。 - 新增实际内嵌 GIF 的无损/时序检查,覆盖中英文名字与实际主题主色相等、深浅底文字对比度,以及完整开场不提前结束的回归。 ## [0.45.0] —— 2026-10-24,未发布 - 驾驶员选择与语音同步页面新增中文/日本語/English 按钮,立即切换标题、角色名、提示、按钮、异常状态与无障碍说明,保存偏好。切换保留音乐、语音时钟和进度,继续使用用户提供的原始日语语音。 - 认证舱背景重绘为橙色动态等高线:同一连续高度场的山峰、谷地和波纹产生不规则起伏,截线用矢量曲线平滑,保持轮廓连续。20fps 更新,后台与减少动态效果时静止,交接及卸载取消动画帧和监听器。 - 重排右上角语言与音量/跳过操作,覆盖三语窄屏、矮窗口、偏好记忆、播放中切换、错误/重试翻译及等高线生命周期回归。 ## [0.44.0] —— 2026-10-24,未发布 - 原 GIF 之后新增约 3 秒黑底红色 NERV 警报,按用户参考图绘制六边形 EMERGENCY、上下三角标、大号 NERV、双行标语及实时时钟;画面和六边形错开明暗渐变,叠加轻微颗粒与扫描纹理,末尾淡出并衔接驾驶员选择。 - SVG 随包嵌入,适配横竖窗口;背景音乐连续播放,新增「跳过警报」,支持 Escape、后台与减少动态效果,衔接及退出时清理时钟、定时器与图案。 - 启动回归覆盖完整 GIF/警报/选择顺序、三秒时长、背景音乐位置连续、模态焦点、跳过、后台与退出清理。 ## [0.43.0] —— 2026-10-24,未发布 - 接入通过网易云音乐客户端下载的鷺巣詩郎《EM20#070720》原版 MP3(320kbps、44.1kHz、约 3 分 55 秒),随本地主题嵌入,覆盖 GIF 开场、驾驶员选择和启动衔接。 - 选择阶段以 28% 音量循环播放,角色语音开始时平滑降低至 7.5%,保留独立语音时钟;舱门开启期间淡出,进入聊天时停止并释放音源。跳过、重播、后台和卸载也会取消音频与音量渐变。 - 增加启动背景音乐的独立静音/开启按钮。自动播放受阻时保持启动流程可用,在用户操作后重试;音轨异常不阻塞驾驶员选择或聊天。 - 增加背景 MP3 真实解码、语音降音、静音、播放受阻、后台、进入聊天与卸载停止回归,两套角色以真实音频播放核对。 ## [0.42.0] —— 2026-10-24,未发布 - 驾驶员选择与语音同步改为铺满应用视口的 NERV 认证舱,随窗口尺寸调整内容,保留左插入栓、右侧上下驾驶员。背景加入神经连接环、NERV 叶徽、机体编号、插入栓刻度与互锁标记、警戒条纹和 MAGI 三机标识;装载后同步切换角色色与背景头像。 - 语音页面增加同步环和装载信息,环形读数、数字与原进度条都读取同一真实音频进度;为窄屏和矮窗口压缩排版,继续/重试与跳过保持可操作。 - 进入聊天改为约 1.6 秒的双侧舱门解锁,真实聊天和角色背景保持原位,末段细边框引导至输入框;移除旧圆形黑幕与飞行立绘。过渡结束才释放宿主交互并聚焦输入,支持 Escape、后台与卸载清理;减少动态效果时直接进入。 - 修复真实拖放在 Chromium 丢失指针捕获后无法装载:由文档层接续移动/放手,并按最终坐标命中插入栓;离开窗口或取消时回收浮影。编辑器解除交互隔离后下一帧补齐焦点交接。 - 扩展全屏尺寸、语音环、短窗口控件与舱门几何回归,保留真实 MP3 完整播放、拖放及宿主模态弹窗回归。 ## [0.41.1] —— 2026-10-24,未发布 - 修复绫波丽角色名字形基线不齐:中央教条区、驾驶员选择与启动名称共用中文宋体优先字库,避免简体字与日文汉字落入不同字体。 - 「深度求索中」、活动过程提示、鲸尾与文字扫光随当前角色换色:明日香红色/浅珊瑚高光,绫波丽蓝色/蓝色高光;保留宿主动画和完成提示的静态语义色,核对两套文字对比度。 - 播放器 NERV SVG 徽记由固定坐标改为圆环中心定位,消除上偏 4px,并覆盖最小/默认/最大倍率下的同心回归。 ## [0.41.0] —— 2026-10-24,未发布 - 启动流程改为「GIF → 驾驶员选择 → 插入栓装载/角色语音 → 背景衔接 → 聊天」。保留两倍原 GIF;左侧绘制 EVA 插入栓,右侧上下显示明日香/绫波丽闭眼透明线稿,支持拖入、点击及键盘选择。 - 通过 DSH 官方 theme.setTheme 保存对应暗色/亮色主题,全部 UI 同步切换;接入用户提供的两段 MP3,进度跟随实际音频位置与时长,语音 ended 后才执行约 1.2 秒背景立绘衔接并聚焦聊天输入框。 - 增加模态焦点管理、宿主交互隔离及恢复、后台暂停与继续、播放异常重试、跳过/Escape、重播和卸载清理;减少动态效果时保留静态驾驶员选择并跳过 GIF/衔接动画。 - 设置新增「重新选择驾驶员」入口;新头像和语音无损随包嵌入,增加启动测试台,覆盖真实 MP3 解码、真实点击触发完整播放、拖放、独立语音、真实时钟进度、异常与生命周期。 ## [0.40.0] —— 2026-10-24,未发布 - 检测到音源首次出现或来源切换时,播放器显示 650ms「音源接続 / SOURCE LINK」分段载入效果,跟随当前角色配色;控制区始终可用,点击后立即结束遮罩,系统减少动态效果时直接显示。 - 去除控制后的等待光标和全按钮禁用。暂停/继续立即切换图标与机械动画;切歌立即显示方向和内部警戒条纹,连续操作按顺序发送,失败时回滚并清除剩余动作。 - 系统媒体控制在同一次 JXA 调用中核对来源并发送动作,省去控制前的完整元数据查询;点击控制即取消旧轮询,控制后异步校准并隔离过期缓存;系统短暂返回旧状态时最多 1.5 秒校准,避免图标闪回。保留来源切换保护及 Music/Spotify 回退。 - 增加慢响应、快速连续点击、过期查询、控制失败回滚、主题载入效果与减少动态效果回归,宿主测试使用模拟进程桥,不操作真实播放器。 ## [0.39.0] —— 2026-10-24,未发布 - 丰富大号 02/00 背景图案:02 增加装甲分层、斜切警示、型号铭文与细节标记;00 增加同心分段环、刻度、原型机铭文与红色定位点,继续随主题和背景强度切换。 - 计费状态及倒计时文字按低谷绿色、高峰红色显示,周末与假日使用低谷配色;标签改为中性底色,核对两种主题下的状态文字对比度。 ## [0.38.1] —— 2026-10-24,未发布 - 修复启用皮肤后远程控制叉号无法关闭:将非模态的显示设置改为 region,避免隐藏面板占用宿主 dialog 栈,触发远程控制的嵌套关闭保护。 - 宿主模态弹窗打开时暂时隐藏皮肤立绘和组件,关闭后自动恢复;覆盖两种主题和显示设置展开/收起状态的关闭回归。 ## [0.38.0] —— 2026-10-24,未发布 - 原 NERV 开机 GIF 显示尺寸扩大为两倍(256px → 512px),窄窗口按可用宽高等比收小。 - 两种主题均使用素材同色纯背景,仅播放原 GIF 一轮(3.84 秒)后直接结束;移除人物动画实现及未使用的动作素材。 ## [0.37.0] —— 2026-10-23,未发布 - 时钟与仪表的尺寸范围统一为 0.6–5,步长统一为 0.05;拖动相同距离、加减按钮和方向键均产生一致的倍率变化。 - 时钟、中央教条区与 TPS 共用基准宽度;恢复默认后均为 1.5 倍且实际等宽,相同倍率下保持等宽。保留已保存的倍率与时钟原有大小,移除旧标签宽度测量及探针逻辑。 - 设置面板从仪表簇中独立出来,桌面放在会话左侧,窄屏使用底部抽屉,避免右侧组件放大时遮住预览或带动面板移动。 - 常用「组件尺寸」「角色背景」直接显示,「装饰与排版」默认折叠;增加单项恢复默认、清晰倍率/百分比、加减按钮及显式关闭,固定标题和底部操作,移除界面内的 Console 操作提示。 - 覆盖统一步长、加减/键盘/重置、面板位置稳定、组件避让、折叠、关闭焦点和多视口回归。 ## [0.36.0] —— 2026-10-23,未发布 - 删除四角压暗的设置、遮罩节点、CSS 与默认配置;删除动态效果总开关及全局控制分支,面板减为 10 个开关、4 个滑杆。开机 GIF 与播放状态动画继续运行,并遵循系统减少动态效果偏好。 - 自动清理旧配置中的废弃选项和根标记,保留有效设置与时钟倍率标尺,防止刷新后恢复废弃功能。 - 移除旧壁纸枚举控件的构建与刷新分支;删除 4 张已被当前角色预览替代的历史截图、2 张无引用的局部预览,并停止生成后者。 - 更新文档、目录说明和回归覆盖,核对旧配置迁移、重播取消、后台暂停、系统减少动态效果与卸载回收。 ## [0.35.3] —— 2026-10-23,未发布 - 两套主题的半身线稿从原位置向右移动自身宽度的 1/6,偏移量随立绘尺寸变化,继续保持底部贴输入框。 ## [0.35.2] —— 2026-10-23,未发布 - 清除两套主题输入卡片外层的宿主铺底渐变与重复区域阴影,去掉输入框两侧的矩形色块。 - 清除会话列表底部使用不同底色的淡出层,去掉明日香主题插件市场上方的色块。 - 在布局测试台还原宿主输入区外层与侧栏淡出层,核对两套主题下的透明绘制。 ## [0.35.1] —— 2026-10-23,未发布 - 去掉输入框中推理等级的独立徽章边框与底色,保留文字和模型选择交互。 - 新会话保留按钮最外侧大框,将样式限定到按钮,去掉内部标签与内容容器形成的多层小框;保留悬停底色与键盘焦点提示。 ## [0.35.0] —— 2026-10-23,未发布 - 放大左侧半身立绘,以会话区域半宽为目标;高度不足时等比收小,保证头部完整显示。 - 立绘底部改为紧贴输入框上沿,随输入框高度、侧栏和页面缩放调整;补偿两张原图底部的透明留白,使腰部线条实际贴边。 - 扩展几何回归,核对贴边位置、目标尺寸和半身比例。 ## [0.34.0] —— 2026-10-23,未发布 - 按用户动作参考,将左侧角色立绘改为侧身回望的半身线稿,露出侧脸、画面截到腰部;保留各自发型和战斗服。 - 更新明日香/绫波丽两张透明 PNG 和对应生成提示词,以 2:3 半身比例布局,最大 320×480 CSS 像素,并随可用视口缩小。 - 保留主题自动切换、背景开关与强度、点击穿透和全屏收起行为,重新核对两种模式与缩放适配。 ## [0.33.0] —— 2026-10-23,未发布 - 在角色背景左侧增加明日香与绫波丽的背影线稿立绘,随暗/亮模式切换,保留原右侧 02/00 几何背景。 - 线稿按角色主色绘制,透明内部、右缘轻羽化;共用背景开关与强度滑杆,窄屏降低强度,右栏全屏时收起。 - 根据会话区域和可见视口调整位置与尺寸,保持宿主正文排版、组件倍率、输入与辅助技术行为。 - 使用内置 image_gen 生成两张透明 PNG,原文件与完整提示词随包保存,扩展素材同步检查,运行时不依赖网络或生成目录。 - 回归覆盖真实 PNG 解码、主题切换、背景关闭与强度为零、侧栏变化、窄屏、全屏与页面缩放。 ## [0.32.0] —— 2026-10-23,未发布 - 根据用户提供的明日香角色图重配暗色 UI:以战斗服红与黑色为主,绿色领口与橙金发色点缀;替换原酒红底、珊瑚红与蓝色方案。亮色绫波丽配色保留。 - 开机动画改为与 GIF 底色精确匹配的 #000101 全屏纯色背景,仅居中播放原 GIF;移除卡片、文字、载入条、扫描效果和额外退场动画,完整一轮后直接结束。 - NERV SVG 保留在时钟标题和播放器中心,中央教条区只显示当前角色;保留重播、静态模式、后台与卸载回收行为。 - 核对 46 个文本与状态对比度组合,覆盖两种模式下纯背景、实际 GIF 解码、居中适配与播放周期。 ## [0.31.0] —— 2026-10-23,未发布 - 将用户提供的 NERV GIF 设置为开机动画:256×256、48 帧、3.84 秒完整播放后淡出,补充角色文字、分段载入条和局部扫描动画。 - 将原始 NERV SVG 添加到时钟标题、播放器机械环中心和开机卡片底部,随角色配色;中央教条区保留当前角色标识。 - 素材原文件随插件打包,由同步工具无损嵌入客户端,运行时不依赖桌面文件、网络图床或宿主重启;检查同步与真实帧时长。 - 设置增加「重播开机动画」,保持每会话仅首次自动播放;关闭动态效果、系统减少动态效果、切到后台和卸载均释放 GIF 与计时器。 - 验证真实图片解码、连续重播、播放中切换角色、完整播放和淡出回收,以及不同视口下的开机卡片适配。DSH Desktop 2.0.17 已实测重播。 ## [0.30.0] —— 2026-10-23,未发布 - 改为双角色主题:暗色明日香(深酒红/珊瑚红/琥珀与蓝色点缀),亮色绫波丽(瓷白/冰蓝/红色点缀),自动跟随 DSH 外观与系统模式。 - 重配全部 107 个官方 UI 令牌,统一侧栏、输入框、权限/模型栏、菜单、设置、代码区、时钟、播放器及开机序列。body 提供角色色桥,portal 与覆盖层内外共享颜色。 - 中央教条区简化为当前角色的载入标识,移除原时刻、视口、字号、色板读数与方块流;右栏全屏时保留小型角色设置入口。 - 移除高能预警与 MAGI 三贤人背景,换成明日香的 02 双斜切与绫波丽的 00 细环矢量点缀,保留背景开关与强度设置。 - 保留完成栏警戒线、用户缩放设置、计费/余额、TPS、系统音乐识别和媒体控制;切换角色不重建组件或重置设置。 - DSH Desktop 2.0.17 实测两种模式及设置页面,测试后恢复原先跟随系统。覆盖连续双向切换、已打开的 portal、权限与模型栏同色、组件尺寸与 12 组视口缩放。 - 46 个文本/状态对比度组合通过,36 个可解析令牌保持宿主明暗极性;更新双主题色卡与模拟数据预览。 ## [0.29.0] —— 2026-10-23,未发布 - 统一暗色主题下输入框的权限与模型选择栏:黑底、亮黄文字与边框、左侧红色警戒条纹。 - 两栏共用悬停、展开、按下和键盘焦点颜色;模型名、推理等级与图标统一前景色,保留等级标记。 - 保留宿主按钮尺寸与选择交互;DSH Desktop 2.0.17 确认界面配色,客户端 187 项检查通过。 ## [0.28.0] —— 2026-10-23,未发布 - 恢复「已完成,用时……」下方斜纹警戒线。DSH 的任务过程按钮使用 `[data-turn-process]` 与底边框,旧规则只覆盖 hr,未作用于该组件。 - 新规则使用稳定属性,警戒带绘制在原有底部留白中;保留按钮高度、完成文字和过程折叠交互,不依赖 CSS 构建哈希。 - 按用户要求移除测绘网格与顶边压力线的选项、面板开关、样式及 DOM;清理旧设置和根元素标记。 - DSH Desktop 2.0.17 确认 1 秒与 2 秒的真实完成栏均显示警戒线;回归覆盖禁用状态、类名变化、按钮高度与折叠操作。 ## [0.27.0] —— 2026-10-23,未发布 - 时钟以当前旧倍率 0.6 的实际尺寸作为新的默认 1.5,保持视觉大小并腾出向下调节空间。 - 新滑杆范围 0.6–5,步进 0.025;下限为默认实际尺寸的 40%,上限保留旧版最大实际尺寸。 - 旧时钟倍率自动换算并保存单位标记,保留其他设置,刷新只迁移一次;播放器与时钟继续同倍率、无尺寸跳变。 - 客户端验证旧 0.6/0.65/2 的尺寸迁移、刷新及缩小范围,布局回归覆盖新上下限。 ## [0.26.0] —— 2026-10-23,未发布 - 时钟改为「時刻管制」面板,采用与播放器一致的黑底橙框、警戒条纹与边角标记。 - 主时间使用带暗色底段的七段数字,放大时分、弱化秒数;日期/星期、本地时区与 UTC 分栏。 - 新增跟随真实系统秒数的分段刻度,复用现有每秒更新,不增加定时器;保留用户倍率与播放器在时钟下方的定位。 - 本地时区格式改为 UTC±HH:MM,正确显示半小时与四分之一小时时区;UTC 显示精确到秒。 - 解码灯排明确标记为 DECODE,空闲使用中性色,避免让正常走时看起来处于红色停机状态。 - DSH Desktop 2.0.17 实测时钟与播放器组合界面;浏览器回归核对七段引用、信息分栏与缩放关系。 ## [0.25.0] —— 2026-10-23,未发布 - 音乐播放器改为 NERV「音声管制」终端:黑底橙框、警戒条纹、六角核心和机械双环,曲名与演出者分层显示。 - 播放时双环反向阶梯旋转、状态格阶梯变化;暂停立即冻结,显示 HOLD;关闭动态效果或减少动态效果时静态显示。 - 分段进度条保留系统真实进度,增加辅助技术可读的进度值;三个控制按钮保留中文名称和清晰键盘焦点。 - 保留系统音乐自动识别、时钟下方位置、用户设定倍率与页面同步缩放。 - DSH Desktop 2.0.17 实测新界面、网易云曲目信息与暂停/继续播放;浏览器回归检查播放动画、暂停冻结与静态模式。 ## [0.24.0] —— 2026-10-23,未发布 - TPS 移至中央教条区正下方,与仪表同宽、同倍率;时钟移到原 TPS 的右上位置。 - 按用户要求取消输入栏避让与组件自动收缩,保留设定倍率,随 DSH 原生页面缩放同步放大/缩小。 - 音乐改为系统播放检测:正在播放后显示在时钟下方,暂停保留继续播放/上一首/下一首,来源结束后隐藏。移除本地文件入口。 - macOS 使用固定 JXA 系统媒体桥,覆盖网易云和浏览器媒体会话;不可用时回退 Music/Spotify,其他系统隐藏。 - 控制前重新核对媒体来源;固定动作与独立参数避免脚本插值,卸载取消进程与请求。 - DSH Desktop 2.0.17 实测网易云曲目识别、暂停、上一首、下一首和原生页面缩放。 - 布局回归覆盖固定倍率、TPS/时钟/播放器相对位置、系统播放状态与控制。 ## [0.23.0] —— 2026-10-23,未发布 ### 修复 - 金额只接受有限数值与非空十进制字符串,空值/布尔值不再误报为零余额。 - 峰谷边界前一秒不再跳过最近切换;未覆盖年份的高峰也标记为推算。 - 音乐在时钟关闭时仍定位到会话头部;外部来源消失后完整恢复本地标题、时间与暂停状态。 - 优先识别正在播放的音乐应用,暂停的 Music 不再压过正在播放的 Spotify;控制动作拒绝继承属性。 - 余额请求增加 10 秒超时;宿主与客户端卸载均取消请求。音乐进程在卸载时取消,失败不会误报控制成功。 - 音乐路由与凭据服务独立注入,非 macOS 不启动 osascript。 - 选项统一校验类型与范围;卸载清除全局 API、全部主题缩放变量与延迟任务。 - 交互控件移出 aria-hidden 范围,开关补名称,设置打开/Escape 关闭时管理焦点。 ### 缩放与性能 - 组件共用可见视口与宿主实测布局,响应窗口、页面放大、侧栏变化、输入框增高与节点替换。 - 仪表保留完整/精简/抬升档位,并按可用空间临时缩放;保留用户目标倍率,空间恢复后回到目标尺寸。 - 时钟与音乐统一定位;窄屏简化播放器并隐藏 TPS,避免组件之间及与输入卡片重叠。 - 设置面板保持独立尺寸,按可见空间限宽限高并滚动,绘制在 TPS 上方。 - 分屏时组件留在会话区域;右栏全屏时收起时钟/音乐/TPS,只保留设置入口。 - 秒级读数改为每秒更新;页面隐藏时暂停采样、查询与装饰动画。音乐无来源时降频至 10 秒。 - DSH 内部节点使用集中管理的语义属性/可读后缀钩子,移除构建哈希依赖;自检按页面上下文判断。 - 新增背景强度与静态显示选项,系统减少动态效果偏好覆盖所有主题动画。 ### 验证 - 89 项宿主纯逻辑断言、16 项真实宿主路由断言、174 项浏览器行为断言。 - 新增 Chrome 布局测试台:12 组 CSS 视口/DPR,含真实页面放大 150%、组件尺寸极值、侧栏与输入框变化。 - DSH Desktop 2.0.17 实机验证启停、原生缩放、左右侧栏、右栏全屏、尺寸极值和设置入口;测试后恢复原有设置。 - README 同步当前选项与限制;新截图明确标为布局测试台,不冒充真实 DSH 会话。 ## [0.22.0] —— 未发布 ### 变更:背景换成第 5 级「高能預警」画面 按用户给的参考图重做背景,**原来的三张壁纸(AT 力场 / 生命之树 / 太阳系)全部删除**。 | 参考图要素 | 落地 | | --- | --- | | 两侧蜂窝平铺的 WARNING 六边形(交替倒置) | SVG `` 平铺,中央用 `` 抠空 | | 「高能預警 / EMERGENCY / 非戦闘人員 迅速避難」横幅 | 拉长六边形 + 两侧「警報」方块(斜纹) | | MAGI 三贤人六边形 + 白色「検証中」印章 | Melchior 1 / Casper 3 / Balthasar 2,下中那枚叠住上面两枚 | | 中央 NERV 叶徽 | 夹在两枚上六边形之间 | | 红 + 白 + 黑 | `#ff1a1a` / `#f2f2f2` / 黑(**颜色还原**) | **闪烁**:三组**互相独立**的硬闪(`steps(1)`,EVA 告警屏是硬闪不是呼吸灯)—— 平铺慢闪 3s、警報斜纹快闪 1s、検証中印章中速 1.8s;并尊重 `prefers-reduced-motion`。 ### 为什么不用掩膜了 之前三张壁纸都是「掩膜 + `currentColor`」:整块一个颜色、**没法单独驱动某个局部**, 而这张图要**分区闪烁**。所以改成在层里放一段**真 SVG**(5.9KB),红/白各是各自的填充色, 闪烁只挂在对应的 `` 上。整层 `opacity:.5`:红色读得清,正文也压得住。 选项 `wallpaper` 回到布尔(面板里「高能預警背景」开关)。 ### 三个自己踩的坑 1. **蜂窝间距算错**:尖顶六边形是「行距 1.5R、行内 √3R」,我写成了反的 ✗。 更糟的是我随后用**错误的判据**去"验证"(以为中心距 < 2R 就是重叠 —— 六边形共边相邻 的距离其实是 **√3R**)✗。最后改用 SVG ``,让浏览器保证平铺正确。 2. **`String(options.wallpaper)` 写出 `"true"`**:选项从枚举改回布尔后,那行手写的属性 还在 ✗ → 值成了 `"true"` 而不是 `"on"`。已把它回归 `OPTION_ATTRS`,由统一循环写 on/off。 3. **自己的断言没恢复现场**:一条行为断言结尾用 `removeAttribute` 却**没有恢复**, 把后面一条断言读到的值清空了 ✗。已改成存原值再恢复。 (另有一次**没加断言的替换静默失败** —— 老毛病,已按惯例每条替换都断言。) ### 测试 浏览器侧断言随旧壁纸一起重写:新增「背景是 inline SVG(非掩膜)」「三种分区闪烁都是 steps(1) 且尊重 reduced-motion」「红/白是各自填充色」「开关能关掉(行为断言)」 「pattern 与 MAGI 三贤人都在 DOM 里」;删掉旧壁纸的四态/自转/reduced-motion 断言。 宿主侧不变(73 项)。 断言:宿主侧 73 项 + 浏览器侧 164 项。 ## [0.21.0] —— 未发布 ### 新增:显示**其它音乐平台**正在播放的内容 浏览器半边读不到别的应用在放什么(`navigator.mediaSession` 只描述当前文档自己的媒体), 所以这件事由**宿主半边**做 —— macOS 上 Apple Music 与 Spotify 都支持 AppleScript: - `GET /dsh-eva-magi/nowplaying.json`:跑一段**固定**的 osascript 问系统, 返回 `{app, state, playing, title, artist, album, duration, position}`,带 1.5 秒缓存; - `POST /dsh-eva-magi/nowplaying`:`{action}` 只接受 `playpause / next / previous`, 播放器名**不从请求里取**(用当前正在播放的那个),且仍走白名单; - 客户端每 2 秒问一次:**外部有播放 → 界面被它接管**(曲名/艺人/时间/进度全部是真值, 标题行右端显示来源 `Spotify`),**按钮变成遥控器**,**圆轮只在它真的在放时才转**; 外部没了 → 安静回落到本地文件模式。 **安全**:脚本是固定字符串、不做任何插值;控制动作走 app + action 双重白名单, 插值前再校验一次;路由沿用余额那条的同一道栅栏(回环 Host / 拒 cross-site / 同源 Origin)。 `tests/verify-host.mjs` 里加了 8 条**注入防护**断言(含把 `; do shell script …` 拼进 app 名与 action 的用例)。 **已知边界**:只认识**支持 AppleScript 的播放器**(macOS 上主要是 Music 与 Spotify)。 其它平台系统层面没有可脚本化接口,读不到 —— 这时播放器会安静回落,**不会显示假数据**。 首次读取时 macOS 会弹**自动化权限**询问,允许后才读得到。 ### 圆轮更像参考图 对照参考图重画(共四版):实心轮改成**亮色实心盘 + 暗色的六边形/辐条/轮毂压在上面** (之前画成亮六边形,不对);六边形加大、辐条缩短。 ### 修复 - **播放/暂停图标写反了**:按钮在播放中显示的是 ▶(应该显示 ⏸)。这是看实机截图才发现的; 已修,并加了一条断言禁止再写反(未播放 → ▶ / 播放中 → ⏸)。 ### 测试 - 宿主侧:46 → **73** 项(新增「正在播放」解析 13 项 + 控制脚本白名单与注入防护 14 项)。 - 浏览器侧:167 → **168** 项(新增图标方向断言)。 ## [0.20.0] —— 未发布 ### 新增:音乐播放器(样式仿用户给的参考图) 时钟下方新增一块播放器:深红底 + 柠绿 + 橙,**两个圆轮**(左描边 / 右实心亮盘 + 暗色六边形)、两个时间、两个圆点分隔、进度条(橙填充 + 柠绿轨)、三个方块按钮。 **是真的能放**,不是摆设: - 点曲名区(或未选曲时点任意按钮)弹出**本地文件选择**,可多选成播放列表; - 用隐藏的 `