前言¶
DeepSeek Harness (DSH) 的设计理念是「一切皆插件」。在开发具有数字人能力的智能体时,开发者通常需要分别对接 ASR(语音识别)、TTS(语音合成)、Avatar 媒体渲染以及对话管线,最后还要在 UI 层面完成角色注册与场景搭建。这一过程涉及多个组件的协作,开发成本较高。
Live Talk 是一个面向 DSH 的插件,它提供了一套完整的数字人切片方案。该插件将对话角色可视化核心、语音/视频 Provider 接口以及插件壳整合在一起,开发者可以直接使用它来驱动一个随对话自然说话、转身、微笑的虚拟角色。
插件概况¶
Live Talk 由开发者 eddiehuang227-source 维护,遵循 MIT 许可证。它允许用户将任意照片转化为一个响应式的虚拟女孩。该插件在低延迟、高细节的场景下表现良好,提供了一套从 ASR 到 TTS 再到 Avatar 渲染的完整能力。
核心功能¶
Live Talk 采用三层结构设计,分别对应不同的职责:
- dsh 插件壳:位于
package.json、cordis.patch.yml、src/index.js和src/client.js。负责 DSH bundle/client manifest 的管理、Host 路由注册、浏览器conversation.view标签页的渲染(角色舞台、开场视频、情绪 clip 联动)以及零 Key TTS 试听功能。 - 对话角色可视化 core:位于
src/core/characters.js、character-registry.js、dialogue-pipeline.js、emotion.js和conversation-bridge.js。负责管理角色 manifest、角色注册表、与供应商无关的语义管线(句子切分、情绪/动作、TTS 清洗)以及 DSH session 事件的桥接。 - 语音/视频 provider seam:位于
src/core/seams.js和provider-registry.js。提供asr、tts和avatar-media三个可替换的能力注册表。
该插件集成了角色 manifest 和对话管线,支持零 Key 的浏览器 TTS 和浏览器语音能力。角色预览图与开场视频随包发布在 assets/ 目录。情绪片段来自外部 character pack,如果缺失,UI 会自动回退到静态头像。
安装与启用¶
安装前请确保已安装 DeepSeek Harness 并满足运行环境要求。以下是具体的安装与启用步骤:
- 安装插件
使用插件管理命令将本地或路径下的live-talk添加到 avatar 配置文件中:
dsh plugin --profile avatar add /path/to/live-talk
- 验证配置
运行命令查看配置文件中是否成功加载了 live-talk:
dsh --profile avatar --dump-config
- 启动 Web UI
启动 DSH 的 Web 界面:
dsh --profile avatar web
- 选择会话视图
在 Web UI 的会话顶部视图标签中,选择 Live Talk 标签页即可进入角色对话界面。
开发与测试¶
如果你需要对该插件进行二次开发或进行验证测试,请遵循以下步骤:
- 构建代码
从src/目录生成lib/目录:
npm run build
- 运行单元测试
运行所有单元测试(包含构建步骤):
npm test
- 运行集成测试
运行完整的集成测试。注意:此步骤需要将DSH_REPO环境变量指向 deepseek-harness 的源码目录,同时需要设置DSH_HOME:
npm run test:integration
注意事项¶
在部署和使用 Live Talk 时,请注意以下事实:
- 环境要求:需要安装 Node.js 版本 >= 22.13.0。
- 验证版本:当前插件在 DSH 版本
0.1.0-rc.5上经过验证。 - 安装方式:
- 通过 GitHub 直装时,需要锁定特定提交并允许
prepare构建脚本。 - 通过 npm 或 tarball 发布的版本,
lib/目录已预构建,无需构建权限。
- 通过 GitHub 直装时,需要锁定特定提交并允许
- 密钥管理:所有第三方 Provider 的密钥通过 DSH 的
ctx.credentials传递,不应出现在 patch 文件或配置文件中。 - 集成测试:
test:integration需要依赖本地的 DSH 源码环境。