Skip to content

feat(dam): 更新 MUSE 模型网关与公开演示隔离 - #1

Merged
PeterGuy326 merged 4 commits into
mainfrom
feat/brand-digital-human-studio
Oct 14, 2026
Merged

PeterGuy326 merged 4 commits into
mainfrom
feat/brand-digital-human-studio

Conversation

@Bindy-lbb

@Bindy-lbb Bindy-lbb commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

MUSE 品牌数字人 Demo 更新到最新代码,仍放在 examples/dam/brand-digital-human-studio/workbench/。独立本机入口支持页面配置模型服务并手动提交;仓库目录入口只展示模拟流程,不提供密钥输入或真实生成。

本轮新增和更新:

  • Seedance 页面地址配置、万相官方/兼容视频网关协议、自定义 Base URL 与模型别名。
  • 原任务结果恢复,区分明确渠道拒绝与待核对提交,避免自动重复收费生成。
  • 成品、任务与资产首页最近作品使用结果视频帧;长错误显示摘要及换行详情。
  • 全身表演与帽子展示案例预设,只填草稿,不自动提交模型。
  • 保留演示登录、素材调用、声音复刻/TTS/口型适配、模拟任务及审核复用;正式共享、RBAC与客户模型质量尚未验收。

隐私及范围:只同步代码和抽象说明。没有上传 API Key、客户素材或录音、真实生成视频、签名结果 URL、报价文件及运行数据。.env.example 密钥为空,真实调用默认关闭;运行目录被忽略。沿用已有合成图与固定示意 MP4,案例外102个文件和原示例媒体字节保持一致;本轮提交只涉及 MUSE 案例目录。

验证:

  • 原目录依赖锁文件被运行进程占用时,改用隔离同源码安装;隔离 npm ci 成功。恢复原目录依赖后,两目录 npm run check 均通过,包括 MUSE 68项接口测试及原案例领域/POC检查。
  • MUSE 6项、Persona 原有8项浏览器回归通过。
  • 桌面1440×1000、手机390×844检查预设、长错误与模拟入口,无页面/控制台异常、目录 API 与外部请求为0。
  • 独立页面用模拟配置及已有示意 MP4 检查网关表单和视频帧封面,无实际模型调用。

状态保持 prototype,外部适配不标成已验收;人物一致性、声线口型、全身表演和帽子细节仍需客户授权素材与真实账号验证。

@Bindy-lbb Bindy-lbb changed the title feat(dam): add brand digital human studio prototype feat(dam): add MUSE studio with Wan video and voice workflows Oct 14, 2026
@Bindy-lbb Bindy-lbb changed the title feat(dam): add MUSE studio with Wan video and voice workflows feat(dam): add MUSE studio with demo login and AI workflows Oct 14, 2026
@Bindy-lbb Bindy-lbb changed the title feat(dam): add MUSE studio with demo login and AI workflows feat(dam): 更新 MUSE 模型网关与公开演示隔离 Oct 14, 2026
@PeterGuy326

Copy link
Copy Markdown
Contributor

Reviewed the full diff (82 files, +19,810/-36) and ran the repo check locally on Node 22.22.2. Verdict: approve — the case is well-scoped, honest about its limits, and safe to publish.

What I verified

  • Catalog/domain consistency: catalog/cases.json gains the brand-digital-human-studio entry with status: "prototype", path and domain dam matching catalog/domains.json; root README.md count updated to two cases. case.json capabilities correctly keep every external adapter at mode: "unavailable" — nothing is marked connected/verified.
  • No credentials or machine leakage: full-diff scan for keys/Bearer tokens/AKID/LTAI/sk- patterns and absolute local paths returns nothing. .env.example holds empty placeholders only; every *_ENABLE_REAL switch defaults to false.
  • Public-demo isolation is real: scripts/serve.mjs (the 4173 catalog route) only adds an .mp4 media type; the proxy lives behind its own server/index.mjs entry on 4318/8788, guards Host to loopback, requires the x-studio-client header and a same-origin Origin for non-GET calls, and rejects private/loopback media URLs via the DNS check in publicUrl. The catalog entry therefore cannot reach a paid API.
  • CI: both check runs pass on the PR head.
  • Mergeability: MERGEABLE / clean, not a fork, not behind main, no prior reviews to collide with.

Non-blocking notes (no change requested for this merge)

  1. server/seedance.test.mjs (and the same settle() helper pattern in wan.test.mjs) has a tight timing budget: the helper polls state.json for 100 × 5 ms (≈500 ms) waiting for providerStatus !== "submitting", but the submit handler's background block must first await the gateway round-trip and an fs save(). On a slow Windows host this deterministic race makes the helper throw Fixture submission did not finish. Reproduced locally: 12/68 seedance and 10/68 wan subtests fail on Windows while the actual request path afterwards returns status: "completed" correctly — it is a harness latency issue, not a product defect. Raising the loop bound (or asserting on a promise instead of polling the file) would make the suite portable; CI on ubuntu-latest is unaffected.
  2. The MUSE e2e config hardcodes the catalog server to port 4179; fine for CI but worth a comment so a future second case does not silently collide on the same fixed port.

Neither point blocks this PR; both are follow-ups for the case owner.

@PeterGuy326 PeterGuy326 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after full-diff review and a local run of npm run check. See the detailed review comment above for verification evidence and two non-blocking follow-ups.

@PeterGuy326
PeterGuy326 merged commit 583dec6 into main Oct 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants