dwgx@blog:~$dwgx
> cd ../posts

魔改 Live2DPet:桌面挂个会看屏幕的桌宠

// created

Live2DPet 是个 Electron 桌宠 桌面常驻一个角色 定时截屏加读活动窗口看你在干嘛 再让大模型生成对话跟你聊。能点能拖能缩放 也能语音输入语音回复。这份是我 fork 自 x380kkm/Live2DPet 接着魔改的分支 挑它是因为踩中我几个长期在折腾的点 Live2D 桌宠 本地语音 把大模型塞进桌面 顺手拿 VOICEVOX 这套日语 TTS 练手。

它最大的特点是把本地能力串成一条链 Whisper 做 STT VOICEVOX Core 做日语合成 再加一套本地持久化记忆 整条链路不靠云也能跑。角色可以是 Live2D 模型 也可以是图片文件夹 运行时自动切。

原版上我主要动了几处 记忆落本地文件 重启不丢 按相关性找回上下文;Live2D 自适应窗口自动居中;本地 Whisper 从 tiny 到 large 多档 自动连续识别;还有多语言文案加清一批重复代码。有条如实标 v2.0 那套“智能增强文本管线”暂停了 骨架留着 性价比不高 硬撑不如先停。

技术栈是 Live2D Cubism SDK 加 PixiJS 加 pixi-live2d-display 窗口透明无边框置顶 眼睛跟鼠标。语音合成走 VOICEVOX Core 用 koffi 这个 Node FFI 直接调本地 dll DirectML 上 GPU 这块最费劲 VVM 路径和 ONNX Runtime 目录一错就起不来。模型支持热导入 选含 .model3.json 的目录自动扫 不用手写配置。

提醒一句 它默认按间隔截屏发给你配的 API 分析 截图不落盘但过了第三方接口 屏幕有敏感信息先关窗口 视觉模型也要花钱 间隔别调太密。想跑就去 Releases 拿 Live2DPet.exe 双击 或源码 npm install 然后 node launch.js 别用 npx electron . 会撞 ELECTRON_RUN_AS_NODE。原项目 MIT 底子是 @x380kkm 的 我这份接着折腾。