前言¶
在 DSH 裏做智能體任務時,模型輸出經常是 Markdown:計劃、報告、對比表、遷移說明。這些內容留在會話裏可以,但如果要轉發、存檔或離線打開,就需要一個完整頁面。dsh-md-html-render 提供這種能力:把 Markdown 渲染成 standalone、self-contained 的 HTML。
DSH 生態強調「一切皆插件」;社區目錄是獨立站點,並不是官方應用商店。下面介紹這個插件的定位、安裝、用法和注意點。
這是什麼¶
dsh-md-html-render 是一個 DeepSeek Harness(DSH)插件,由 LeslieWylie 維護,許可證爲 MIT。
它有兩個入口:
- 模型可調用的
md_html_render工具,可在 headless profile 中使用。 - Web GUI 的 MD drawer,可在 Web 會話中瀏覽、渲染、編輯和導出 Markdown。
兩者使用同一渲染器。輸出是 standalone HTML,內嵌樣式,不加載外部 stylesheet、font、script 或 image。
GitHub 倉庫地址爲 https://github.com/LeslieWylie/dsh-md-preview 。v0.3.0 起,包名從 dsh-md-preview 改爲 dsh-md-html-render;GitHub 倉庫路徑仍爲 dsh-md-preview。README 說明它目前未上 npm,安裝來源是 GitHub。
核心功能¶
模型調用¶
工具簽名爲:
md_html_render(markdown, title?, save_path?) -> { html, savedPath?, error? }
參數說明:
| 參數 | 必需 | 說明 |
|---|---|---|
markdown |
是 | Markdown 源 |
title |
否 | 頁面標題 |
save_path |
否 | 輸出文件路徑,通過 session fs service 解析,並遵守 sandbox 策略 |
如果 save_path 被 sandbox 拒絕,工具仍會返回 HTML,同時返回 error。
Web GUI drawer¶
在 Web GUI 中,先點擊 session header 的 MD,再瀏覽 working directory。點擊 .md 文件後,可以就地渲染、編輯或導出,並跟隨 harness 主題顯示。
Drawer 的 readFile 只接受 .md、.markdown、.mdx 或 .txt。
渲染與安全¶
這個插件的邊界比較明確:
- 無 runtime dependencies。
- 所有讀和寫都通過 harness
fsservice 和 sandbox。 - 文檔文本會經過 HTML 轉義,不安全鏈接目標會被摺疊,不允許 raw HTML execution。
fsservice 是唯一硬依賴;缺少它時插件記錄警告並保持 inert。- 可以在 headless、Web GUI 或兩者中運行。
運行環境要求 Node ^22.19.0 || >=24.0.0。
安裝與啓用¶
先確認當前 Node 版本滿足要求。
在 profile 的 package.json 中添加依賴:
// ~/.dsh/profiles/<profile>/package.json
{
"dependencies": {
"dsh-md-html-render": "github:LeslieWylie/dsh-md-preview#v0.3.0"
}
}
然後安裝並啓動:
cd ~/.dsh/profiles/<profile> && pnpm install
dsh --profile <profile>
經過上面的步驟,headless profile 可獲得 md_html_render;Web GUI profile 還能獲得 MD drawer。
如果不想編輯 profile,也可以按 README 的方式做臨時加載:
dsh --profile web --patch <(printf -- "- insert:\n - id: md-preview\n name: dsh-md-html-render\n")
典型用法¶
讓模型生成 HTML¶
可以用類似下面的提示:
Render this migration plan to
~/Desktop/plan.html
模型調用 md_html_render 後,會返回 html;如果成功寫入 save_path,會帶有 savedPath;如果寫入被拒,會帶有 error。
在 Web GUI 查看本地 Markdown¶
啓動一個帶 Web GUI 的 profile,然後在 session header 點擊 MD。找到目標 Markdown 文件後點擊渲染,再根據需要進行編輯或導出。導出的頁面與 md_html_render 使用同一渲染器。
適用場景與注意¶
適合以下情況:
- headless DSH profile 需要把 Markdown 變成完整 HTML。
- Web GUI 中需要就地查看、編輯和導出 Markdown。
- 希望輸出頁不依賴外部資源,並且插件無 runtime dependencies。
- 需要所有文件操作都走 harness fs service 和 sandbox。
安裝前需要注意:
- 插件以當前 dsh 進程權限運行;雖然讀寫通過 harness fs service 和 sandbox,仍建議先檢查源碼。
- 許可證爲 MIT,可按許可證要求使用。
fsservice 缺失時插件不會加載能力,只會記錄警告並保持 inert。- 不要把 npm 上的
dsh-md-preview當作本插件;本插件包名是dsh-md-html-render。
驗證¶
從源碼驗證時運行:
npm test
這會執行四套測試。Harness 相關包作爲普通 devDependencies 用於測試;如果測試日誌出現 SKIPPED,應把這次運行視爲未驗證。
資源¶
- GitHub:https://github.com/LeslieWylie/dsh-md-preview
- 許可證:MIT
- 已覈實資料未提供目錄頁 URL;如需在社區目錄中查找,可按插件名
dsh-md-html-render檢索。