dsh-live2d-pets

10Star1Fork0Issue0Watching

给 DSH Web GUI 加一只 Live2D 桌宠:镜像 agent 思考/空闲/出错/完成状态,支持分部位触摸、鼠标跟随与多套人设台词。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
分支
main
cubismdeepseek-harnessdesktop-petdshdsh-pluginlive2dmascotplugin

安装

$ dsh plugin --profile web add dsh-live2d-pets

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 cyanfish-x/dsh-live2d-pets:先查看仓库 https://github.com/cyanfish-x/dsh-live2d-pets.git 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

给 DeepSeek Harness Web GUI 加一只 Live2D 桌宠,实时镜像 agent 思考/空闲/出错/完成状态并支持摸头摸腿的互动陪伴,让"等 agent 跑完"的这段时间不再干瞪眼。

核心能力

  • 状态镜像:agent 思考/空闲/出错/完成/等审批时,宠物自动切换动画与气泡(思考与等审批为长状态气泡,按时间阶段推进文案)
  • 分部位触摸互动:摸头/摸腿/摸手/摸身体各有专属台词与动作;模型命中区不足时按包围盒五矩形空间回退
  • 鼠标跟随:宠物头、眼、身体随鼠标平滑看向,鼠标移出页面复位;拖动与动作期间暂停跟随
  • 自由拖动:抓住宠物在任意位置拖拽松手即停靠,位置持久化
  • 内置人设体系:六种二次元性格(傲娇/元气/天然呆/三无/温柔治愈/病娇)覆盖全部台词,支持 JSONC 文件自定义人设(含注释版女仆彩蛋)
  • 自定义模型:可填任意 .model3.json 的 HTTP(S) URL 或本机绝对路径,插件宿主通过同源路由加载,无需把模型文件打进 npm 包

技术实现

  • 语言: TypeScript(Node.js 宿主 + React 18 浏览器半区)
  • 关键依赖: @deepseek-ai/schemastery(配置 schema)、@deepseek-ai/cordis(插件纤维)、@deepseek-ai/dsh-settings(配置 namespace)、@deepseek-ai/dsh-host-webserver(同源 HTTP 路由)
  • 架构模式: 宿主半区订阅 agent 事件 + 注册 settings namespace + 注册同源路由;客户端半区通过 SSE 接收状态推送(/api/live2d-pet/events),渲染走 shell.overlay Popover 顶层(pixi-live2d-display 0.4.0 + PixiJS 6.5.10 + Cubism Core 4)
  • 入口文件: src/index.ts(Host 入口,注册 services 与 routes)、src/client/index.ts(浏览器入口,挂载 Layer + 设置页)

适用场景

DSH 重度用户跑长任务时,希望在角落里看到一只小角色实时反映"还在想 / 跑完了",顺手点两下摸头摸腿;以及想用二次元角色给 DSH 视频/直播/教程加点"看板娘"味的潜在用户。License 商用安全:默认模型 Hiyori 是 Live2D 官方示例模型,免费商用可。

前置依赖与兼容性

依赖最低版本说明
Node.js^22.19.0
@deepseek-ai/cordis^4.0.1插件纤维,见 package.json#peerDependencies
@deepseek-ai/dsh-client-runtime^0.1.0-rc.6客户端运行时
@deepseek-ai/dsh-host-webserver^0.1.0-rc.6Host 同源 HTTP 路由
@deepseek-ai/dsh-client-ui-slots^0.1.0-rc.6用于挂载 shell.overlaysettings.section
@deepseek-ai/dsh-settings^0.1.0-rc.6settings namespace 注册
平台macOS / Windows / Linuxhost 端 Node 跨平台;浏览器端看宿主正在运行的 Web GUI
原生模块纯 Node fs + 浏览器 WebGL

安装方式

dsh plugin --profile web add dsh-live2d-pets

配置项

