前言¶
在 DeepSeek Harness(DSH)裏做長回答時,常見做法是模型直接輸出 Markdown,或靠 shell、heredoc 去調外部渲染腳本。後者在 Windows 上容易被 PowerShell 語法絆住,頁面也常常落到用戶主目錄,再在系統瀏覽器裏打開,和 DSH 右側 Document Preview 割裂。
dsh-answer-pages 由社區維護者 ShanHaiFish 發佈,歸類爲客戶端插件。它把 Answer me with HTML 的渲染思路搬進 DSH:模型只寫 Markdown 草稿,插件在本地生成一頁離線 HTML,並在應用內 Document Preview 打開。Web 端與桌面端共用同一份插件。該項目與上游無隸屬關係,按 MIT 許可內置其渲染器,上游版本固定爲 v0.5.11。
這是什麼¶
插件提供三類能力:原生工具 answer_me_with_html、適配 DSH 的 skill、以及會話裏的工具卡。渲染結果默認寫在當前會話工作區的 .dsh/answer-pages/,不會寫到 ~/.answer-me-with-html;工具固定 --no-open,不拉起系統瀏覽器。
當前 package.json 版本爲 0.2.0,許可證 MIT。GitHub 星標爲 0(以目錄頁爲準)。
核心功能¶
下面幾項均來自倉庫 README,與 cordis.patch.yml 中的行爲一致。
原生工具,不綁 shell。 工具名 answer_me_with_html,不再依賴 bash/pwsh 和 heredoc。
Node 運行時由宿主解析。 桌面端優先 ELECTRON_RUN_AS_NODE,Web 端用宿主 Node,再回退 PATH 上的 node;不要求用戶自行安裝 Node(由 DSH/Electron 環境提供)。
工作區內落盤 + 應用內預覽。 默認輸出目錄爲 <會話工作區>/.dsh/answer-pages/;工具卡展示標題、狀態、STE/代碼警告與錯誤,「打開頁面」指向右側 Document Preview。
可離線安裝。 支持用本地目錄絕對路徑安裝,無需聯網、無需 pnpm 構建。
可選 always-on。 在 profile 配置裏設 alwaysOn: true 後,可通過系統提示要求每個結論附帶一頁小頁面。
與 dsh-genui 分工。 短小可交互 UI(表格、表單、圖表等)適合 dsh-genui 的 dsh-ui 圍欄;長篇說明、圖多、需打印或離線單文件歸檔、希望在 Document Preview 閱讀的場景,用本插件。同一回答不宜同時產出頁面與內聯組件;分工規則已內置在 skill(v0.1.1+)。
已知限制:僅支持 HTML 頁面渲染;am video / am serve / am export 不在範圍內。頁面內腳本是否執行取決於 DSH 的 Coding Tools 設置;關閉時仍可靜態閱讀。尚無圖形化設置頁,配置寫在 profile 的 patch 裏。
安裝與啓用¶
環境要求: DSH 0.2.1-rc.2 或 0.2.2-rc.1(>=0.2.1-rc.2 且 <0.3.0)。桌面端與 Web 端需各裝一次。
從 GitHub 安裝(推薦):
- 在 DSH 的 Plugins 頁 → Add plugin,填入:
github:ShanHaiFish/dsh-answer-pages
- 或用 CLI:
dsh plugin --profile desktop add github:ShanHaiFish/dsh-answer-pages
dsh plugin --profile web add github:ShanHaiFish/dsh-answer-pages
本地開發或離線調試時,可在 Add plugin 中填本倉庫的絕對路徑,或:
dsh plugin --profile desktop add "F:\path\to\dsh-answer-pages"
安裝後新開會話再驗證。README 提醒:上游另有 npm 包 dsh-answer-me-with-html(他人維護),與本項目不要同時啓用,避免同一渲染器兩套用法。
插件以當前 DSH 進程權限運行;安裝前建議閱讀倉庫源碼與 MIT / LICENSE-answer-me-with-html 聲明。
配置¶
通過 profile 的 cordis.patch.yml 覆蓋 answer-pages 行的 config:
- id: answer-pages
name: dsh-answer-pages
config:
outputDir: '' # 空 = <workspace>/.dsh/answer-pages;也可填絕對路徑
theme: auto # auto | blueprint | shadcn | paper | 已安裝主題
mode: auto # auto | light | dark
style: '80' # off | 80 | strict
alwaysOn: false # true = 每個結論都附帶頁面
nodePath: '' # 手動指定 node;空 = 自動探測
maxDraftBytes: 200000
修改後重啓對應 profile,或等待 HMR 重新加載。
典型用法¶
正常提問即可;模型會根據 answer-pages skill 判斷是否值得出頁面。也可以明確要求,例如「用 HTML 解釋 TCP 三次握手」。
經過上面的步驟,生成路徑會出現在工具卡與回覆末尾鏈接中,點擊後在 Document Preview 打開。頁面保留上游的主題切換、面板評論、ask 決策和 Reply 按鈕等行爲(腳本能否運行仍取決於 Coding Tools 設置)。
工作流可概括爲:
提問
└─ 模型讀 skill:草稿格式 / 選組件 / 寫作規則
└─ 調用 answer_me_with_html(draft, file_name, theme, mode, style)
├─ Host 解析運行時:Electron-as-node → 宿主 Node → PATH node
├─ spawn skill/scripts/am.mjs render - --no-open -o <workspace>/.dsh/answer-pages/x.html
├─ 解析 ✓ / ✗ Lxx / STE 警告
└─ 返回 { ok, path, title, warnings, errors }
├─ 客戶端工具卡:標題 / 狀態 / 警告 / 打開按鈕
└─ 打開按鈕 → Document Preview
README 記載在 DSH Desktop 0.2.2-rc.1 與 dsh web 0.2.1-rc.2 上已完成安裝、Host 工具、渲染與客戶端 bundle 等驗證;工具卡在 UI 中的最終視覺效果需在使用時自行確認。
適用場景與注意¶
適合: 需要在 DSH 內閱讀長篇技術說明、順序圖/流程圖較多的解釋頁,並希望單文件離線歸檔或打印/PDF 的場景。
不太適合: 需要按鈕迴環、常駐面板、可排序表格等短交互時,應優先 dsh-genui,而非本插件。
安全與合規: 插件會 spawn 本地 Node 執行內置 am.mjs 渲染草稿;草稿內容由模型生成,需注意工作區路徑與 maxDraftBytes(默認 200000)限制。社區插件目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,安裝來源以你信任的 GitHub 倉庫爲準。
結尾¶
dsh-answer-pages 把「Markdown 草稿 → 單頁 HTML → Document Preview」收成一條原生工具鏈,減少 shell 依賴並把頁面留在會話工作區內。若要查看分類與簡介,可打開目錄頁;細節、配置與開發說明見 GitHub 倉庫。
- 目錄頁:https://www.skillhub.cn/plugins/ShanHaiFish/dsh-answer-pages
- GitHub:https://github.com/ShanHaiFish/dsh-answer-pages
- Releases:https://github.com/ShanHaiFish/dsh-answer-pages/releases