dsh-better-tool-ui:DeepSeek Harness 工具調用與 Thinking 渲染插件

前言

DeepSeek Harness(DSH)默認的工具調用卡片展示較爲通用,面對複雜的工具鏈(如 MCP 調用、子 Agent 執行、流式參數生成)時,信息密度低且視覺割裂。本插件旨在將這些輸出統一渲染爲緊湊的時間線,左側貫通色軌,右側提供類似 GitHub PR 的代碼變更視圖,提升調試與交互體驗。

插件簡介

dsh-better-tool-ui 是一個客戶端插件,由 GeekRicardo 維護。它接管了 DSH 內置工具、MCP 工具以及子調用的渲染邏輯,將原本分散的卡片聚合爲緊湊的時間線視圖。插件支持 28 種內置工具,兼容 MCP 協議,並優化了流式輸出與舊版 DSH 的體驗。

核心功能

  1. 內置工具渲染
    接管 tool.call.toolview 槽位,覆蓋 28 個 key(包括 bash/pwsh、read、write/edit、grep/glob、web_search/web_fetch、todo_write、job_output、subagent/send_message、skill、workflow、ask_user_question 等)。
    渲染風格採用 GitHub PR 風格的代碼變更視圖和緊湊時間線:
    - bash/pwsh:深色終端塊,展示命令全文與退出碼。
    - read:行號代碼塊。
    - write/edit:文件名頭 + 徽標 + diff 視圖(紅綠底色)。
    - job_output:終端塊 + 彩色狀態條。
    - ask_user_question:分頁問題面板,選項按 DSH composer 同款標註。

  2. MCP 工具支持
    支持 MCP 工具行的渲染,包括自動註冊、參數/結果分段展示和錯誤處理。
    - 參數展示爲 key/value 網格,結果按內容分流(JSON 輕着色,圖片/音頻/資源佔位爲 chip)。
    - 調用失敗時展示統一的紅色錯誤塊。

  3. 子調用處理
    針對 subagent/workflow 內部的工具,支持名稱歸一化(如 Task -> subagent)和補位認領。
    - 不會重複渲染樹結構,僅通過樣式縮進對齊。
    - 適配驅動側名字(如 claude-in-dsh 驅動時的 Bash / Read),確保渲染一致性。

  4. 特殊工具與樣式
    - Goal 系列:create_goal、get_goal、update_goal 渲染爲 callout 色塊。
    - Thinking 行爲:渲染爲紫色軌(#8c93f8)。
    - 間距與交互:連續工具行/step 之間 2px 等距貼合;Bash 展開自動停留至少 2 秒,避免亞秒級命令閃爍。

  5. 流式預覽
    支持流式工具行預覽,兼容舊版 DSH 的 conversation.input.dock。在參數流式生成期間,消息流中會顯示“生成中…”行,正式卡片落地後自動讓位。

安裝與啓用

使用官方安裝腳本安裝:

curl -fsSL https://raw.githubusercontent.com/GeekRicardo/dsh-better-tool-ui/main/install.sh | bash

安裝完成後,需重啓 DSH Web 並硬刷新(Cmd/Ctrl+Shift+R)才能生效。

開發與維護

修改代碼後,在插件目錄執行以下命令更新:

cd ~/.dsh/profiles/web && pnpm up dsh-better-tool-ui

注意事項

  • 版本變更:早期版本名爲 dsh-hebbian-rows,v2 起更名爲 dsh-better-tool-ui。
  • 兼容性:兼容舊版 DSH(0.1.0-rc.5 及更早),流式行從 conversation.input.dock 出場;新版 DSH 使用 conversation.chat.streamingCall。
  • 環境要求:需 Node >= 20。
  • 能力範圍:僅 web 端,無 host 能力。
  • 主題適配:顏色使用 DSH 主題 token(--dsw-alias-*),支持明暗主題自動跟隨。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