配置类型说明默认值
enabled布尔宠物总开关,关闭后完全不渲染(零开销)true
size数字宠物尺寸(像素,滑杆 40–400)160
maxFps数字渲染帧率上限,三档自绘单选30
model字符串选中模型:内置 id 或自定义模型 id(也直接兼容 URL)hiyori
persona字符串选中人设:内置(傲娇/元气/天然呆/三无/温柔治愈/病娇)或自定义人设 idtsundere
developerMode布尔开发者选项总开关,开启后显示调试面板入口与点击分区色块false
debug布尔调试面板:实时状态/动画/FPS/演示状态切换false
showTapZones布尔在模型上叠加空间回退色块(与 click 分档共用同一阈值)false

常见问题

Q: 首次启动看不到宠物怎么办?

A: 默认模型 Hiyori 从 jsDelivr CDN 拉取,需要联网;若加载失败宠物会显示静态头像占位,可去「桌宠配置」切换到内置 Haru/Mao/Mark/Natori 或换自定义模型。

Q: 怎么自定义人设台词?

A: 打开设置 → 桌宠配置 → 人设区点「自定义人设 ↗」编辑 $DSH_HOME/live2d-pet/personas.jsonc,保存后回设置页点「↻ 重新读取」即时生效,无需重启。文件首次启动会自动落下模板(含注释版女仆彩蛋)。

Q: 怎么加自己的 Live2D 模型?

A: 设置 → 桌宠配置 → 我的模型:填名称 + .model3.json 的 HTTP(S) URL,或填写本机绝对路径(如 C:/models/foo/foo.model3.json),插件宿主会通过同源虚拟路由 /pet-local-models/<id>/... 加载。

Q: 宠物会拖慢页面吗?

A: 标签页隐藏或窗口失焦时自动暂停渲染;渲染帧率默认 30fps,可在设置面板改为 60 或不限制;WebGL 不可用或加载失败时降级为静态头像,不影响其它 GUI 功能。

Q: 拖动后位置会保存吗?

A: 会的。拖动宠物到任意位置松手后停靠位置会持久化到 $DSH_HOME/live2d-pet.json,下次启动还在原位置。

Q: 只支持 Web GUI 吗?

A: 是的。该插件的 dsh.client.platform=web + inject=slots 限制它只在 DSH Web GUI 中工作;不适用于 headless/CLI 形态。

Q: 怎么卸载?

A: 终端执行 dsh plugin --profile web remove dsh-live2d-pets;卸载后 $DSH_HOME/live2d-pet/ 下的个性化文件与 $DSH_HOME/live2d-pet.json 可手动清理。

Q: 第三方模型在本插件的许可风险如何?

A: 插件默认 Hiyori 是 Live2D 官方示例模型,免费商用可、需标注著作权;自定义模型由用户自备,请遵守模型作者许可,非商用模型会被标注为"仅限非商用"。

上手难度

入门 — 安装即在右下角出现默认宠物,鼠标悬停即看跟随;想深挖点击分区、动画映射、JSONC 人设文件编辑时再翻 docs/,普通用户零配置即可用。

已知问题与限制

  • 仅支持 Web GUI(dsh.client.platform=webinject=slots),headless/CLI 不可用
  • v0.1 不含音效(资源与许可成本,v0.2 再议,见 docs/spec/live2d-pet-v01.md:78)
  • v0.1 明确不做:人设混合/随机切换、设置页内文案编辑器、文件监听热重载(自定义人设改完需点「↻ 重新读取」)、可配置停靠角(固定右下角)、重置位置按钮、隐藏快捷键
  • 自定义模型加载失败时降级为静态头像 + 错误气泡,GUI 其它功能不受影响
  • 默认模型 Hiyori 首次加载依赖网络(jsDelivr CDN),离线环境请准备本地模型或预置自定义模型
  • 自定义模型仅存名称 + URL,旧版 Cordis.patch.yml 里的 customModels 字段已弃用,改用 $DSH_HOME/live2d-pet/custom-models.jsonc;旧字段在首次启动时一次性迁移到新文件后清空
  • 自定义人设文件由插件首次启动时落地模板后只读不写——注释会保留;用户直接编辑后点「↻ 重新读取」或刷新页面即可生效

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/cyanfish-x/dsh-live2d-pets)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录