Tisitan/dsh-live2d-companion
dsh-live2d-companion
dsh-live2d-companion is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:Tisitan/dsh-live2d-companionRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-live2d-companion)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Tisitan/dsh-live2d-companion, cleaned of badges and images.
Live2D 监控面板・看板娘桌宠(dsh-live2d-companion)
DeepSeek Harness(下称 DSH)的 Live2D 状态监控面板:把你喜欢的 Live2D 角色接进 DSH Web GUI,实时反映 AI 的工作状态——思考时歪头、工作时兴奋、等你确认时招手、闲着没事会打瞌睡,还能陪你下五子棋和国际象棋。不绑定任何特定角色:任何 Cubism 4/5 模型丢进 model/ 目录即可上岗(详见模型接入与绑定层)。
双形态:网页右下角挂件 / Windows 桌面桌宠(Electron 透明置顶窗口),同一份前端内核驱动。
另提供 standalone/ 独立运行入口:不启动 DSH 也能使用同一套桌宠渲染、模型面板、游戏中心和 Codex/OpenCode 状态联动(含 OpenCode 对局解说)。独立版仍不包含模型、Cubism Core、Electron 二进制或第三方角色 Prompt,详细许可边界与安装步骤见 standalone/README.md。
特性
- 🎭 AI 状态同步:订阅 DSH 会话事件流,8 态状态机(空闲/思考/工作/等待确认/报错/完成/睡眠/离线)+ 左上角状态灯(小灯+文字常显);多任务并行时每会话一枚独立任务灯(任务1·工作 / 任务2·待确认…),聚合主灯 + 分工小灯一目了然;任务完成后 6 秒转闲置、闲置 5 分钟自动收灯回收编号,会话复活自动重新上牌
- 🖱️ 丰富交互:点击反应、双击卖萌、点击摸头害羞(划过不误触)、拖拽搬家、睡着点一下叫醒、缩放(挂件滚轮 / 桌宠 Ctrl+滚轮,拖拽期间自动锁定)、全局视线跟随(OS 层轮询光标,整屏追踪不限窗口)
- 💬 气泡台词:15 个台词池 70+ 条,状态轮播、时段问候、加班焦虑、深夜关怀
- ⚙️ 全配置化:台词/节奏/行为阈值都在
quips.json(官方默认);台词支持多预设可视化编辑(「词」按钮:另存为多份人设台词集、一键切换、池级恢复默认,保存即生效) - 🐾 桌面桌宠:透明无边框置顶、鼠标穿透(不挡操作)、位置记忆、随 DSH 启停(心跳看门狗)、面板内一键重启 / 双击确认退出
- 🧩 多模型:任何 Cubism 4/5 模型丢进
model/目录即可接入;语义槽位 + 自动嗅探 + profile.json 绑定层,情绪表现零配置自适应 - 🖼️ 模型面板:挂件旁静置自动隐藏的齿轮入口,扫描/切换/导入/预览模型,选择持久化,恢复默认无需改配置
- 🔌 零侵入:对 DSH 本体零修改,纯用户级 cordis patch 层挂载,DSH 升级免疫
- ♟️ 游戏中心:五子棋 / 国际象棋开箱即玩,本地引擎裁决 + 本地 AI 执子 + LLM 人格化解说,还有让模型亲自执子的「阿尔法狗」难度——详见游戏中心一节
- 🫧 气泡优先级仲裁:0=状态轮播 1=对局解说/思考 2=物理互动/任务完成/报错——低级不抢高级,完成事件必达,对局闲聊压不住正事
架构
dsh 宿主进程
└─ cordis patch 层(cordis.patch.yml insert 行)
└─ index.js(宿主插件)
├─ prefix 路由 /live2d/* → 静态资源(前端/模型/vendor)
├─ SSE /live2d/state-stream → session/event 白名单转发 + 聚合状态兜底
├─ exact /live2d/state|config → 状态快照 / 模型配置
├─ exact /live2d/models → 扫描 model/ 下全部模型(GET)
├─ exact /live2d/model → 切换/恢复/删除模型并持久化(POST)
├─ exact /live2d/mode → 显示模式切换:改写 cordis.patch.yml 本插件 config,热重载生效(POST)
├─ exact /live2d/import → 上传模型文件(POST)
├─ exact /live2d/profile → 绑定档案写/删(POST,白名单清洗)
├─ exact /live2d/quips → 台词预设存/切/删(POST,写 quips-presets/)
├─ exact /live2d/quips-config → 预设清单与生效指针(GET)
├─ exact /live2d/game/list → 游戏目录(GET,游戏中心 chips 数据源)
├─ exact /live2d/game/models → 模型目录(GET,llm.listModels 网关发现 + settings 兜底)
├─ exact /live2d/game/presets → agent 预设清单(GET,喂对局面板下拉)
├─ exact /live2d/game/state → 对局快照:注册表描述符 snapshot + busy/模式/难度/解说(GET)
├─ exact /live2d/game/new → 开新局:本地引擎+本地 AI 执子;在线加建人格化解说 agent(零工具)(POST)
├─ exact /live2d/game/move → 玩家走子→本地 AI 应手(阿尔法狗档=LLM 标签协议执子,非法重试/超时兜底本地 hard)→在线 LLM 解说(25s 超时 cancel+本地台词兜底)→响应同帧带 aiMove+解说(POST)
├─ tapIndex 注入 <script> → 网页挂件(widget: false 可关)
└─ spawn Electron 桌宠 → 随宿主启停(pet: false 可关);重挂载收养旧进程不闪断,退出延迟处死+宿主 exit 兜底防孤儿
…


