前言¶
在 DSH 裏調試智能體時,一段 Session 往往包含多輪對話、工具調用輸出和附件引用。要把完整上下文交給同事評審,或離線留存,單靠複製單條回覆不夠;內置的 Session 日誌導出側重 Markdown 與 ZIP,並不等同於「收件人雙擊就能在瀏覽器裏按聊天樣式讀完、且可選地在 DSH 裏只讀預覽或接續爲新 Session」這一整條鏈路。維護者 osman3n 的客戶端插件 dsh-session-share(倉庫 osman3n/dsh-session-share)針對的正是:導出整段 Session 爲自包含的靜態 HTML,以及在安裝同一插件的 DSH 客戶端中導入、只讀展示,並在確認後寫入新 Session 繼續對話。
這是什麼¶
DSH Session Share(npm 包名 @osman3n/dsh-session-share,當前資料中的版本爲 0.5.2,MIT 許可證)是 DSH 的客戶端插件:在界面裏增加「分享」與「導入」控件,不改動既有聊天氣泡的渲染邏輯。README 寫明倉庫已公開,但包尚未發佈到 npm,也未收錄在 awesome-dsh-plugin.com 或 dsh-market;社區目錄頁爲 skillhub.cn 插件條目。分類上屬於客戶端擴展;以 GitHub 公開狀態爲準時,星標爲 0。
核心功能¶
界面上的兩處入口¶
- 每條已 finalized 的助手消息下方操作行(緊挨 Copy、在 Like/Dislike 與 Branch 之前)出現約 28px 的分享圖標。點擊後導出的是整段 Session,因此在任意一條回覆下操作得到的文件內容相同。
- Workspaces 頂欄(Search、View options、Add workspace 旁)出現約 28px 的導入圖標,用於打開本插件生成的 HTML。
分享:單文件 HTML 轉錄¶
導出文件命名形如 dsh-session-<session-id>.html。文件爲靜態轉錄:無 JavaScript、無外鏈樣式或字體、不向 DSH 回連。內容包括 Session 標題與導出元數據、每輪用戶與最終助手消息、可摺疊的「Working notes」(中間助手文本與工具調用)、工具參數與結果,以及圖片/文件的附件卡片(名稱、大小、類型;字節不嵌入 HTML)。工具輸出在展示層保持緊湊可摺疊行。
收件人不必安裝 DSH、不必有賬號、不必聯網,用瀏覽器打開即可閱讀。
導入:只讀聊天視圖¶
導入時僅讀取文件內嵌的 inert JSON 塊;不執行 HTML 中的腳本,不加載遠程資源,導入本身不會創建 Session、不會寫入歷史、也不會把文本發給模型。
只讀面板在寬度、用戶消息右對齊、助手 Markdown、附件卡片樣式上與正常聊天一致;附件同樣只顯示元數據。面板提供 Continue in a new chat:經確認後,在選定工作區(默認 Ungrouped)通過 Host 正常創建 Session,按導入輪次追加已完成 turn,此後下一條消息會在帶導入歷史的上下文中繼續。該步驟會把導入文本送入已配置模型,因此有確認對話框。若轉錄含工具輸出,續聊會以歷史回放方式重建工具事件(分配新的本地 call id,並非聲稱工具在新 Session 中再次執行)。
0.5.0 之前的導出文件不含附件元數據,仍可導入,但文件引用顯示爲 @ 提及芯片而非附件卡片;用 0.5.0 及以上重新導出可得到卡片。
國際化¶
插件自身按鈕與提示通過 DSH 的 locale 服務支持英文與簡體中文;不會翻譯轉錄正文。跨語言閱讀可用瀏覽器翻譯 HTML 或外部處理。
安裝與啓用¶
README 說明這是源碼倉庫,安裝須由使用者顯式完成;不要僅爲閱讀 README 而安裝——內置 Session 日誌導出已支持 Markdown 複製與 ZIP 下載。
在已具備插件源碼目錄的前提下:
- 在本地準備好包含本倉庫 README 的插件目錄(維護者在文檔示例中的路徑爲
...\plugins\session-share,你的機器路徑以實際 checkout 爲準)。 - 打開當前 Profile 的 DSH 插件管理器,從上述目錄安裝該 bundle。
- 若插件管理器提示,重載或重啓 DSH。
插件以當前 DSH 進程權限在客戶端運行;啓用前請自行審閱 GitHub 源碼 與 MIT 許可證。公開資料未給出 dsh plugin add github:... 一類一鍵命令,本文不臆造安裝語句。
典型用法¶
分享¶
- 打開一個 Session。
- 在任意一條助手回覆下點擊分享圖標。
- 瀏覽器下載
dsh-session-<session-id>.html。 - 將文件發給對方;對方可直接用瀏覽器打開,若也安裝本插件則可導入爲 DSH 內只讀視圖。
導入與返回¶
- 在 Workspaces 頂欄點擊導入圖標。
- 選擇本插件生成的
dsh-session-*.html。 - 在中央面板查看只讀轉錄;用 Back to chat 返回正常聊天。
接續爲新 Session¶
在 Continue 行選擇目標 Workspace(或保持 Ungrouped),閱讀警告並確認。確認後創建真實 Session 並打開,後續發送的消息即在該 Session 中延續導入的歷史。
適用場景與注意¶
適合:需要把完整 DSH Session(含工具軌跡與工作筆記)以單文件形式離線傳遞;需要在 DSH 內以原生聊天樣式預覽他人分享的轉錄;在可信前提下把歷史導入爲新 Session 繼續調試。
隱私與安全:導出內容包含 Session 中可見的一切(工具參數、命令輸出、路徑等),可能含密鑰;發送前務必審閱 HTML。分享走本地下載,無公開上傳端點;接續路由經 Connection 認證,只接受校驗後的轉錄載荷。導入文件視爲不可信輸入,續聊可能引入提示注入或僞造對話,確認框據此存在;勿對不信任來源的文件執行 Continue。勿在不應被他人讀到 Session 的 Profile 上啓用本插件。
兼容性(摘要):針對當前 DSH Session 事件格式,使用 conversation.chat.assistant-actions 與 main 面板槽位;依賴聲明中包含 @deepseek-ai/dsh-client-ui-layout、@deepseek-ai/dsh-client-ui-workspace 等客戶端包,渲染器本身無運行時 DSH 包導入。Workspaces 頭欄按鈕依賴穩定後綴 _headerActions,未來 DSH 改版可能影響按鈕位置。
結尾¶
DSH Session Share 把「整段 Session → 單 HTML → 瀏覽器可讀 → 可選導入只讀 → 確認後續聊」串成一條不依賴額外服務端的路徑,適合客戶端協作與歸檔。查閱目錄說明見 SkillHub 插件頁,源碼與完整說明見 GitHub 倉庫。