LWLAymh/dsh-tool-emoji

LWLAymh/dsh-tool-emoji

把工具卡片前面的图标换成 emoji,同时保留原卡片全部内容。

UI 增强dsh-plugins

dsh-tool-emoji

English

一个 DeepSeek Harness Web 插件:把工具卡片前面的简单图标换成 emoji,同时保留原工具卡片的全部内容。

当前映射

工具Emoji
think(推理行)🤔
read / web_fetch / grep / glob / web_search🧐
pwsh👨‍💻
edit / write / str_replace_editor☝️🤓
以上任一卡片出错(error 状态)😫

效果图

聊天中的工具 emoji 图标 自定义上传图片作为工具图标 工具 emoji 设置面板,可自定义 emoji 和上传图片

安装

# 本地 checkout
dsh plugin --profile web add file:./dsh-tool-emoji

# 或 GitHub
dsh plugin --profile web add git+https://github.com/LWLAymh/dsh-tool-emoji.git

然后重启 Web profile:

dsh --profile web

插件不会热更新到已运行的 Web 进程。

卸载:

dsh plugin --profile web remove dsh-tool-emoji

实现原理

  • 本插件不注册 tool.call.toolview,因此不会接管原始工具卡片。
  • 只注入一层全局 CSS:
    • 隐藏内置 SVG 图标;
    • 在同一个 leading cell 上用 ::before 显示 emoji;
    • 工具卡片的标题、摘要、diff、终端输出、折叠/展开等原有行为全部保留。
  • 错误状态仍会保留原卡片,只把 leading 的红色错误点换成 😫。

设置 / 自定义

在 DSH 设置页打开 Tool emoji,可以不改代码地自定义每个图标:

  • 每个工具图标可单独启用/取消。
  • 顶部有总开关,可一键关闭整个插件。
  • 输入框里可填写任意自定义 emoji/文字。
  • 可上传本地图片作为工具图标(仅支持 PNG/JPEG/GIF/WebP/BMP,保存在 localStorage,单张限 1MB,不接受 SVG)。
  • 可移除已上传图片,回退到文字 emoji。
  • 支持单个恢复默认和全部恢复默认。

设置会立即生效,刷新后仍然保留。

与 dsh-edit-guardian 兼容

如果你同时安装了 dsh-edit-guardian,它会对 edit / str_replace_editor / pwsh 使用自定义工具行(.dshg_row),而不是官方 DisclosureRow。

为了让 emoji 也覆盖这些自定义行,需要:

  1. 使用带 data-tool 属性的 dsh-edit-guardian(本地开发版已支持);
  2. 按你安装 dsh-edit-guardian 的方式重新安装它,并重新安装本插件;
  3. 重启 Web。

如果 dsh-edit-guardian 没有向 .dshg_row 暴露 data-tool,edit / pwsh 的 emoji 不会生效。

自定义

修改 lib/client.js 里的 CSS 即可增删工具和 emoji。

例如给 bash 也加一个:

[data-variant="bash"] > span:first-child > span:first-child svg:not([data-state]) { display:none; }
[data-variant="bash"] > span:first-child::before { content:"💻"; font-size:14px; line-height:18px; }

注意

  • 选择器基于官方源码中的稳定 data attribute:
    • data-tool="edit" / data-tool="str_replace_editor" / data-tool="pwsh"
    • data-variant="think" / data-variant="search" / data-variant="read"
    • [data-disclosure-row] > span:first-child
  • 如果后续 DSH 更新改变了这些 DOM 结构,CSS 选择器可能需要同步调整。
  • 该插件是 Web profile 专用;TUI/headless 没有 leading icon UI surface。

License

MIT