dsh-md-export:將 DeepSeek Harness 會話導出爲整潔 Markdown

前言

在 DeepSeek Harness(DSH)裏跑完一輪對話後,常見需求是把內容留到倉庫、筆記或工單裏。手動複製會丟結構,截圖也不便於檢索。社區插件 dsh-md-export(維護者 hoshF)在會話標題欄提供 Export MD / 導出 MD,走系統保存對話框;同一套渲染邏輯還提供 CLI 與 HTTP 接口,便於腳本化。SkillHub 目錄將其歸類爲聯網工具:hoshF/dsh-md-export。

這是什麼

dsh-md-export 的定位是:把當前 DSH Web 會話轉成約定格式的 Markdown 文件。默認輸出不含 thinking 與 tool 記錄,適合作爲「可讀對話稿」歸檔;需要完整軌跡時可通過 CLI 或 HTTP 參數打開。

項目託管於 GitHub,許可證 MIT(package.json 當前版本 1.7.2)。運行環境要求 Node ≥ 22.15、DSH 0.2.x;已驗證的會話格式包括 v0 / v3 / v4(含多幀 zstd 日誌)。插件聲明零外部依賴、無構建步驟,可從 Git URL 直接安裝。

核心功能

下面介紹 README 中已寫明、且與實現一致的能力。

一鍵導出(Web)

在會話標題欄選擇 Export MD(中文界面爲 導出 MD),在原生保存對話框裏選路徑即可。建議文件名爲會話標題(例如 Refactoring the parser.md),可在對話框中改名;完成後 toast 會提示實際寫入的文件名。同一時間僅允許一次導出。

輸出結構

默認 Markdown 遵循 AfterChat / ChatFormat 風格:無 H1,順序爲 ## Metadata → ## Conversation → ### References;角色用 emoji 標題區分(如 ### 🧑‍💻 User、### 🤖 Assistant)。Metadata 可包含模型、時間、Session ID、工作區路徑、URL 等。

按鈕默認不包含 thinking 與 tool 調用。若要在導出裏帶上推理與工具記錄,需在 CLI 使用 --tools --reasoning,或在 HTTP 請求中設置 tools=1&reasoning=1(按鈕仍用默認選項)。

CLI 與 HTTP

  • CLI 入口:bin/dsh-md-export.mjs,與 UI 共用同一渲染器。
  • HTTP:GET /api/md-export 同樣走該渲染器,便於集成。

插件讀取 DSH host 本地會話日誌,Markdown 寫入你指定的路徑;UI 文案隨應用語言(英文 / 中文)切換。

安裝與啓用

DSH 生態採用「一切皆插件」;SkillHub 是社區目錄站點,與 DeepSeek / 幻方無官方從屬關係。安裝前建議瀏覽倉庫源碼與 LICENSE,確認符合你的安全與合規要求——插件以當前 DSH 進程權限訪問本地會話與文件。

在應用內安裝(推薦)

  1. 側欄打開 Plugins → Add plugin。
  2. 粘貼倉庫 URL:
https://github.com/hoshF/dsh-md-export
  1. 重啓 DSH,再對頁面做硬刷新(macOS:⌘⇧R;Windows / Linux:Ctrl+Shift+R)。

README 說明:沒有單獨的 npm release 包;應用安裝的是默認分支解析到具體 commit 的內容。更新即再次在 Plugins → Add plugin 粘貼同一 URL 重新安裝;若要固定版本,可從 tag 安裝而非分支。卸載在 Plugins 頁面移除 dsh-md-export 即可。

典型用法

在應用裏導出

先做導出:標題欄 Export MD → 選保存位置 → 確認。默認得到的是「乾淨」對話稿(無 thinking / tool 塊)。

命令行

在已安裝插件的目錄或 PATH 可用環境下執行(路徑以你的安裝爲準):

node bin/dsh-md-export.mjs                        # 最新會話
node bin/dsh-md-export.mjs <file|sessionId>       # 指定會話
node bin/dsh-md-export.mjs --list                 # 列出會話
node bin/dsh-md-export.mjs --all -o out.md        # 含 tool、thinking 等擴展內容

默認輸出到 ~/dsh-transcripts/<title>.md;加 --stdout 則打印到標準輸出。-o / --out 必須帶路徑;文件名以 - 開頭時可寫 ./-name.md。無效輸出參數會在寫文件前失敗。

需要 thinking 與 tool 時示例:

node bin/dsh-md-export.mjs <sessionId> --tools --reasoning --stdout

更完整的格式約定見倉庫 docs/FORMAT.md。

適用場景與注意

適合誰: 需要把 DSH 對話歸檔到 Git、文檔系統或知識庫、且希望 Markdown 結構統一、可 diff 的開發者;需要批量或 CI 拉取 transcript 時,可配合 CLI / HTTP。

兼容性: 面向 DSH 0.2.x 與已列出的 session 格式;升級 DSH 或會話格式後若導出異常,應對照倉庫 README 的 Compatibility 與 issue。

安全: 導出讀本地 session 日誌、寫本地文件;使用前請理解 host 側路由訪問規則(README Security 一節)。不要在不信任的環境安裝未審閱的插件。

結尾

dsh-md-export 用一條按鈕、一套渲染器,把 Web 保存、CLI 與 HTTP 對齊,輸出可讀的約定 Markdown。若你已在用 DSH 做日常開發對話,可按上文步驟從 GitHub URL 安裝,在會話裏試一次 導出 MD。

羽毛球分组比赛记分
小程序二维码

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

小夜