前言¶
在 DSH 裏和助手對話時,一條回答裏往往混着代碼塊、表格、公式和內聯圖片。要留檔或分享,常見做法是整頁截屏或手動複製 Markdown——前者分辨率與排版不可控,後者很難還原頁面裏已經渲染好的樣式。
DeepSeek Harness 採用「一切皆插件」的擴展方式;社區插件目錄(如 SkillHub)由社區維護,與 DeepSeek / 幻方無官方從屬關係。下面介紹客戶端插件 dsh-message-export(維護者 v-hiker):在對話界面裏針對某一條助手回答導出 PNG、PDF 或 HTML,儘量保留代碼高亮、表格、公式與內聯圖片等已渲染效果。
這是什麼¶
dsh-message-export 是 DSH 的客戶端(Web)插件,當前版本 0.0.1,許可證 MIT。它在助手回答動作行上增加「導出」入口,把選定的那一輪迴復(可選是否帶上你的提問)輸出爲圖片、PDF 或單文件 HTML,而不是對可見區域做簡單截屏。
核心功能¶
點助手回答動作行上的「導出」按鈕後,菜單項與含義如下(以項目 README 爲準):
| 菜單項 | 說明 |
|---|---|
| 下載 PNG | 只含這一條回答 |
| 下載 PNG(含提問) | 回答 + 你發的那句話 |
| 複製爲圖片 | PNG 直接寫入剪貼板 |
| 下載 PDF | A4 分頁 + 頁邊距,圖片質量輸出 |
| 下載 HTML | 單文件 HTML,瀏覽器打開後 Ctrl+P 可存成矢量 PDF(文字可選中) |
| 診斷信息 | 抓不到內容 / 高度異常時,把診斷 JSON 存下來排查 |
實現上,導出會把回覆重新排版到離屏舞臺再柵格化,而不是直接截屏。簡要流程:
- 用框架自帶的
data-chat-*屬性定位到那一輪迴答; - 把回答的行克隆進離屏 stage;
- 把所有被摺疊 / 滾動截斷的容器展開,使內容完整可見;
- 嵌入文檔裏所有樣式表(含主題變量),保證離屏渲染與頁面一致;
- 通過 SVG
foreignObject柵格化到 canvas,再落成 PNG。
與輸出相關的參數:四周留白 28px;瀏覽器允許的最大畫布邊 16000px——超高的回答會優先降低 DPR,而不是切圖。若抓取高度小於 60px,會被判定爲異常,並自動另存診斷文件(dme-diag-*.json / *.html)。
安裝與啓用¶
安裝命令須按倉庫 README 執行,不要憑插件名拼接 dsh plugin add github:owner/repo。
從源碼目錄安裝:
dsh plugin --profile desktop add file:<插件目錄>/dsh-message-export
或先打包再安裝:
cd <插件目錄>/dsh-message-export
npm pack --pack-destination ../dist
dsh plugin --profile desktop add "<插件目錄>/dist/dsh-message-export-0.0.1.tgz"
裝完後重啓 DSH(或等待宿主推送 client bundle 重建)。插件在 package.json 中聲明爲 Web 客戶端注入,依賴 @deepseek-ai/dsh-client-ui-conversation,並通過 cordis.patch.yml 掛載 client bundle。
典型用法¶
- 在 DSH 桌面配置(
--profile desktop)中按上文命令安裝並重啓。 - 打開任意對話,定位到需要留檔的助手回答。
- 在該回答動作行點擊「導出」,按需求選擇 PNG(是否含提問)、複製爲圖片、PDF 或 HTML。
- 若 PNG/PDF 缺圖或高度異常,可先使用「診斷信息」保存 JSON,或改用「下載 HTML」在瀏覽器中打開後再打印爲 PDF。
適用場景與注意¶
適合:需要把單條回答以接近界面樣式歸檔、發文檔或做內部分享的 DSH 用戶;希望 PDF 分頁或 HTML 可選中文字再轉矢量 PDF 的場景。
邊界與限制(README 已說明):
- 依賴瀏覽器對 SVG
foreignObject柵格化的支持(Chromium / Firefox 正常)。 - 跨域圖片若未開啓 CORS,柵格化時 canvas 可能被判爲「污染」,導出會缺圖——此時可用「下載 HTML」保底。
- 超長回答(高度超過 16000 CSS px)會按比例降低 DPR,像素數受瀏覽器畫布上限限制。
安全提示:插件以當前 DSH 進程權限在客戶端運行,安裝前請自行查看 GitHub 源碼 與 MIT 許可證,確認符合你的環境策略。
結尾¶
dsh-message-export 把「單條助手回答」從對話裏抽出來,用離屏排版 + 柵格化的方式導出 PNG、PDF 或 HTML,儘量保留代碼高亮、表格、公式與內聯圖片。需要安裝步驟與菜單說明時,以倉庫 README 爲準。
- 社區目錄頁:https://www.skillhub.cn/plugins/v-hiker/dsh-message-export
- 源碼與文檔:https://github.com/v-hiker/dsh-message-export