dsh-message-export:把單條助手回答導出爲 PNG、PDF 或 HTML

前言

在 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 存下來排查

實現上,導出會把回覆重新排版到離屏舞臺再柵格化,而不是直接截屏。簡要流程:

  1. 用框架自帶的 data-chat-* 屬性定位到那一輪迴答;
  2. 把回答的行克隆進離屏 stage;
  3. 把所有被摺疊 / 滾動截斷的容器展開,使內容完整可見;
  4. 嵌入文檔裏所有樣式表(含主題變量),保證離屏渲染與頁面一致;
  5. 通過 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。

典型用法

  1. 在 DSH 桌面配置(--profile desktop)中按上文命令安裝並重啓。
  2. 打開任意對話,定位到需要留檔的助手回答。
  3. 在該回答動作行點擊「導出」,按需求選擇 PNG(是否含提問)、複製爲圖片、PDF 或 HTML。
  4. 若 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
羽毛球分组比赛记分
小程序二维码

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

小夜