DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

shixiaoyu-funny /

shixiaoyu-funny/DSH-DesktopPet

Verified

适配DeepSeek Harness的桌面小宠物,暂时只有一个版本动画......

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@c7e9e0aa

Raven 桌宠 · DSH Web 插件

把 Raven 桌宠作为页面内悬浮层显示在 DeepSeek Harness 的 Web 界面里。不包含 Tauri/exe,也不改动 DSH 本体;动作素材随插件分发。

安装

插件市场收录后可直接一键安装;也可以使用 GitHub Release 中的预构建包:

https://github.com/shixiaoyu-funny/DSH-DesktopPet/releases/latest

本地开发时:

plugin_manager install_bundle → 目标:本目录

安装后刷新页面,桌宠出现在右下角。

使用

  • 拖拽:按住角色拖动(页面内边界限制)。
  • 点击互动:点角色头部 → 撩头发;点腹部 → 捂嘴笑;正坐时点腿部 → 慌张(按当前姿态选版本,播放一次后回待机),每次随机弹出一句对应气泡。
  • 右键菜单:顶部剩余余额;大小分段(小 / 中 / 大);姿态分段(站 / 坐);换一个动作;开发者模式;重置位置。
  • 气泡:随 Agent 活动显示「工作中 / 查资料 / 搞定 / 出错了」。
  • 大小/位置等设置保存在浏览器 localStorage,刷新后保留;随机切换固定开启。

剩余余额

右键菜单底部显示当前 DeepSeek 账户的 CNY 余额,每 60 秒刷新,打开菜单时也会立即刷新:

  • > 20 元:绿色;
  • 8 ~ 20 元:黄色;
  • < 8 元:红色;
  • 未登录或账户服务不可用时显示「未登录 / 不可用」。

余额由宿主半区通过 deepseekAccount.getBalance() 读取,不经过浏览器凭据。菜单底部的「AI 活动流 · 已连接 / 未连接」只表示桌宠与宿主活动推送(SSE)的连接状态,与余额无关;余额走独立 HTTP 查询,即使活动流断开也能显示。

动作比例(定稿值)

动作的 scale 与坐姿 offset 来自 assets/manifest.json,以 1024 基准画布 为准:

  • scale 是「相对 1024 容器满铺的比例」,1 = 铺满;
  • offset 是 1024 画布内的 CSS 垂直偏移,只有坐姿/慌张有(12.8),站姿/过渡为 0。

客户端为每一层 <video> 单独应用 width = 1024 × scale、translate(-50%, calc(-50% + offset)),再把整个 1024 画布缩放到页面档位(512 / 384 / 288 CSS px)。这样切换动作时角色大小、坐姿接地位置与桌面版一致,不会忽大忽小。

groundRatio / charHeightRatio / 桌面三档 768/512/384 是桌面窗口物理坐标体系,网页端不需要窗口吸附,因此只沿用动作的比例关系。

开发者模式

右键桌宠 →「开发者模式」打开面板:

  • 列出全部动作(站姿 / 坐姿 / 过渡 / 慌张);点选即循环预览,手机、书籍、工作、搜索这些平时触发不到的动作也能直接看;
  • 「缩放」「偏移」滑杆实时应用到当前预览动作,数值存在 localStorage 的 role2pet.dev.v1,刷新后保留;
  • 「复位」恢复该动作在 manifest.json 里的原值;「复制覆盖值」得到当前所有覆盖的 JSON;
  • 开发者模式打开期间会暂停空闲随机和 AI 抢动作,关闭后回到待机。

调好后把覆盖值 JSON 回填到 assets/manifest.json(或发给我),就会成为所有页面/设备共用的定稿值。

空闲与点击

  • 空闲只使用三个基础待机:stand_idle(站姿)、sit_idle(正坐)、sit_lean(侧坐单手撑),每 60 秒随机切换,跨姿态时播放过渡动画;
  • 其他动作(鲜花 / 手机 / 书籍 / 擦汗 / 撩头发 / 生气 / 捂嘴笑,含侧坐四套)不参与空闲随机,只在 AI 映射或点击互动时出现;
  • 点击头部 / 腹部,以及「搞定 / 出错」,都会按当前姿态选择对应版本:站姿用 stand_*、正坐用 sit_*、侧坐用 sit_side_*;
  • 正坐姿态下点击腿部会播放一次慌张(sit_panic),结束后回到正坐待机;其他姿态点腿部不触发;
  • 头部 / 腹部 / 腿部各有一组 8 条随机短句(舒服 / 想笑 / 害羞讨厌),交互时弹出约 4.5 秒;
  • 侧坐四套按 scale = 1、offset = 0 展示;侧坐「擦汗」目前只在开发者模式里可预览,尚未绑定自动触发场景。

AI 联动

宿主半区监听 session/event 与 agent/assistant-stream,但只处理当前主视图会话:页面从会话目录的 retainedBy.mainView 标记取出当前会话 id,切换时上报给宿主;其他工作区/会话的 AI 活动不会驱动桌宠。

状态 触发 动作
工作中 当前会话回合开始、思考、普通工具调用 stand_phone(玩手机)
查资料 当前会话的 web_search / web_fetch 等搜索类工具 stand_book(看书)
搞定 当前会话回合正常结束 站姿 → 随机正坐 / 侧坐过渡 → 对应坐姿撩头发一次 → 对应坐姿待机
出错 当前会话失败 / 异常结束 生气(按当前姿态选站 / 正坐 / 侧坐版本,播放一次后回待机)
待机 其他时间 三个基础待机(站 / 正坐 / 侧坐)每 60 秒随机切换
  • 回合正常结束:先回到站姿,然后随机正坐或侧坐,播放站→坐过渡、对应坐姿撩头发一次,最后停在对应坐姿待机;
  • 失败:显示「出错了…」并回待机;
  • 随机切换固定开启,只在空闲时生效:AI 正在响应(working)或开发者面板打开时会自动暂停,不会把工作动作切走;
  • 桌宠始终响应当前会话的 AI 活动,没有单独的开关。

结构

文件 作用
index.js 宿主半区:/role2-pet/assets/* 视频路由(Range/206)、会话活动投影、SSE 推送
client.js 客户端半区:shell.overlay 悬浮桌宠、动作状态机、比例/偏移、拖拽/菜单/气泡
cordis.patch.yml 插入插件行
assets/ 动作视频、manifest.json 与市场图标(随包分发)
locale/ 插件列表里的标题/描述
icon.svg 插件图标

素材

assets/ 随 npm 包与 GitHub 仓库一起分发,宿主半区直接从包内读取;不需要再与桌面版的 src/assets 同步。

说明

  • 视频路由仅允许本机回环访问。
  • 客户端声明为 immediately: false:即使客户端模块出错,也只影响桌宠本身,不会阻塞 DSH 的 Web boot。
  • 更换动作素材后,更新 assets/manifest.json 的 scale/offset 即可,无需改客户端代码。
—/ 5

No ratings yet

Verified DSH bundle

Commit c7e9e0aa2d20

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout