前言¶
在 DSH Web 界面里,输入框右下角的发送 / 停止生成按钮一直是默认箭头图标。对长期在 Harness 里调试 Agent、发消息的开发者来说,这块区域视觉上是固定的,和 DeepSeek 品牌元素也没有关联。若你只想在不改业务逻辑的前提下,给主按钮换一套官方鲸鱼标识并在 Agent 运行时加一点动效,dsh-whale-icon 就是针对这一个控件的 Client 端换装插件。
下面介绍插件做什么、如何安装,以及实现上动了哪些地方。
这是什么¶
dsh-whale-icon(仓库 feiniao1933/dsh-whale-icon)由维护者 feiniao1933 发布,在社区目录中归类为「趣味换装」。它只替换会话输入框里主发送 / 停止按钮的图形与样式:默认箭头改为取自 Harness primitives 的 FISH_LOGO_PATH 官方鲸鱼路径,并使用主题的 DeepSeek 蓝;Agent 运行或消息发送过程中,鲸鱼会游动,并带声呐光晕与按钮外发光,本轮结束后恢复静止。
模型选择器、权限、Plan 及其他输入框控件保持宿主默认样式,不涉及模型选择或后端逻辑。
核心功能¶
依据项目 README,插件在 Web 客户端上提供以下能力(均已在本节资料中核实):
- 图标与配色:主按钮 glyph 换为 DeepSeek 官方鲸鱼标识,颜色跟随主题的 DeepSeek 蓝。
- 按钮质感:纵向蓝色渐变、顶部高光、多层投影、内高光与内阴影,悬停时鲸鱼轻摆、按钮上浮,按下时压缩并出现内凹阴影。
- 运行态动效:会话处于运行或发送中时,鲸鱼游动,带柔和声呐光晕与按钮发光;深色模式使用单独的渐变、阴影与更亮的蓝色鲸鱼。
- 无障碍:尊重系统
prefers-reduced-motion,在要求减弱动态时停止游动动画。 - 作用范围:仅
conversation.composer.bar内的主按钮;其余 composer 控件不改。
当前 package.json 版本为 1.2.0,engines.dsh 要求 >=0.2.2-rc.1;README 写明在 DSH 0.2.2-rc.1、macOS 上开发与验证,且需要 Web 客户端(dsh web 或桌面 Web 界面)并已安装会话 UI。
安装与启用¶
插件无独立安装脚本,除宿主 Web 客户端外无额外依赖。安装前请自行查阅仓库源码与 MIT 许可证;插件以当前 DSH 进程的权限在浏览器端执行 Client 注入,不发起网络请求、不保存数据,但仍建议在信任来源的前提下安装。
先做 profile 确认:下面命令里的 web 需换成你实际使用的 DSH profile 名称。
从公开 Git 仓库安装:
dsh plugin --profile web add github:feiniao1933/dsh-whale-icon
若希望安装可复现,可固定到某一提交(将 <commit> 换为具体 hash):
dsh plugin --profile web add git+https://github.com/feiniao1933/dsh-whale-icon.git#<commit>
经过上面的步骤,Client 会通过 cordis.patch.yml 注入到 @deepseek-ai/dsh-client-ui-conversation,dsh.client.immediately 为 true,无需再单独写配置文件项。重启或刷新 Web 客户端后,在会话输入框主按钮上即可看到蓝鲸样式。
典型用法¶
本插件不提供 CLI 子命令或额外配置字段,典型用法就是安装到 Web profile 后正常使用 DSH 会话:发送消息、在 Agent 运行中点击停止,观察按钮在静止、悬停、按下、发送与运行几种状态下的外观与动画。
验证步骤可简化为:
- 启动带 Web UI 的 DSH(
dsh web或桌面 Web 界面)。 - 打开任意会话,查看输入框右下角主按钮是否为蓝色鲸鱼而非默认箭头。
- 发送一条会触发 Agent 运行的消息,确认运行期间鲸鱼游动与光晕;回合结束后恢复静止。
实现方式(便于排查)¶
README 说明发送按钮由 ui-conversation 在 conversation.composer.bar 插槽内渲染,没有单独图标插槽。Client 端大致三步:
- 通过稳定的
data-slot锚点与_primary类定位主按钮,将图形替换为官方鲸鱼路径。 - 在
conversation.composer.dock注册不可见小组件,用useSessionStatus读取当前会话运行状态并同步到文档。 - 由 CSS 根据该状态驱动静止、悬停、按下、发送与运行等外观。
全部为浏览器端本地逻辑:无 HTTP 路由、无网络请求、不改模型选择。鲸鱼路径来自 DeepSeek Harness 品牌 primitives;DeepSeek 名称与鲸鱼标识归 DeepSeek 所有。
适用场景与注意¶
适合谁:使用 DSH Web 界面、希望在不动业务插件的前提下给发送 / 停止按钮做品牌向趣味换装的开发者。
不适合或需注意:
- 仅面向 Web Client(
dsh.client.platform为web),非 Web 会话界面不会生效。 - 宿主 DSH 版本需满足
>=0.2.2-rc.1,与 README 中的测试版本不一致时,样式或锚点可能因上游 UI 变更而失效,需对照仓库 Issue 或自行适配。 - 社区目录 skillhub.cn 上的条目 与 GitHub 一样属于社区收录,并非 DeepSeek / 幻方官方应用商店;安装命令与行为以仓库 README 为准。
结尾¶
dsh-whale-icon 把改动范围收敛到输入框主按钮:官方蓝鲸图标、立体按钮样式,以及在 Agent 运行时的游动反馈,其余 composer 控件保持默认。若需要查阅元信息或提 Issue,可使用目录页 https://www.skillhub.cn/plugins/feiniao1933/dsh-whale-icon 与源码仓库 https://github.com/feiniao1933/dsh-whale-icon 。