dsh-motion-ui 0.7.1 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,67 @@
1
1
  # DSH Motion UI
2
2
 
3
+ ## 0.8.1 — 2026-10-17
4
+
5
+ 修复视频交付时的重复界面、源画布排版,以及 Desktop 原生播放器无法拖动定位的问题。
6
+
7
+ ### Desktop 进度条定位
8
+
9
+ - 修复 Desktop 的 `dsh-app://` 媒体通道将 MP4 可定位范围识别为 0 秒,导致拖动后回到开头的问题。
10
+ - Desktop 通过原有认证路由载入本地成片,再使用有完整长度的 Blob 播放;载入完成前显示状态并禁用定位,失败可重试。离开会话时取消未完成读取、停止播放并释放 Blob。
11
+ - 拖动时预览目标时间,松手后定位一次,保留原来的播放或暂停状态,避免连续定位请求和时间更新争抢滑块。Web 继续使用原有 HTTP 媒体播放。
12
+
13
+ ### 避免重复的视频界面
14
+
15
+ - 成功导出后,聊天正文只显示播放器,收起相同文档、节点和版本的源画布;源画布仍可从“智能 UI”侧栏访问。
16
+ - 其他界面、不同影片和后续编辑的新版本继续保留;导出失败不收起源画布。
17
+
18
+ ### 源画布排版
19
+
20
+ - 兼容 HTML 标签之间、CSS 规则边界被写成字面量 `\n` / `\r` 的排版分隔符,修复可见转义字符、样式失效和画面溢出。
21
+ - 保留代码示例、属性值、CSS 字符串及注释和 JavaScript 源码,不重写已保存文档。
22
+
23
+ ### 验证
24
+
25
+ 148 项单元/集成测试、24 组构建与浏览器回归,以及 18 项播放器检查。Desktop 原生通道额外验证了真实鼠标拖动、解码帧时间、画面像素变化、播放状态和离开页面后的资源释放,未仅以进度数字变化判定成功。
26
+
27
+
28
+ ## 0.8.0 — 2026-10-17
29
+
30
+ Motion UI 新增从可定位动画到视频成片的制作流程,保留原有日常排版、可视化、交互组件、状态保存与风格设置。
31
+
32
+ ### 动效时间轴与设计指导
33
+
34
+ - 新增 `DSHUI.timeline`:播放、暂停、定位、重播、章节和绝对时间绘制,支持分步解释与可重复的视频采集;现有动画接口继续可用。
35
+ - 新增时间轴、分步讲解、路径传播和文字动效四个原创案例,适用于各视觉风格。
36
+ - 完整内置 OpenDesign `motion-design` 技能,保留原文、固定来源、校验值与 Apache-2.0 许可,通过独立 DSH 适配说明按需读取。宣传片指导区分口播讲解、产品片与音乐视觉蒙太奇,不增加日常常驻提示词。
37
+
38
+ ### 视频预览、导出与素材处理
39
+
40
+ - `preview_video`:从时间轴生成关键帧和联系表,先检查画面再编码;有效画面保留,脚本与资源问题返回时间点、元素位置或源码行列。
41
+ - `render_video`:交付真实 MP4、可编辑 HTML、文档/参数快照和工程 ZIP,支持本地音轨、字幕、嵌套舞台与透明起始帧。
42
+ - `inspect_video` / `process_video`:检查本地素材、按时间抽帧、截取拼接、画面适配,以及字幕和配乐合成,保留原文件。
43
+ - 逐帧直接送入编码器,减少中间 PNG;修复冷启动首帧、舞台重排、末尾取帧与色彩范围问题。成片检查实际元数据、音轨和完整解码,失败保留源码及诊断。
44
+
45
+ ### 配音、字幕与音轨
46
+
47
+ - `synthesize_voice` 通过用户配置的 MiniMax 认证生成真实配音和句级/词级时间戳。
48
+ - 支持配音、音乐、音效多轨混音、偏移与淡入淡出;拒绝截断或循环旁白。
49
+ - 独立源码同步播放、暂停和定位音轨与字幕,字幕空档不保留上一句;修复数字发音片段导致的重复字幕。
50
+
51
+ ### 聊天视频播放器
52
+
53
+ - 固定控制条提供播放/暂停、进度、时间、音量/静音、倍速、全屏与下载。
54
+ - 兼容历史视频结果,后续正文更新保持播放位置;切换会话、离开页面或隐藏标签页时停止声音,多视频互斥播放。
55
+ - 避免视频被折叠的工具分析区域隐藏,同一画布的重复导出只展示最新成片。
56
+
57
+ ### 易用性与兼容性
58
+
59
+ - 插件设置增加视频环境检查;缺少浏览器或编码器时给出明确提示,不自动下载大型运行时。
60
+ - 改善节点编辑的多余空父级字段、单项传输包装、可选 JSON 空字符串与媒体回执兼容性,未知字段直接指出名称。
61
+ - 兼容 DeepSeek Harness Web / Desktop `0.2.1-rc.1`,保留 `0.2.0-rc.2` 兼容范围。
62
+
63
+ 视频功能需要本机 Chrome/Edge 或 Playwright Chromium、FFmpeg、FFprobe;MiniMax 配音会调用相应 API。视频需显式请求,普通对话 UI 不自动转为视频。设计效果与制作成功率仍取决于模型及实际素材,预览和技术检查不等同于美术质量验收。
64
+
3
65
  ## 0.7.1 — 2026-10-14
