Back to home@falser101

dsh-mascot

Draggable animated floating companion plugin for DeepSeek Harness (dsh web)

Stars
1
Language
TypeScript
Created
Aug 16, 2026
Updated
Aug 17, 2026
GitHub repo

Introduction

@falser101/mascot

中文 | English

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 github:falser101/dsh-mascot

发布到 npm 之后也可以:

dsh plugin --profile web add @falser101/mascot

重启 dsh --profile web,打开页面就能在右下角看到它。设置里会出现独立的「悬浮伙伴」页。

本机开发、对着源码试,把仓库链进 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