DeepSeek Harness Canvas-Pro 插件介紹

DSH(DeepSeek Harness)的理念是「一切皆插件」。在模型推理過程中,Agent 需要生成 HTML、Mermaid 圖表或 React 組件時,現有的開源方案往往側重於全量重寫或實時預覽,缺乏對單點修改、版本回溯和持久化存儲的完善支持。dsh-plugin-canvas-pro 提供了一個 Web drawer 和八種模型工具,填補了這些空白。

插件簡介

這是 DeepSeek Harness 的 Canvas-Pro artifact drawer。它支持 HTML/Markdown/Mermaid/SVG/React artifacts,提供創建、修補、版本控制及導出功能。插件由 lokih1028 維護,類別爲模型推理,採用 MIT 許可證。

安裝

執行以下命令安裝插件:

dsh plugin --profile web add github:lokih1028/dsh-plugin-canvas-pro

安裝完成後,刷新 GUI,Web 會話頭部會出現 Canvas 按鈕。

核心功能

Web Drawer 與 Artifact 類型

插件在 Web 會話頭部提供 Canvas 按鈕,打開 Drawer 後預覽 artifacts。支持的類型包括 HTML、Markdown、Mermaid、SVG 和 React artifacts。

八個模型工具

插件爲 Agent 提供了以下工具:

工具名 功能
create_canvas_artifact 創建 artifact
update_canvas_artifact 修補內容(支持通過選擇、行範圍或全量覆蓋)
get_canvas_selection 讀取最新預覽選擇的內容
get_canvas_artifact 讀取當前 artifact 內容
list_canvas_versions 列出版本快照
revert_canvas_artifact 恢復之前的快照爲新版本
diff_canvas_artifact 比較不同版本(支持 unified 或 split diff)
export_canvas_artifact 導出爲 markdown、html、svg、png 或 json

文本選擇與交互

在預覽中選擇文本會觸發 Explain / Refactor / Fix 操作,並將操作提交到當前聊天窗口。Agent 也可以通過 get_canvas_selection 讀取選區內容。

存儲位置

Artifacts 持久化存儲在 $DSH_HOME/storages/canvas-pro/artifacts.json 中(前提是 $DSH_HOME 已設置)。

典型用法

  1. 創建:Agent 使用 create_canvas_artifact 工具初始化一個 artifact。
  2. 修補:Agent 使用 update_canvas_artifact 工具對特定部分進行修改,而非重寫全文。
  3. 版本管理:Agent 可以使用 list_canvas_versions 查看歷史,使用 diff_canvas_artifact 對比差異,使用 revert_canvas_artifact 恢復舊版本。
  4. 交互:在預覽文本中選中內容,選擇 Explain 或 Refactor,內容會進入聊天輸入框。
  5. 導出:Agent 使用 export_canvas_artifact 工具將 artifact 導出爲 markdown、html、svg、png 或 json。

侷限性與注意

  • React 與 Mermaid 渲染:React artifacts 在預覽沙盒中顯示源碼,而非執行後的 React 樹;Mermaid artifacts 默認顯示源碼,除非轉換爲 HTML。
  • 導出回退:PNG 導出嘗試瀏覽器光柵化,失敗時會回退到 SVG。
  • 行號來源:選擇操作對應的行號來自渲染後的預覽,而非源碼行號。當兩者不一致時,優先使用 replace_selection 而非 replace_range。
  • 環境依賴:持久化功能依賴於 $DSH_HOME 環境變量的設置。

總結

dsh-plugin-canvas-pro 在 DSH artifact 工作流中提供了 Patch(修補)和 Versioning(版本控制)的核心能力。它將導出功能內置爲模型工具,並將文本選擇作爲 Agent 的一等輸入,適合需要在 Agent 端直接操作 UI 文檔和代碼片段的場景。

羽毛球分组比赛记分
小程序二维码

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

小夜