前言¶
DeepSeek Harness 的设计理念是“一切皆插件”,允许开发者通过插件扩展 Web GUI 的功能。在界面中增加一个可视化的 Live2D 看板娘,能够直观地展示 Agent 的当前工作状态。lrplrplrp/dsh-live2d 插件在 DSH Web 界面中渲染 Live2D 模型,支持鼠标交互操作,并完全由 DSH 的真实工作状态驱动动画。
安装与启用¶
安装前必须完全退出 DSH(关闭 DSH Host)。
- 执行安装命令:
dsh plugin --profile web add link:/path/to/dsh-live2d
- 启动 DSH Web:
dsh web
- 启动后,看板娘会自动出现在页面左下角,并以内置的 DeepSeek 模型与动画映射运行。
功能说明¶
鼠标交互¶
- 拖拽移动:拖动看板娘右下角的 ✥ 图标,位置会自动保存。
- 滚轮缩放:鼠标悬停在拖拽图标上滚动滚轮,可实时缩放模型大小,缩放比例会自动保存。
- 画布调整:鼠标悬停在画布区域时,右下角会出现蓝色边角手柄,拖动可调整画布尺寸。
眼睛跟随¶
模型视线默认跟随全局鼠标光标移动。如果不需要此效果,可在 DSH 设置页的 Live2D 配置中关闭。
状态驱动动画¶
插件内置了基于 DSH 状态的动画映射。当 Agent 状态变化时,Live2D 模型会自动切换对应的动作或表情。
IDLE:空闲待机,播放 Idle 组动作。THINKING:Agent 开始思考,播放 Anima 组 thinking 动作。THINK_END:思考结束,播放 Anima 组 thinkend 动作。WORKING:工具调用中,播放 Anima 组 speak 动作。SPEAKING:开始输出对话,播放 Anima 组 speak 动作。SUCCESS:任务完成,切换到 happy 表情。ERROR:任务出错,切换到 unhappy 表情。
模型管理¶
- 内置模型:安装后直接使用内置的 DeepSeek Live2D 模型。
- 自动扫描:将包含
.model3.json的模型文件夹放入插件的assets/目录下,插件会自动识别并刷新模型列表。
配置与设置¶
插件的配置保存在浏览器的 localStorage(key: dsh-live2d.v1),也支持在 DSH 设置面板的“Live2D 看板娘”页面中进行可视化编辑。
在设置页中,可以为每个模型配置:
* motion:动作映射,格式为 { "group": "组名", "index": 0 },留空则随机播放。
* expression:表情名称。
技术实现¶
插件依赖 @deepseek-ai/cordis 作为 peer dependency。
在源码开发层面,Host 端只读取 lib/client.js 并原样投递给浏览器。客户端代码按功能拆分在 lib/src/ 目录下,由构建脚本拼接生成 lib/client.js。因此,若需修改源码,必须运行 npm run build 重新构建。
适用场景¶
适合需要在 DeepSeek Harness Web GUI 中增加视觉反馈、展示 Agent 工作流程或单纯作为界面装饰的开发者。
参考资料¶
- GitHub 仓库:https://github.com/lrplrplrp/dsh-live2d
- 社区目录:https://www.skillhub.cn/plugins/lrplrplrp/dsh-live2d