DSH(DeepSeek Harness)是插件化的開發平臺。在構建包含視覺輸出的 Agent 工作流時,Markdown 文本會丟失視覺信息,導致用戶難以區分變體,且反饋過程容易丟失語義。dsh-showme-html 插件解決了這一問題,它允許 Agent 將工作區中的 HTML 頁面渲染爲對話卡片,並將用戶在頁面上的表態以結構化文本回傳給 Agent。
核心能力¶
該插件包含以下核心功能:
- 工具
show_html:Agent 調用此工具展示 HTML 頁面,參數爲path(路徑)、title(標題)、note(備註)。頁面正文以文件形式存在,便於迭代和留檔。 - 鏡像讀路由:提供
GET /api/showme/raw/<sessionId>/<工作區相對路徑>接口。頁面內的相對引用(如<img>、樣式文件)可正常工作,同一地址即爲“在瀏覽器打開原文件”。 - 對話內卡片:展示標題、路徑、刷新、全屏、在瀏覽器打開等操作。非可見的歷史卡片不會持有活躍的 iframe。
- 畫面內全屏:通過框架級浮層實現,按 Esc 鍵退出,滾動位置不丟失。
- 反饋兩條路:頁面通過
postMessage將表態內容一鍵填入對話輸入框,或通過POST /api/showme/feedback追加到反饋文件。 - 四套預設樣式:包含
soft(柔和現代)、swiss(瑞士國際主義)、brutal(新野獸派)、blueprint(藍圖/工程圖)。 - 回執體檢:展示前掃描頁面,檢查是否存在可點名的 ID、
postMessage回傳配置以及相對資源引用。 - skill
showme-report:教 Agent 如何編寫頁面,包括樣式引入、回執契約和交換格式。
安裝¶
通過命令行安裝插件:
dsh plugin --profile web add "github:liceses/dsh-showme-html"
安裝後需重啓 dsh web 服務以生效。
典型用法¶
1. 編寫 HTML¶
在 Agent 生成的內容中引入預設樣式:
<link rel="stylesheet" href="presets/swiss.css">
2. 調用工具¶
Agent 調用 show_html 工具:
show_html({
path: ".dsh/showme/review.html",
title: "設計評審",
note: "挑一個變體"
})
3. 查看與反饋¶
頁面會作爲卡片出現在對話中。用戶可在頁面上進行表態,點擊“填入輸入框”即可將文本追加到對話輸入框。
說明¶
- 無常駐服務:不新增獨立服務,依賴宿主的 DSH web server。
- 目錄位置:頁面默認落在
.dsh/showme/隱藏目錄,不污染源碼樹。 - 樣式與模板:預設樣式非強制,若需評審特定系統的視覺,應使用官方調色板。模板文件在首次
show_html時創建(create-only)。 - 文件命名:頁面文件名必須與數據文件名同名(如
mypage.html和mypage.data.js)。 - 離線可用:預設樣式自包含,無外鏈字體和 CDN,斷網可用。
生態¶
該插件遵循 MIT 許可證,由 liceses 維護。DSH 理念是“一切皆插件”,社區目錄提供插件索引。更多細節可查看: