前言¶
DeepSeek Harness (DSH) 的 Web profile 在展示工具调用卡片时使用 SVG 图标作为前导标识。dsh-tool-emoji 插件通过注入样式,将这些 SVG 图标替换为 Emoji,同时保留卡片的所有原始内容(标题、摘要、终端输出等),不改变 DSH 的原有逻辑。
插件介绍¶
该插件由 LWLAymh 维护,采用 MIT 许可证。它不注册 tool.call.toolview,而是仅注入一个全局样式表,通过 CSS 隐藏内置 SVG 图标并在同一位置渲染 Emoji。
核心功能¶
- 图标替换:根据工具类型将前导图标替换为 Emoji。
- 内容保留:不移除或替换原始卡片内容。
- 错误状态:在工具出错时,前导图标显示 😫。
- 自定义配置:支持在 DSH 设置页面自定义 Emoji 或上传图片(PNG/JPEG/GIF/WebP/BMP)作为图标。
- 兼容性:支持
dsh-edit-guardian兼容性。
安装与启用¶
- 运行安装命令:
dsh plugin --profile web add git+https://github.com/LWLAymh/dsh-tool-emoji.git
- 重启 Web profile 以使更改生效:
dsh --profile web
插件不支持热重载,必须在安装后重启进程。
典型用法¶
- 在 DSH 设置页面打开 Tool emoji 面板。
- 使用独立开关控制特定工具的图标显示,或使用主开关控制插件整体启用/禁用。
- 在自定义输入框中输入任意 Emoji 或文本。
- 上传本地图片作为图标(注意:图片仅存储在
localStorage中,单张最大 1MB,不支持 SVG)。 - 使用 Reset 按钮可重置为默认 Emoji。
适用场景与注意¶
- 适用范围:仅适用于 Web profile。TUI 和 headless profile 没有图标 UI 表面,无法显示该插件效果。
- 依赖关系:插件依赖官方 DOM 结构(如
data-tool、data-variant属性)。若未来 DSH 版本更改这些结构,CSS 选择器可能失效。 - 兼容性细节:若使用
dsh-edit-guardian,需确保使用暴露data-tool属性的构建版本,否则 Emoji 不会应用到edit或pwsh等行。
结尾¶
dsh-tool-emoji 提供了一种轻量级的视觉定制方式,适合希望在不修改代码的情况下调整 DSH 工具卡片展示的开发者。