前言¶
在 dsh web 里处理长任务时,消息流会不断滚动,但有时只想快速确认当前会话处在哪个阶段:排队、等待确认、思考、调工具、写答案,还是出错。falser101/dsh-mascot 是 DeepSeek Harness(DSH)Web 的一个插件:一只可拖动的卡通猫或狗,停在界面上,跟随当前会话状态切换表情和文案。它是纯前端投影,不发送会话事件。
这是什么¶
falser101/dsh-mascot 由 falser101 维护,许可证为 MIT。它解决的是 dsh web 里的轻量状态提示问题:用一只悬浮宠物显示会话阶段,提供并行任务跳转入口,并保留换形象、隐藏、打开设置等常用操作。
GitHub:
https://github.com/falser101/dsh-mascot
核心功能¶
会话状态¶
宠物会跟随当前会话状态切换表情和文案,覆盖排队、等待确认、思考、调工具、写答案、完成、出错、打招呼等状态。它只做界面投影,不向会话中发送事件。
拖动与收起¶
宠物支持拖拽移动,松手后停在放置位置;窗口缩小时会被夹回屏幕内。当焦点在对话输入框且宠物闲置时,它会收成小头像;发送后再展开。
状态气泡¶
状态气泡显示陪伴文案。工具名默认关闭,可在悬停或设置中打开。闲置时可按安静、标准、热闹三种频率自动冒泡。悬停时,它会换成更软的话。
AI 小剧场¶
AI 小剧场默认关闭。打开后会调用当前默认模型偶尔写俏皮话;没有 key 或失败时退回内置句子。高推理模型开着会比较亏,所以默认不用。
并行任务提示¶
多个会话或子代理并行运行时,右上角会显示数字。悬停可查看忙碌对象,点击可跳转。
形象与交互¶
点击宠物会说话,双击收成小头像,悬停可打开换一只、去当前任务、隐藏、打开设置等按钮。设置中有“显示悬浮宠物”总开关,也可右键选择隐藏。文案跟随界面语言(中/英)切换;系统开启减弱动态时,动画会停。
安装与启用¶
先确认本机已经能运行:
dsh --profile web
README 要求 @deepseek-ai/dsh-client-* 版本不低于 0.1.0-rc.5。package.json 声明的 peerDependencies 包括 @deepseek-ai/cordis >=4.0.0、react >=18.2.0,以及多个 @deepseek-ai/dsh-client-* 包 >=0.1.0-rc.5。
安装到 web profile:
dsh plugin --profile web add @falser101/mascot
然后重启 Web 进程并打开页面:
dsh --profile web
安装完成后,宠物会出现在右下角,设置里会出现独立的“悬浮伙伴”页。
如果没有 npm 环境,也可以按 GitHub 仓库安装:
dsh plugin --profile web add github:falser101/dsh-mascot
如果要对本机源码调试,把仓库链进 profile:
dsh plugin --profile web add /path/to/dsh-mascot
仓库中 lib/ 随仓库提交,git/npm 安装都不需要再构建。
卸载:
dsh plugin --profile web remove @falser101/mascot
典型用法¶
1、切换形象
进入设置 → 悬浮伙伴,点选目标形象。选择会记在本地。
2、查看工具名
工具名默认关闭。可在悬停时打开,或在设置里打开。
3、使用并行提示
当多个会话或子代理同时运行时,查看宠物右上角的数字,悬停确认忙碌对象,再点击跳转。
4、开发构建
仓库提供以下命令:
pnpm build
pnpm watch
pnpm test
5、更换立绘
覆盖 docs/<品种>/ 里的同名 jpg,然后运行:
node scripts/build-art-assets.mjs
再重新构建。
适用场景与注意¶
适合已经在 DSH Web 中使用、希望用轻量动画判断会话阶段、需要并行任务跳转入口,或愿意自定义宠物形象的开发者。
注意:
- 该插件是纯前端投影,不发送会话事件。
- AI 小剧场默认关闭;打开后会调用当前默认模型,没有 key 或失败时退回内置句子。
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。 - 文案跟随界面语言切换,系统开启减弱动态时动画会停。
- 许可证为 MIT。
结尾¶
falser101/dsh-mascot 的价值在于把 DSH Web 的会话状态映射成一只可拖动、可收起、可交互的悬浮伙伴。它不替代任务面板,但能让排队、思考、工具调用、写答案、完成、出错这些状态更直观,也便于在并行会话之间快速跳转。
目录页:
@falser101/mascot
GitHub:
https://github.com/falser101/dsh-mascot