Commit 3c59ced18c592a3088a09625924289d45d4cf3f2
1 parent
13984e32
h3-console: 三个新建表单默认档位改成竖屏 480×832/10s/Turbo关/20步
用户要求把新建任务默认参数改成竖屏。text/fl2va/ref2va 三个 tab 统一改,新增 DEFAULT_RES/DEFAULT_DUR 常量,initParamSelects(初次加载)和 clearForm(清空表单) 都改成读这两个常量,不再各自硬编码。480×832 下 10s(243帧) 远低于1125帧上限,安全。 已同步覆盖服务器 /data/models/minimax-h3/console/static/index.html(先确认服务器旧 文件跟本地 git HEAD 完全一致,再推),server.py 按请求读文件不缓存,无需重启, curl 已验证线上生效。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Showing
2 changed files
with
39 additions
and
7 deletions
CHANGELOG.md
| 1 | 1 | # 变更记录 |
| 2 | 2 | |
| 3 | +## 2026-09-01 — h3-console 三个新建表单默认档位改成竖屏 480×832/10s/Turbo关/20步 | |
| 4 | + | |
| 5 | +用户要求把"新建任务"默认参数从横屏改成竖屏,三个 tab(文生视频/首尾帧/参考图)统一改。 | |
| 6 | + | |
| 7 | +**改法**:`h3-console/static/index.html` 新增 `DEFAULT_RES`/`DEFAULT_DUR` 两个常量 | |
| 8 | +(`'480x832'`/`'243'`,243帧=10s@24fps),`initParamSelects`(页面初次加载)和 `clearForm` | |
| 9 | +("清空表单"按钮)两处都改成读这两个常量,不再各自硬编码分辨率下拉第一项/`'362'`(15s)。 | |
| 10 | +480×832 的 `maxFrames` 是 1125 帧,10s 远低于上限,不受竖屏"没单独测过 OOM 边界"那条限制 | |
| 11 | +(见 `a4e8255` 的注释)影响。Turbo 默认关、步数默认 20 是原来就有的 `<select>` 默认值,没动。 | |
| 12 | + | |
| 13 | +**验证**:Node 提取页面里的 `<script>` 做 `node --check` 语法检查,再断言 | |
| 14 | +`DEFAULT_RES`/`DEFAULT_DUR` 对应的分辨率/时长确实在下拉选项里、且 10s≤480×832 的 | |
| 15 | +1125帧上限(不会被 `syncDurOptions` 过滤掉)、Turbo关时步数第一项是20步。 | |
| 16 | + | |
| 17 | +**部署**:本地改完直接 `cat | ssh ... > /data/models/minimax-h3/console/static/index.html` | |
| 18 | +覆盖服务器那份(先 diff 过服务器旧文件确认跟本地 git HEAD 完全一致、没有旁路改动,再推)。 | |
| 19 | +`server.py` 的 `render_index()` 是每次请求都重新读文件,不缓存,**不需要重启** 8080/8081 | |
| 20 | +两个 systemd 实例——`curl http://192.168.110.67:8080/` 实测已经是新默认值。 | |
| 21 | + | |
| 22 | +**顺带发现(未处理,已开单独 task 跟进)**:`raylight/server.py`(顶层)和 | |
| 23 | +`raylight/scripts/server.py` 两份文件已经分叉——服务器上实际跑的 | |
| 24 | +`/data/models/raylight/server.py` 内容其实等于本地 `raylight/scripts/server.py` | |
| 25 | +(有竖屏 `RESOLUTION_CEILINGS` 但没有 `c6815d5` 那次 ComfyUI 健康检查修复),本地顶层 | |
| 26 | +`raylight/server.py` 反过来(有健康检查修复但没竖屏 ceiling)。说明 `c6815d5` 那次修复 | |
| 27 | +本地改了但没同步部署到服务器。这次改的是前端默认值,跟这个分叉无关所以没顺手修,但两份 | |
| 28 | +文件不一致会持续制造"改哪份是真的"的混乱,需要专门理一次。 | |
| 29 | + | |
| 3 | 30 | ## 2026-08-29(续)— 删掉 gateway.wudaima.com 的 frp 隧道客户端配置 |
| 4 | 31 | |
| 5 | 32 | 上一节修完 console/ComfyUI 鉴权后审计时留了个尾巴:`frpc.qwen.ini` 里的 | ... | ... |
h3-console/static/index.html
| ... | ... | @@ -372,7 +372,10 @@ function showCreate(pushUrl = true) { |
| 372 | 372 | // 的 RESOLUTION_CEILINGS 保持一致——两边算法对不上就会出现"前端放行、后端拒绝"或反过来, |
| 373 | 373 | // 数字改动两边一起改。832×480/1024×576/1344×768 三个是真实CUDA OOM边界;448×256 技术上测到 |
| 374 | 374 | // 3000帧都没OOM,1200帧(50秒)是画质边界(用户看过实际输出判定50秒往后不能看),不是显存边界。 |
| 375 | -// 1344×768(官方默认分辨率)排第一,作为新建任务的默认选项——2026-08-23 用户要求。 | |
| 375 | +// 2026-09-01:新建任务的默认档位改成竖屏 480×832 / 10s(243帧)/ Turbo关 / 20步——用户要求。 | |
| 376 | +// 默认值统一走下面的 DEFAULT_RES / DEFAULT_DUR,列表顺序不再决定默认选项(初始化和"清空表单" | |
| 377 | +// 两处都读这两个常量,改一处就够)。Turbo 默认关在三个表单的 <select> 里写死(option selected), | |
| 378 | +// 20 步是 STEPS_BY_TURBO.false 的第一项,跟着 Turbo 联动自动选中。 | |
| 376 | 379 | // 2026-09-01:竖屏是宽高互换实现的,不是独立的横竖屏参数(生产已有 720×1280 提交案例,见 |
| 377 | 380 | // docs/todo/h3-showcase-cases.md)。maxFrames 沿用对应横屏档位的实测值——宽高互换总像素数不变, |
| 378 | 381 | // 显存/耗时特征预期一致,但没有单独针对竖屏重新跑过 OOM 边界测试,如果发现竖屏更早 OOM 要单独下调。 |
| ... | ... | @@ -386,6 +389,8 @@ const RESOLUTIONS = [ |
| 386 | 389 | { value: '1024x576', width: 1024, height: 576, label: '1024×576(高清档,横屏)', maxFrames: 743 }, |
| 387 | 390 | { value: '576x1024', width: 576, height: 1024, label: '576×1024(高清档,竖屏)', maxFrames: 743 }, |
| 388 | 391 | ]; |
| 392 | +const DEFAULT_RES = '480x832'; // 竖屏标准档 | |
| 393 | +const DEFAULT_DUR = '243'; // 10s @24fps | |
| 389 | 394 | const DURATIONS = [ |
| 390 | 395 | { value: '124', frames: 124, label: '5s' }, |
| 391 | 396 | { value: '243', frames: 243, label: '10s' }, |
| ... | ... | @@ -431,8 +436,8 @@ function syncDurOptions(prefix) { |
| 431 | 436 | function initParamSelects(prefix) { |
| 432 | 437 | const res = document.getElementById(prefix + '-res'); |
| 433 | 438 | const dur = document.getElementById(prefix + '-dur'); |
| 434 | - if (res) fillSelect(res, RESOLUTIONS); | |
| 435 | - if (dur) { fillSelect(dur, DURATIONS); dur.value = '362'; } // 默认时长 15s,2026-08-23 用户要求 | |
| 439 | + if (res) { fillSelect(res, RESOLUTIONS); res.value = DEFAULT_RES; } | |
| 440 | + if (dur) { fillSelect(dur, DURATIONS); dur.value = DEFAULT_DUR; } | |
| 436 | 441 | if (res) { syncDurOptions(prefix); res.onchange = () => syncDurOptions(prefix); } |
| 437 | 442 | |
| 438 | 443 | const turboSelect = document.getElementById(prefix + '-turbo'); |
| ... | ... | @@ -648,17 +653,17 @@ async function submitJob(kind) { |
| 648 | 653 | } |
| 649 | 654 | |
| 650 | 655 | // 一键清空——2026-08-24 用户要求:重跑会把整个表单灌满,之前只能一个个手动清,没有回退路径。 |
| 651 | -// 直接恢复成 initParamSelects 那套默认值(分辨率第一项=1344×768、时长15s、Turbo关/20步/ | |
| 652 | -// seed=0),不是清空成空值——分辨率/时长/Turbo/步数这几个下拉框本来就不允许空选项。 | |
| 656 | +// 直接恢复成 initParamSelects 那套默认值(DEFAULT_RES=480×832 竖屏、DEFAULT_DUR=10s、 | |
| 657 | +// Turbo关/20步/seed=0),不是清空成空值——分辨率/时长/Turbo/步数这几个下拉框本来就不允许空选项。 | |
| 653 | 658 | function clearForm(kind) { |
| 654 | 659 | if (!confirm('确定清空这个表单的所有内容?')) return; |
| 655 | 660 | document.getElementById(kind + '-prompt').value = ''; |
| 656 | 661 | document.getElementById(kind + '-cfg').value = ''; |
| 657 | 662 | document.getElementById(kind + '-negprompt').value = ''; |
| 658 | - document.getElementById(kind + '-res').selectedIndex = 0; | |
| 663 | + document.getElementById(kind + '-res').value = DEFAULT_RES; | |
| 659 | 664 | syncDurOptions(kind); |
| 660 | 665 | const durSel = document.getElementById(kind + '-dur'); |
| 661 | - if ([...durSel.options].some(o => o.value === '362')) durSel.value = '362'; | |
| 666 | + if ([...durSel.options].some(o => o.value === DEFAULT_DUR)) durSel.value = DEFAULT_DUR; | |
| 662 | 667 | const turboSel = document.getElementById(kind + '-turbo'); |
| 663 | 668 | turboSel.value = 'false'; |
| 664 | 669 | turboSel.onchange(); // 联动刷新步数选项 | ... | ... |