前言¶
DeepSeek Harness(DSH)的主界面以对话和工具链为主,长时间开着往往是一块静态网页。若希望在同一进程里加一个不占聊天区的「角落角色」——会眨眼、会呼吸、说话时嘴动、眼珠跟鼠标——通常要自己嵌 iframe 或写前端补丁。dsh-live2dwaifu 以插件形式把 Live2D(Cubism 3 / 4)接到 DSH 桌面 profile 的网页层:模型文件留在本机,不内置角色资源;装插件的人自己导入含 .model3.json 的文件夹即可。
下面介绍插件定位、能力与安装用法。事实以 GitHub 仓库 README 为准;社区目录页见 SkillHub。目录站与 DeepSeek / 幻方无官方从属关系,属于 DSH「一切皆插件」生态里的第三方条目。
这是什么¶
维护者 FujiwaraReisen,分类为趣味换装。当前 package 版本 2.3.0,许可证 MIT。
插件在 DSH 网页右下角浮一张可拖、可缩的竖卡片:展开时显示 Live2D 上半身、气泡和输入框;收起时只剩名字与展开按钮。角色支持眨眼(EyeBlink 参数组)、呼吸与物理头发(.physics3.json)、视线跟随鼠标、点击部位反应、说话时 ParamMouthOpenY 驱动口型;带 .motion3.json 时可间隔自动播动作,带 .exp3.json 的可叠表情,否则可用内置七种表情。
模型不是内置的:数据落在 ~/.dsh/dsh-live2d/,README 写明文件不往外网传。除展示外,卡片内还有独立对话线(不进 DSH 主聊天记录)、人设卡、语料、电子音、可选贴图与 HTTP / postMessage 接口,供其它插件或 IM 推送复用。
核心功能¶
Live2D 与卡片交互¶
- 格式:Cubism 3 / 4(
.model3.json+.moc3+ 贴图);不支持 Cubism 2(.model.json+.moc)。 - 卡片:按住标题栏拖动位置;左上角斜纹拖拽改大小(宽约 200–720,高约 220 至视口高减 80);背景可在透明 / 深色 / 浅色 / 纸质间切换;位置、大小、开合等记在本机 localStorage。
- 标题栏:⚙ 模型与开关抽屉;♪ 每只模型单独存音色;✎ 编辑人设;↻ 重载 iframe;⌄ / ⌃ 收起展开。
对话与记忆¶
- 卡片底输入框:回车发送,往来存在该模型目录下的
chat.json,与 DSH 主聊天隔离。 - 手机页:同局域网访问
http://<DSH 设置里显示的地址>/dsh-live2d/chat(端口随启动变化)。 - 外部推送:
POST /dsh-live2d/api/push或向 iframe 发dsh-live2d/say等 postMessage。
记忆分「最近二十来句原文」与「从对话提炼的长期事实」;约三十句后会压缩小结。回复经规则过滤套话、限制长度(约四十字),并可按人设推断当前时段处境。闲置时可定时主动说一句(本机与服务端各有间隔配置);⚙ 可关「没人理就自己开口」。
人设、语料与声音¶
人设写在 ~/.dsh/dsh-live2d/models/<id>/meta.json 的 persona,或通过 ✎ 在页内编辑;「世界隔离」默认开,角色不自称插件。语料存 corpus.json,支持粘贴、.txt / .json / .jsonl / .csv 或拖拽,多种「他:/ 你:」行格式;说话时会抽样例进提示词。
说话时为逐字短电音,♪ 可调预设与滑块;⚙ 可关「出声」。浏览器需用户先点击页面才允许播放音频。
与其它插件协作¶
同源页面可通过 iframe.dsh-l2d-body 的 postMessage 驱动说话、换 mood、打开管理抽屉。HTTP 提供模型列表、导入、选人、人设、设置、聊天、轮询等路径(README 列有 /dsh-live2d/api/models、/chat、/poll 等)。表情包为测试功能,四档滑轴可对接自带图或本机已装的 dsh-meme。
安装与启用¶
官方安装命令如下(desktop profile):
dsh plugin --profile desktop add dsh-live2dwaifu
重启 DSH 后,右下角应出现小卡片。也可在桌面端 设置 → 插件 中按名称搜索安装。
不要手动解压到 node_modules。DSH 只加载 profile package.json 里 dsh.profile.bundles 登记的包;手动拷贝会导致「装了但右下角没有」、/dsh-live2d/api/models 404。若已遇到,需把 dsh-live2dwaifu 补进 bundles 与 dependencies 后重启。
首次使用:点 ⚙ →「导入模型」→ 选择整个含 .model3.json 的文件夹(不要只选 json 上一层错目录)。
典型用法¶
导入并切换模型¶
- ⚙ →「导入模型」
- 选中含
.model3.json、.moc3、贴图的文件夹(建议含.physics3.json) - 列表里「用这个」切换,「删」移除
大模型(如 4K 贴图)导入慢属正常,进度在抽屉底部;中断可重导,同名覆盖。
卡片内私聊¶
在卡片输入框输入后回车即可。需 DSH 自身模型接口可用;若提示「模型接口不可用」,先在 DSH 设置里选可用模型。
让其它脚本让她说话¶
const frame = document.querySelector('iframe.dsh-l2d-body');
frame.contentWindow.postMessage({
type: 'dsh-live2d/say',
text: '窗台那盆番茄红了。',
mood: '开心',
}, '*');
HTTP 推送示例(端口替换为当前 DSH 端口):
curl -X POST http://127.0.0.1:<端口>/dsh-live2d/api/push \
-H 'content-type: application/json' \
-d '{"text":"锅里有汤。","mood":"平静","from":"im"}'
数据位置与重置¶
~/.dsh/dsh-live2d/
config.json
models/<id>/
meta.json
chat.json
…模型文件…
清空对她的记忆:删对应 chat.json。彻底重来:删整个 ~/.dsh/dsh-live2d/ 并重新导入模型。
适用场景与注意¶
适合:希望在 DSH 桌面网页长期开一个 Live2D 看板娘/助手角标;需要与主聊天隔离的轻量角色对话;希望用 HTTP 或 postMessage 把 IM、自动化脚本接到可见角色上。
注意:
- 插件随当前 DSH 进程运行,具备该进程权限;安装前请阅读源码与 MIT 许可证,确认信任维护者 FujiwaraReisen。
- 仅 Cubism 3 / 4;竖卡片可能裁切过宽或过扁的模型画布,可拖斜纹改卡片比例。
- 主动说话、轮询展示有几秒延迟(卡片约 2.5 秒拉一次
/dsh-live2d/api/poll);0–7 点不会主动开口。 - 表情包、自带 OC 贴纸 README 标明为测试/效果一般,可按需在 ⚙ 关断。
常见问题(无卡片、bundles 未登记、半脸、不眨眼、手机连不上等)见仓库 README「常见问题」一节。
结尾¶
dsh-live2dwaifu 把 Live2D 展示、私聊记忆、人设语料和对外 API 收进一个右下角浮层,模型自备、数据在本机。若你要在 DSH 里加一个会呼吸的角落而不是改主聊天 UI,可按上文命令安装并导入 .model3.json 目录。