Files
dsh_shenxian/dsh-server-docs/04-调整方案/12-VoxEMW全云API化接入dsh-调研与M1落地.md
T

76 lines
6.8 KiB
Markdown
Raw Normal View History

# 12-VoxEMW 全云 API 化接入 dsh(调研 + M1 落地)
- 状态:**已冻结(2026-09-11 决策)** —— "云端链路待接线"自 09-10 起无进展,需供应商账号与资源;冻结以免长期占用待办位(档案 19 §D6)。恢复条件:拿到 VoxEMW 供应商账号与配额。
> 状态:**调研完成 + 本地 M1 骨架已实现(冒烟通过);云端链路与实例级验证待办**|2026-09-10|对象:dsh 工作台插件生态(feature-tier)+ 云端 Realtime/数字人 API
> 需求来源:调研 github.com/emwstudio/VoxEMW(魔镜女巫写实数字人)能否以插件形式加入 dsh、会话窗口旁显示、用户数据隔离;**用户决策:模型全部连线上 API,零本地部署**(2026-09-09)。
> 全文方案(原存于旧工作区 `D:\AI技能\aliyun-dsh-server\`;**本机 `dsh-server-docs\` 内未见,待补**):`VoxEMW接入dsh调研与落地方案_20260909.md`(GPU 原套存档)、`VoxEMW全云API化接入dsh修订方案_20260909.md`(主路径)。
## 一句话结论
VoxEMW 是 GPU 重型多进程服务(4090 四模型 21.7G),**不能也不应搬进插件**;采用**云 API 化的 feature-tier 插件** `dsh-plugin-voxemw-cloud`:以 VoxEMW 为产品/体验蓝本,复用其 persona 文案与 `assets/mojingnvwu/face_ref.jpg` 形象资产,后端换 2026 年已商业化的云端端到端 Realtime(大脑/语音/视觉)+ 实时数字人 API,由插件做编排/同源代理/槽位/记账/隔离。
## 一、调研关键事实(决定方案的依据)
### 1. VoxEMW 原套(本地 4090 版)
| 积木 | 实现 | 端口/进程 |
|---|---|---|
| ① VAD+②STT | Silero + Qwen3-ASR(本地) | s2s 管线 :8765 |
| ③ LLM | DeepSeek API(唯一线上) | — |
| ④ TTS | VoxCPM2(本地,音色设计/seed 钉定) | 同上 |
| ⑤ 数字人 | SoulX-FlashHead(本地写实 talking-head) | :8791 |
| ⑥ 眼睛 VLM | MiniCPM-V(本地) | :18099 |
| orchestrator | aiohttp :8000,浏览器唯一入口 | py312 venv |
硬约束:**单用户单会话**(`current_session` 全局单槽,新连接顶旧会话;s2s `num_pipelines:1`);会话状态全在内存不落盘(隔离利好);personas/*.md 启动静态装载是唯一共享持久点;无鉴权、单 DeepSeek key。
### 2. 2026-09 云端供给矩阵(已核实存在)
| 环节 | 云 API 候选 |
|---|---|
| 端到端 Realtime(VAD+STT+LLM+TTS+视觉,一条 WS) | 智谱 GLM-Realtime(音频 0.18~0.3 元/分,视频 1.2~2.1 元/分;支持摄像头帧/function calling/server VAD 打断);阿里 Qwen-Omni-Realtime / qwen3.5-omni-plus-realtime(WS+WebRTC 双通道) |
| 实时写实数字人(音频流→实时视频流) | 火山「实时互动数字人 FlowAct-R1」(单图+16k PCM→480P@25fps,首帧~2s);阿里数字人实时交互 OpenAPI(支持 customUserId 租户标记);ZEGO 精品照片数字人(200ms/1080P/RTC) |
| 视觉 | Realtime 模型原生吃视频帧(GLM/Qwen),无需单独 VLM |
### 3. 形态判定(三选一结论)
二开/搬代码 ❌(GPU 重负载+独立 venv+红线禁改官方 bundle);host/feature 插件 + 同源代理 + iframe 内嵌 ✅(social-workbench 守护模板 + mcn 会话分栏技术);iframe 直连裸址 ⚠️(非安全上下文拿不到麦克风/摄像头)。
### 4. 负载与并发(修订方案 §9,规划级)
媒体面**直连**(浏览器↔云厂商 RTC/WS,dsh 只做控制面/临时凭证/记账)时 dsh 服务器压力≈0;服务端全中转时每路全功能 ≈2Mbps(上行 PCM16 256k + 下行 pcm24 384k + 数字人视频 ~1M)。并发三层模型:同时在线(数百~上千)≠ 同时语音(受云并发配额,如 GLM-Realtime 低等级 5 路起)≠ 同时数字人出画(按路/分钟计费)。瓶颈在云配额+费用,槽位=所购云端路数。
## 二、M1 本地交付(dsh-plugin-voxemw-cloud v0.1.0)
位置:`D:\dshworkspace\plugin_package\dsh-plugin-voxemw-cloud\`(与 mcn/social-workbench 同生态;随文档库 poc 可另行归档)。
| 文件 | 职责 |
|---|---|
| package.json / cordis.patch.yml | 三段式骨架,feature-tier(insert id voxemw-cloud) |
| lib/index.js | 宿主半区:apply(ctx)+inject=['webServer'],注册 /voxemw/health、/api/status(脱敏)、/api/slot/{claim,release,keepalive}、/api/billing/summary、/app(面板页) |
| lib/slot.js | 单席位互斥/同 profile 续期/force 强拆(返回 evicted+claimId 防重复记账)/过期回收 |
| lib/billing.js | profile 维度按天 JSONL 记账;宿主 60s 对账补记超时占用 |
| lib/cloudcfg.js | env 配置装载 + getPublicConfig 脱敏(Key 不下发) |
| lib/realtime.js / avatar.js | 协议适配纯函数(session.update 人设注入、打断、文本旁路、数字人初始化、配置校验)——M1 接线点 |
| lib/client.js | __ModuleLoader__.load 包装;注册 __mcnEntries 'voxemw-cloud';面板 iframe /voxemw/app(allow mic+camera);无 exports.default(守红线) |
| web/app.html | 面板单页:云端状态/槽位控制/麦克风回环自测 |
| tests/smoke.mjs | 冒烟 15 断言组全绿;index.js exports 契约正确;client.js --check 通过 |
环境变量要点:`VOXEMW_REALTIME_API_KEY`(必配才算已配置)、`VOXEMW_PROVIDER=glm|ali`、`VOXEMW_AVATAR_URL/_API_KEY/_IMAGE`、`VOXEMW_MAX_SLOTS=1`、`VOXEMW_DAILY_QUOTA_MIN=30`。
## 三、验证状态与待办
**已完成(本地)**:逻辑冒烟 15 组;模块可加载;client bundle 语法校验。
**待验证(需实例/账号)**:工作台入口显示与分栏宿主(须装到 dsh 实例并重启——client bundle 启动时打包);面板麦克风授权(需 https 安全上下文);云端 Realtime/数字人真实链路。
**待用户决策**:①供应商组合(甲=GLM-Realtime+火山 FlowAct-R1,默认推荐 / 乙=全阿里 / 先纯语音);②数字人形象(默认复用 VoxEMW face_ref.jpg);③音色路线(预置起步,专属嗓音走分离式 TTS 克隆)。
**待实现(决策后)**:realtime.js/avatar.js 传输层按官方协议接线;x-dsh-profile 从 dsh 会话真实注入完成多用户隔离闭环;配额/账单运营页。
## 四、红线遵守
不自动升级 dsh;不改官方主程序与缓存(只写 dsh-plugin-voxemw-cloud 目录);client bundle 不导出 `exports.default`;云 Key 只存服务端进程、绝不下发浏览器。
## 五、参考
- 本机 dsh-plugin-dev 知识库(`D:\dshworkspace\dsh-plugin-dev\references\知识库\`):插件种类全景/发布插件/Cordis HMR
- plugin_package 参考实现:dsh-plugin-social-workbench(守护+内嵌模板)、dsh-plugin-mcn(会话分栏 .mcnNav_split)、douyin-accounts(feature-tier 空 apply 实证)
- 云端 API 官方文档:火山 FlowAct-R1、阿里数字人实时交互/Omni-Realtime、智谱 GLM-Realtime(链接见全文方案附录)