dsh-luxun-desktop-pet
文件与数据 活跃维护

dsh-luxun-desktop-pet

WangRunWei/dsh-luxun-desktop-pet

轻量级桌面互动插件,以鲁迅为主题打造动态桌宠形象,可跟随AI任务执行状态自动切换对应动作,任务完成时播报语音反馈,支持全屏拖拽、点击互动、一键静音,操作流畅无卡顿。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
30.5 MB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:WangRunWei/dsh-luxun-desktop-pet
git clone https://github.com/WangRunWei/dsh-luxun-desktop-pet.git
git clone git@github.com:WangRunWei/dsh-luxun-desktop-pet.git
README.md master

DSH 鲁迅先生桌宠(全局插件)

DSH Web client plugin:在 Web 界面右下角显示鲁迅先生 GIF 桌宠。四种状态各配一张专属
GIF,外加点击彩蛋交互,素材均来自用户提供的 C:\Users\26294\Desktop\sc\(原样复制,未重新设计):

状态 素材文件(assets/) 来源
待机中 idle.gif 待机中.gif
正在工作 working.gif 正在工作.gif
任务完成 done.gif + done.mp3 任务完成.gif + 任务完成音频.mp3
点击彩蛋 egg.gif + egg.mp3 鲁迅卡通形象.gif + 鲁迅卡通形象音频.mp3

行为

  • 待机中(无活动会话):idle.gif,气泡灰色「待机中」
  • Agent 运行中:working.gif,气泡蓝色「正在工作」
  • 等待用户审批或问题回答:沿用 idle.gif,气泡琥珀色「等你决定」
  • 任务完成(运行中 → 结束且非等待):done.gif + 播放 done.mp3,气泡绿色「任务完成」;
    完成动图固定展示 30 秒(音频播完即止、不提前退出)——30 秒内用户提问或新任务
    开始则立即打断,30 秒无干扰后自动回到待机
  • 点击桌宠(未拖动):触发彩蛋 egg.gif + 播放 egg.mp3,气泡粉色「彩蛋!」;
    彩蛋中再点可重新触发;彩蛋展示时长 = GIF 完整一轮 + 2 秒余量(客户端解析帧
    延迟总和,等 GIF 解码完成才开始计时,当前素材一轮约 10 秒、展示约 12 秒;音频只
    叠加播放、不驱动退出,不会中途截断;解析/解码失败时 12 秒兜底),期间 Agent
    状态变化会随时打断特效
  • 静音按钮:气泡右侧小圆钮 🔊/🔇,与气泡垂直居中对齐(独立可点击,气泡本身不拦截
    鼠标);点击切换,静音时不播任何音频(完成展示 30 秒照常、彩蛋展示 GIF 完整一轮
    无声演出),状态存 localStorage,刷新后保持;静音瞬间会掐掉正在播的音频
  • 按住拖动可移动桌宠位置(Pointer Events,鼠标/触摸通用,拖出界会自动钳制在视口内;
    位移超过 4px 判定为拖拽,不会误触发彩蛋)
  • 桌宠以命令式 DOM 直接挂到 document.body(z-index: 2147483000,不依赖
    react-dom/Portal),不受界面面板/弹层遮挡与容器裁剪,fixed 定位相对整个视口,
    可全屏拖拽
  • 状态以聊天气泡样式显示:渐变毛玻璃底 + 状态色光晕 + emoji 图标 + 水滴尾巴,
    不对称圆角(右下收口);状态切换 Q 弹入场;工作中带「正在输入」跳动圆点,
    完成/彩蛋带弹跳点缀;五种展示色(灰/蓝/琥珀/绿/粉)

素材由 host 半通过 /dsh-luxun-pet/asset/{idle.gif,working.gif,done.gif,egg.gif,done.mp3,egg.mp3}
提供,带与 /api 一致的回环/可信域信任检查;状态来自 DSH 官方 sessions.list 快照,
不修改 DSH 核心。

全局安装(web profile)

插件目录固定在 C:\Users\26294\.dsh\plugins\dsh-luxun-desktop-pet,与任何项目无关。

cd $env:USERPROFILE\.dsh\profiles\web
pnpm install

前提是 package.json 中已登记:

"dependencies": {
  "dsh-luxun-desktop-pet": "file:C:/Users/26294/.dsh/plugins/dsh-luxun-desktop-pet"
}

且 dsh.profile.bundles 列表包含 dsh-luxun-desktop-pet。

修改插件文件后:host 半变更需重启 dsh web;client 半变更硬刷新浏览器即可。

GitHub:https://github.com/WangRunWei/dsh-luxun-desktop-pet