dsh-session-norms:統一格式的會話規範視圖與 Markdown 排版

前言

在 DeepSeek Harness(DSH)裏排查一輪對話,往往要在「對話」頁裏上下滾動,工具調用的參數和結果又散落在不同 UI 區塊裏;要把整段記錄貼進文檔或 Issue,還得手工拼接。社區插件 @tinyforge/dsh-session-norms(倉庫 phoenixlucky/dsh-session-norms)在會話上方增加「規範視圖」標籤頁,按輪次彙總用戶消息、助手回覆與工具調用,並提供整份記錄的 Markdown 複製;同時在「對話」頁注入排版規則,讓標題、列表、代碼塊與表格在同一套觀感下閱讀,併爲已定稿的助手回覆增加「複製爲 Markdown」。下面介紹它的定位、能力與安裝用法。

這是什麼

dsh-session-norms 是 DSH 的客戶端插件:維護者爲 phoenixlucky,npm 包名爲 @tinyforge/dsh-session-norms,當前版本 1.3.1,MIT 許可證。它在不改變會話數據的前提下,把當前 Session 的事件流整理成可讀的規範化 transcript,並在瀏覽器側註冊 conversation.view 的 norms 視圖;README 英文摘要爲:在統一、可複製的格式中渲染每一輪、每條消息與每次工具調用。

核心功能

規範視圖標籤頁

宿主側(index.js)監聽已提交的會話事件(如 turn/start、user/message、assistant/message、tool/call、tool/result、turn/end),摺疊成規範化記錄,經會話投影 sessionNorms 發給界面。瀏覽器側(client.js)註冊「規範視圖」:

  1. 頂部展示輪次、消息、工具調用、錯誤數量等彙總。
  2. 正文按「第 N 輪」分組,逐條顯示用戶消息、助手回覆與工具調用(名稱、參數、結果狀態、時間)。
  3. 超長消息與工具結果默認摺疊,可點「展開全文」;點「複製 Markdown」導出與視圖一致的整份 Markdown。

視圖是只讀的:不寫入會話事件。彙總隨回合推進增量刷新。爲控制體量,最多保留最近 200 行,單條消息文本最多 3000 字符,超出時在視圖底部提示。

對話頁 Markdown 排版

插件不接管 Markdown 渲染器(不註冊 conversation.chat.node 的 keyed cell),僅注入樣式,作用域爲 Markdown 根節點的 CSS Modules 類;顏色取自 --dsw-alias-* 主題變量,深淺色與界面語言(中文 / English)隨主題與 locale 切換。

  • 標題層級、段落與列表、代碼塊、引用按統一規則呈現。
  • 表格鋪滿閱讀列並與正文、輸入框同寬;表頭與隔行使用淺層底色,單元格可換行。列寬合計超過閱讀列時,橫向滾動限制在表格容器內,避免整頁出現橫向滾動條。
  • 三列及以上表格:腳本按實際佈局寬度判斷;放不下或閱讀列窄於 600px 時,將表頭寫入單元格的 data-sn-label,切成「標籤 + 值」卡片,不再依賴寬表橫向滾動。

單條助手回覆複製

在 conversation.chat.assistant-actions 中追加圖標按鈕「複製爲 Markdown」:從 useChat 讀取該條已定稿回覆的文本塊,原樣寫入剪貼板(表格、列表、代碼塊、引用保持源碼形態)。流式輸出或中斷內容沒有 messageId,不顯示該按鈕。

安裝與啓用

從 npm 安裝。在 DSH 插件頁「添加插件」中輸入包名,或執行:

dsh plugin --profile desktop add @tinyforge/dsh-session-norms

舊的無作用域包 dsh-session-norms 已棄用,請改用 @tinyforge/dsh-session-norms。

裝好後重啓 DSH,會話上方視圖標籤欄會出現「規範視圖」。

固定版本或本地開發安裝仍可用,但不參與在線更新(見下一節):

dsh plugin --profile desktop add git+https://github.com/phoenixlucky/dsh-session-norms.git#v1.3.1

更新

僅 npm 註冊表安裝可在插件詳情頁的「版本」區塊點「更新到 x.y.z」;工具欄「刷新」會重新檢查新版本。Git 或本地路徑安裝的包不顯示該區塊,需先 remove 再按固定版本 add。

卸載

在「插件」頁面停用並卸載 @tinyforge/dsh-session-norms,規範視圖標籤頁會一併消失。

典型用法

  1. 打開任意會話,點會話上方的 規範視圖。
  2. 查看按輪次分組的完整 transcript;需要歸檔或貼文檔時,使用頂部的 複製 Markdown。
  3. 日常仍在 對話 頁交流即可——排版規則在插件掛載後自動生效;某條助手回覆定稿後,在操作行點 複製爲 Markdown 取單條源碼。

適用場景與注意

適合:需要可讀、可導出的會話全貌(含工具調用細節);希望在對話頁統一 Markdown 與表格閱讀體驗、減少寬表撐破布局的開發者。

兼容性:README 寫明已在 DSH 0.2.2-alpha.2 上驗證;package.json 中 engines.dsh 爲 >=0.2.2-alpha.2 <0.3.0-0,其他版本未驗證。

安全與權限:DSH 插件在當前 DSH 進程權限下運行。安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境策略。社區目錄 skillhub.cn 插件頁 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

@tinyforge/dsh-session-norms 把「看全會話」和「導出 Markdown」收到一個規範視圖裏,並在對話頁補齊排版與單條複製,對調試智能體、寫技術記錄較省事。目錄頁:https://www.skillhub.cn/plugins/phoenixlucky/dsh-session-norms;源碼與完整說明:https://github.com/phoenixlucky/dsh-session-norms。

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

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

小夜