可拖拽的猫狗悬浮伴侣,表情随当前会话变化,在 Companion 设置页里换皮肤。
安装
# npm 包(预构建)
dsh plugin --profile web add @falser101/mascot
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:falser101/dsh-mascot
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README

DeepSeek Harness(dsh web)的悬浮伙伴:一只可拖动的卡通猫或狗,停在界面上陪你干活。它跟着当前会话的状态换表情、说短句,也支持拖拽、点击、双击收起。设置页有独立的「悬浮伙伴」分区,用缩略图切换形象。
https://github.com/user-attachments/assets/3e2c4737-ffda-43fd-96af-e79537123468
形象
设置 → 悬浮伙伴,点选即可切换。选择会记在本地。
猫咪
| 橘猫 | 布偶 | 缅因 | 金渐层 | 银渐层 |
|---|---|---|---|---|
狗狗
| 奶黄 | 泰迪 | 边牧 | 柯基 | 柴犬 |
|---|---|---|---|---|
表情
同一只、同一姿势,只换脸上的表情。以橘猫为例:
| 正常 | 干活 | 写答案 | 开心 | 思考 | 难过 |
|---|---|---|---|---|---|
闲置时会眨眼;思考、干活、写答案、完成、出错时整只一起动。
功能
- 跟着会话走:排队、等你确认、思考、调工具、写答案、完成、出错,各有表情和文案。纯前端投影,不发会话事件。
- 拖来拖去:松手停在你放的位置;窗口缩小才会夹回屏幕里。
- 输入时变小:焦点在对话输入框、它又闲着时,收成小头像贴着原来那只角,发完再展开,少挡字。
- 状态气泡:忙碌时说陪伴的话(「还在忙,别急~」),工具名默认关掉,悬停或设置里可打开。闲置时可按安静 / 标准 / 热闹自动冒泡。第一次出现会说一句「拖我,悬停有按钮」,出一次就够。
- AI 小剧场(默认关):打开后会打当前默认模型偶尔写一句俏皮话,没 key 或失败时退回内置句子。高推理模型开着会比较亏,所以默认不用。
- 悬停安慰:鼠标放上去会换成更软的话,比如「别着急,我在努力想~」。
- 并行感知:好几个会话或子代理同时跑时,右上角出数字;悬停能看到谁在忙,点一下跳过去。
- 显示 / 隐藏:设置 → 通用,或设置 → 悬浮伙伴,有「显示悬浮宠物」总开关。关掉后整只从界面消失;右键「隐藏」同样生效。
- 宠物上的入口:点一下说句俏皮话(猫会「喵」、狗会「汪」,不会串台);双击收成小头像;悬停出一排小按钮:换一只、去当前任务、隐藏、打开设置(右键会钉住这排按钮)。贴着底边时按钮开到头顶,贴左边就往右开,避免顶出窗口。
- 干活 / 写答案是两张脸:调工具眯眼吐舌尖,写答案张小口;不再只靠晃动区分。
- 等得越久动作越大:等模型时先打哈欠,再伸懒腰;空闲时仍会偶尔动一下。频率跟「安静 / 标准 / 热闹」走。
- 文案跟界面语言走(中 / 英);系统开了减弱动态时,动画会停。
状态
| 状态 | 什么时候 | 它会怎样 |
|---|---|---|
| 空闲 | 没在跑 | 呼吸 + 眨眼,「我在呢,随时找我~」 |
| 排队 | 消息已发出、还没开工 | 雀跃,「收到!排队开工」 |
| 等待确认 | 审批或提问待你回应 | 歪头,「等你批准一下~」 |
| 思考 | 跑着、还没往外写 | 沉思,「让我想想…」 |
| 干活 | 正在调工具 | 忙碌摇晃,「还在忙,别急~」 |
| 写答案 | 流式输出中 | 「在写答案…」 |
| 完成 | 这一回合刚结束(约 4 秒) | 欢呼,「搞定啦!🎉」 |
| 出错 | 这一回合失败 | 发抖,「哎呀,出错了…」 |
| 打招呼 | 刚切到这个会话(约 4 秒) | 「你好呀!」 |
安装
需要已能运行 dsh --profile web 的 DeepSeek Harness(@deepseek-ai/dsh-client-* ≥ 0.1.0-rc.5)。
用官方命令装进 web profile:
dsh plugin --profile web add @falser101/mascot
重启 dsh --profile web,打开页面就能在右下角看到它。设置里会出现独立的「悬浮伙伴」页。没有 npm 时也可以 dsh plugin --profile web add github:falser101/dsh-mascot。
本机开发、对着源码试,把仓库链进 profile 即可:
dsh plugin --profile web add /path/to/dsh-mascot
卸掉:
dsh plugin --profile web remove @falser101/mascot
开发
pnpm build # 产出 lib/(宿主半区 + 浏览器 bundle)
pnpm watch # 改客户端时热重载
pnpm test
lib/ 随仓库提交,git / npm 安装都不需要再构建。
换立绘:覆盖 docs/<品种>/ 里的同名 jpg → node scripts/build-art-assets.mjs → 重新构建。提示词包见 docs/character-art-prompts.md。
License
MIT
链接
同类插件
PC2005-cloud/dsh-pet#dsh-pet★ 960
DSH Web UI 桌面宠物:25 个透明动画、屏幕漫游、点击反应与拖拽,附可复现的素材生成链。
Nagi-ovo/dsh-ads★ 643
2005 年中文站点风格的整活广告插件:侧栏广告/信息流/角落弹窗 + 假关闭叉,素材全虚构。
vlln/whale-girl★ 339
桌面宠物(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍。
a86582751/dsh-nexttavern★ 128
面向 DeepSeek Harness 的角色扮演工作台:人物卡可以导入(SillyTavern/TauriTavern),也可以从零交互式写出一张;长篇 TXT 能改编成可玩的角色卡,精读或粗颗粒度两种读法;主代理按剧情主动查阅世界书,正文在独立的酒馆阅读 TAB 中呈现;同一对话里探索多条世界线(重新生成、改后发送、显式分支);带作用域的文风预设(16 种自带文风)、角色 Agent 集群、独立决策卡,以及角色卡或小说导出;长篇由固定设定前缀、硬切上下文窗口、可追溯导演笔记与关键词/语义/混合检索撑住,嵌入可用在线服务,也可完全本地运行。面向 Harness 0.1.2-alpha.3,安装需按文档应用显式兼容补丁。
yyh-001/dsh-meme★ 120
聊天表情包:纯文本斗图、情绪主动发图、像 QQ/微信 一样发图、AI 自动学图、自定义表情包。
Sutera-Diffusus/dsh-whale-musume★ 106
元气鲸鱼娘桌宠:摸头养成、按工具类型联动的工作状态、494 条台词、30 项成就、成长日记、拖拽惯性、主题适配与无障碍模式。关键词感知与余额关心默认关闭、需手动开启;可选的天气心情只在你填了城市后才会请求 Open-Meteo。无遥测。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。