Live2DPet-Enhanced: 给桌宠装个会看屏幕的脑子
Live2DPet-Enhanced 是个基于 Electron 的 AI 桌宠。常驻桌面的 Live2D 角色不只是卖萌,它会定时截屏加检测活动窗口,把画面丢给带 Vision 的大模型(OpenAI 兼容,接 OpenRouter 那种都行),模型读懂你在干嘛,再用气泡主动搭话。角色透明无边框置顶,眼睛跟着鼠标转。截图只在内存里走一趟发 API,不落盘——桌面上敏感东西多,能不存就不存,这条一开始就定死。仓库 github.com/dwgx/Live2DPet-Enhanced。
关键帧视觉记忆是省钱的关键。每张截图都塞进上下文,token 和钱都顶不住,所以先采样,再让 VLM 自己挑几张有代表性的留下。
语音走 VOICEVOX 本地日语 TTS,koffi 走 FFI 直接调 VOICEVOX Core 的 dll,回复先翻成日语再念。怕它崩,写了三档降级:TTS 能用就用,不行退默认音声,再不行静音,对话不被语音卡死。
没模型也能玩,热导入 .model3.json 自动映射参数、表情、动作,或者拿个图片文件夹当角色,标好待机/说话/表情,AI 情绪触发就切。人设走 JSON 模板,{{petName}} 这类变量替换。API 密钥落地前 AES-256-GCM 加密。
踩过一个坑:源码跑别用 npx electron .,会跟 ELECTRON_RUN_AS_NODE 打架,老实用 node launch.js。
早期还做过一整套智能增强管线,自动搜索、知识整理、活动记忆、VLM 情景提取,想让它更聪明,但太重太烧钱、收益又不明显,v2.0 整个停用,骨架留着。视觉模型真花钱,检测间隔别调太密。