dsh-answer-pages:在 DSH 裏把回答渲染成單頁 HTML 並在 Document Preview 打開

前言

在 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 安裝(推薦):

  1. 在 DSH 的 Plugins 頁 → Add plugin,填入:
github:ShanHaiFish/dsh-answer-pages
  1. 或用 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
羽毛球分组比赛记分
小程序二维码

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

小夜