4
66
 
5
67
  Motion UI 现在可以用更短的调用交付完整界面,并更准确地定位和修改已有内容。这次更新保持现有文档协议与参数保存兼容。
package/README.md CHANGED
@@ -1,11 +1,19 @@
1
1
  # DSH Motion UI
2
2
 
3
- 为 DeepSeek Harness Web 提供可交互组件、自由 HTML/SVG 图解与动画。引导模式会主动注入设计技能、协议和示例;自由模式让模型自主设计。设置位于首页 → 插件 → dsh-motion-ui。
3
+ 为 DeepSeek Harness Web / Desktop 提供可交互组件、自由 HTML/SVG 图解与动画。引导模式会主动注入设计技能、协议和示例;自由模式让模型自主设计。设置位于首页 → 插件 → dsh-motion-ui。
4
4
 
5
- Interactive, declarative tool views for **DeepSeek Harness Web 0.2.0-rc.2**.
5
+ Interactive, declarative tool views for **DeepSeek Harness Web / Desktop 0.2.0-rc.2 / 0.2.1-rc.1**.
6
6
 
7
7
  The plugin adds `render_scene` (short flow/comparison/allocation/budget data), `render_text` (quick native typography), `render_ui` (validated components), `render_canvas` (HTML/SVG), `render_mechanism` (compact assembly/kinematics scenes), and `ui_catalog` (protocol + examples). It saves per-document input state on the Host and sends explicit follow-up requests with the current parameter snapshot.
8
8
 
9
+ ### v0.8.1:视频播放修复
10
+
11
+ 修复 Desktop 视频无法拖动定位、成片与源画布重复显示,以及转义换行造成的源画布排版问题。Desktop 会先通过原有认证路由载入本地成片,再启用完整定位;离开会话释放载入数据。源画布仍可在智能 UI 侧栏查看,新版本编辑不会被旧成片覆盖。
12
+
13
+ ### v0.8.0:从交互界面到视频成片
14
+
15
+ 新增可定位动效时间轴、分镜预览、MP4 导出、本地视频检查与剪辑,以及 MiniMax 配音和字幕时间戳。模型可以按需读取完整动效设计技能,组织宣传片并交付 MP4、HTML 和可编辑工程 ZIP。聊天内视频支持播放/暂停、拖动、音量、倍速、全屏与下载。视频制作需要本机浏览器、FFmpeg 和 FFprobe;配音需要 MiniMax 认证,日常 UI 不会自动转为视频。
16
+
9
17
  ### v0.7.0:风格、交互与机制图解
10
18
 
11
19
  六种风格拥有各自的构图与组件形态,设置提供六类真实样式预览;原生交互反馈全局增强。新增 `render_mechanism`,无需生成长篇绘图源码即可交付装配拆解、齿轮传动和曲柄连杆。保留现有文档协议、默认明亮扁平风格、自由模式和参数保存。详细更新见 [CHANGELOG.md](CHANGELOG.md)。
@@ -333,3 +341,41 @@ render_mechanism({scene:"gears", rpm:20, teeth:32})
333
341
  这是教学几何与运动学:简化齿形不能用于加工,隐藏盖板不是任意实体剖切,按层与深度排序不构成精确遮挡/碰撞审计。瞬时动画相位不持久化,用户参数仍保存。
334
342
 
335
343
  投影和轮廓数学参考并使用 [Anatomy](https://github.com/wheresryan22/anatomy) 的 MIT 代码(固定版本及许可证见 `lib/third-party/anatomy-NOTICE.md`)。插件的状态桥接、机制案例、渲染与交互逻辑为本项目实现,没有引入完整上游工作流或其 3D 引擎。
344
+
345
+ ## 可定位动效与视频制作(v0.8.0)
346
+
347
+ 动效语言适用于所有视觉风格:通过焦点、连续性、因果和阅读停顿组织变化。自由模式不注入这套美术指导。`ui_catalog({topic:"motion"})` 返回简短索引,`scene:"timeline"|"stages"|"path"|"typography"` 按需返回原创例子;`scene:"reference"` 提供参考录屏分析流程,完整代码不会常驻注入每次对话。
348
+
349
+ 画布可用 `DSHUI.timeline({id:"main",duration:6,draw(time,info),chapters:[{time:0,label:"输入"}],autoplay:false})`,返回 `play/pause/seek/replay/chapter/subscribe/dispose`。`draw` 从绝对秒数和当前参数同步绘制,支持倒拖与分步定位;用户参数继续保存,瞬时进度不逐帧写回。现有 `DSHUI.animate` 保留。离屏、后台和减少动态效果适用于新时间轴。
350
+
351
+ 模型可直接使用五个工具完成视频任务:
352
+
353
+ - `preview_video({documentId,duration,times?,width?,height?,theme?})`:直接从可编辑时间轴抓取关键画面和联系表,先看图修正,再导出全片,不必反复编码 MP4。`complete=false` 返回时间/元素诊断并保留有效帧;无效样本不会伪装成已检查画面,修正后应重新预览。
354
+ - `synthesize_voice({text,voice?,model?,speed?})`:生成真实配音、时长与字幕时间戳,需要用户配置的 MiniMax 认证,调用付费 API。
355
+ - `inspect_video({path,times?:[seconds]})`:读取实际时长、尺寸、帧率和音轨,抽取最多 12 个时间点及联系表。模型应实际读取图片再分析;这不是语音识别、自动目标跟踪或完整视频理解。
356
+ - `render_video({documentId,nodeId?,duration,width?,height?,fps?,theme?,audioTracks?,audioPath?,audioVolume?,captions?})`:将已保存的一个画布导出为可编辑 HTML、文档/参数快照、制作参数和真正的 MP4。画布须有唯一 `#stage` 和唯一 `DSHUI.timeline`,ID 为 `main`,时长与导出一致。舞台外控件不进入视频。支持本地配乐和精确时间字幕;配乐副本随源码保留,下载后放在 HTML 同一目录,可手动开启,并随播放、暂停、定位同步。
357
+ - `process_video({clips:[{path,start?,end?}],width?,height?,fps?,audioPath?,audioVolume?,captions?})`:截取、按顺序拼接、等比适配/补边;保留原音轨,指定配乐时替换原音轨;字幕形如 `{start:0,end:1.5,text:"说明"}`,按输出时间排列,空隙不显示上一条字幕。生成新文件,原素材不覆盖。
358
+
359
+ 视频渲染需要本机 Chrome/Edge 或 Playwright Chromium、FFmpeg、FFprobe。插件仅携带浏览器控制库,不自动下载浏览器/编码器。插件设置中的“检查视频环境”或 `ui_catalog({topic:"video"})` 可以检测;环境变量 `DSH_MOTION_BROWSER`、`DSH_MOTION_FFMPEG`、`DSH_MOTION_FFPROBE` 可指定可执行文件路径。视频需显式请求,普通对话 UI 不自动转成视频。
360
+
361
+ 默认 1920×1080、30fps;允许偶数尺寸 160..3840 × 160..2160、1..60fps、0.1..600 秒,单次最多 36000 帧。超出预算明确报错,可拆成章节,不截断产物。这些是媒体任务预算,不改变模型推理、输出或运行时限。渲染不提供硬性的恶意代码 CPU/内存隔离。
362
+
363
+ 每次导出检查实际尺寸/时长、音轨存在性和完整解码,失败保留源码与真实错误;检查通过不等于美术质量合格。任意 JS 的时间累加、独立 CSS 动画和未设种子的随机状态不会被自动改造成可导出时间轴。配音可使用 `synthesize_voice`;图片和生成式视频素材使用宿主实际提供的工具,插件不虚构素材或模型 API。
364
+
365
+ 工作流参考 [OpenDesign Motion](https://github.com/nexu-io/open-design/pull/8619) 的源码/视频双交付、按需技能和时间轴思路。本项目的时间轴、原创案例及导出/处理实现独立编写,未复制其 GSAP 播放器;完整 motion-design 技能以原文和独立 DSH 适配说明按需提供,来源与许可见下文。
366
+
367
+ ### 一段需求制作宣传片(v0.8.0)
368
+
369
+ 可以请求模型自行组织文案、分镜与 HTML/SVG 动效,再用 `render_video` 交付真实 MP4 和可编辑工程 ZIP。`ui_catalog topic=video scene=promo` 按需提供制作流程,普通对话不加载整套视频手册。
370
+
371
+ 支持两种创作方向:口播讲解按真实语音组织信息;音乐驱动的产品片用大字、贯穿图形变形、能力演示和镜头切换表达产品,不强制添加旁白或字幕。可提供参考片,让模型分析其构图与转场机制,再独立创作。交互数据、机械部件和图形应有可见的因果变化,不能仅靠静态卡片和换色表示能力。
372
+
373
+ 完整内置 OpenDesign 的 `motion-design` 技能,保留原文、固定来源版本与 Apache-2.0 许可,并通过独立 DSH 适配文档映射工具、时间轴和音轨。`ui_catalog({topic:"motion",scene:"motion-design"})` 或 `ui_catalog({topic:"video",scene:"promo"})` 按需返回技能全文,不把正文注入日常对话。上游 OpenDesign CLI/GSAP 播放器协议不作为 DSH 的可调用接口。
374
+
375
+ `render_video` / `process_video` 的成片在聊天中直接显示播放器,固定控制条提供播放/暂停、进度与时间、音量/静音、倍速和全屏,可下载 MP4、源码和工程。历史工具结果也支持重放为播放器,无需重新生成影片;同一画布的再次导出更新对应播放器,其他影片独立保留。后续正文更新保持播放位置,离开聊天停止声音,多个影片互斥播放。音量和速度在本机记忆;加载失败提供重试与下载入口。
376
+
377
+ 需要本机 Chrome/Edge、FFmpeg、FFprobe。可选的 `synthesize_voice` 调用 MiniMax 付费语音 API,使用官方 mmx 认证或 `MINIMAX_API_KEY`(可选 `MINIMAX_REGION=cn/global`);不会从 DSH 模型配置中复制密钥。返回真实音频时长及字幕时间戳。通过 `audioTracks` 混合旁白、用户提供的音乐和音效,支持音量、偏移、循环音乐和淡出;旁白不允许循环或被截短。没有配置语音服务时仍可导出无声动效。
378
+
379
+ 示例需求:为我的插件制作一段 30 到 45 秒横屏宣传片,自行写文案和分镜,展示解决的问题和三个核心功能,用中文配音、清晰字幕和不同构图,交付 1080p30 MP4 及可编辑工程。
380
+
381
+ 视频抽帧检查是稀疏视觉观察,不等于完整听审、自动转录或自动剪辑任意素材。外部素材的可用性和授权由提供者负责;不自动下载大型运行时或音乐库。
package/VERIFICATION.md CHANGED
@@ -1,4 +1,27 @@
1
- # v0.7.1 发布验证(2026-10-14)
1
+ # 验证记录
2
+
3
+ ## v0.8.1 发布验证(2026-10-17)
4
+
5
+ - 148 项单元/集成测试、24 组构建及浏览器回归;18 项播放器检查覆盖真实鼠标拖动、源画布去重、侧栏保留、新版本可见性和导航释放。
6
+ - Desktop 原生 dsh-app 通道实测:修复前可定位范围为 [0,0],修复后覆盖实际片长。暂停/播放状态下鼠标拖动后,使用解码帧时间和像素变化核对实际画面,离开页面后确认 Blob 已释放。
7
+ - HTML/CSS 分隔符归一化保留代码样例、字符串及 JavaScript;实际源画布验证无可见字面换行和横向溢出。
8
+ - 未调用付费模型或改变模型推理限制。
9
+
10
+ ## v0.8.0 发布验证(2026-10-17)
11
+
12
+ - 开发 SDK 与锁文件使用 DSH 0.2.1-rc.1,保留 0.2.0-rc.2 兼容范围;Web 和 Desktop 分别检查实际运行时。
13
+ - 147 项单元/集成测试、24 组构建及浏览器回归;覆盖日常文字、多文档、原生组件、风格、状态恢复、连续修改、标记/侧栏和渐进预览。
14
+ - 视频专项验证实际 MP4 编码与完整解码、尺寸/帧率/时长、嵌套舞台、截取拼接、输入文件保留、媒体 Range/HEAD、会话隔离、字幕空档、音轨同步、多轨混音和源码工程。
15
+ - 聊天播放器 16 项浏览器检查覆盖播放、暂停、定位、音量、倍速、全屏、多视频互斥、设置恢复、后续正文更新保持节点与进度、折叠区域可见性及离开页面停音。
16
+ - Web / Desktop 0.2.1-rc.1 的实际插件设置及历史 32 秒视频检查通过;0.2.0-rc.2 Desktop 在开发阶段通过同项检查。页面离开、返回和刷新后设置保持,客户端无未处理异常。
17
+ - 内置 OpenDesign motion-design 原文按固定 SHA256 检查,来源与 Apache-2.0 许可随包保留,按需加载不混入日常提示词。
18
+ - 开发阶段 MiniMax M3.1 Flash Preview 实际完成 39 秒和 16.8 秒宣传片,包含自主文案、分镜、HTML/SVG 动画、配音与配乐。过程包含返修,不代表所有模型均可首次成功;发布回归不重新调用付费模型。
19
+ - 支持独立字幕与作者自绘字幕。实际字幕对照语音时间记录检查,保留空档;技术解码或稀疏预览不等同于完整美术及听感验收。
20
+ - 未给模型增加推理、输出或运行时限,也未取消模型推理。
21
+
22
+ 下文是历史版本验证记录。
23
+
24
+ ## v0.7.1 发布验证(2026-10-14)
2
25
 
3
26
  构建 0.7.1+d92c9bf2bf64。
4
27