前言¶
在 DeepSeek Harness(DSH)裏跑長鏈路任務或調試複雜智能體時,會話裏往往附着大量附件和子會話。把會話從一臺機器搬到另一臺,或者備份下來留作後續復盤,只能手動複製文件,容易遺漏、路徑不對,或者根本找不到對應的會話記錄。
下面介紹 dsh-session-port 插件,它把 DSH 的會話導出成 ZIP 壓縮包,附件隨行;之後再把壓縮包導入成新的會話,繼續對話或做二次開發。
這是什麼¶
dsh-session-port 是一個客戶端插件,由維護者 mswinandmc 開發。它的核心是:
- 把當前會話連同所有附件、子會話日誌導出爲 ZIP;
- 把導出的 ZIP(或同名格式的 .jsonl)導入回 DSH,變成一個新的會話;
- 導入時自動處理會話頭、投遞標記、fork 標記等內部字段,避免 DSH 拒絕加載。
插件格式與 DSH 自帶的「下載會話日誌」兼容,壓縮包結構一致,方便手動檢查或跨工具處理。
核心功能¶
導出會話¶
打開一個會話後,標題欄右側會出現一個「導出」圖標。點擊後瀏覽器會下載一個 ZIP 文件,文件名格式爲 <標題>-<會話 id>.zip。
導出的 ZIP 包含:
- session.v4.jsonl:會話頭與事件日誌
- subagents/<會話 id>/session.v4.jsonl:子會話日誌
- media/
. :會話引用的圖片 - files/<前綴>/<摘要>/<文件名>:會話引用的文件
導入會話¶
左側欄全局導航裏,「插件」下方會新增一行「導入會話」。點擊後打開導入面板,把 .zip 或 .jsonl 拖進去,或點「選擇文件…」。導入完成後點「打開會話」即可。
導入的行爲:
- 新建會話,絕不覆蓋或刪除已有會話;
- 落在當前會話所在的工作區(空閒時落在最近的工作區);
- 繼承原會話的標題、完整對話與工具歷史、模型/預設(預設不存在時退回默認);
- 自動改寫內部標記(投遞水位等),避免 DSH 拒絕加載;
- 抹平 fork/分支標記,防止格式錯誤;
- 導入後用
readSession讀回校驗一次,DSH 打不開的會話會在結果裏告警。
子會話日誌會隨導出,但導入只恢復主會話本身;子會話列表狀態(收藏、置頂、歸檔等)不遷移。
安裝與啓用¶
桌面版(DeepSeek Harness Desktop)¶
桌面版不提供 dsh 命令,插件在設置裏安裝:
- 打開「設置 → 插件」,在插件列表或插件市場裏找到
dsh-session-port並安裝(bundle 名同爲dsh-session-port;已收錄到 dshmarket 後可直接在市場裏搜到); - 安裝後重啓桌面版應用(或刷新已打開的頁面)。
Web / CLI 部署¶
自建 dsh web、CLI 或其它非桌面部署纔有 dsh 命令。桌面版用戶請用上面的圖形界面方式,命令行方式不適用。
# 從 npm 安裝(官方源;會自動寫進 profile 的 bundles 列表)
dsh plugin --profile web add dsh-session-port
# 沒裝 dsh CLI 時用完整包名
npx @deepseek-ai/dsh plugin --profile web add dsh-session-port
# 從 GitHub 倉庫安裝
dsh plugin --profile web add github:mswinandmc/dsh-session-port
# 從本地打包安裝
npm pack
dsh plugin --profile web add '<repo>/dsh-session-port-<version>.tgz'
裝好後用這些命令查看/升級/卸載:
dsh plugin --profile web list --depth 0 # 確認 dsh-session-port 在列表裏
dsh plugin --profile web update dsh-session-port # 升級到 npm 最新版
dsh plugin --profile web remove dsh-session-port # 卸載
裝好後重啓 dsh 服務(或刷新已打開的頁面),標題欄右側會出現導出按鈕、左側欄全局導航裏「插件」下方會出現「導入會話」。
典型用法¶
導出正在看的會話¶
- 打開會話;
- 標題欄右側點擊「導出」圖標(↓);
- 瀏覽器下載
<標題>-<會話 id>.zip。
導入一個會話¶
- 左側欄點擊「插件」下方的那行「導入會話」(↑);
- 打開導入面板;
- 把
.zip或.jsonl拖進去,或點「選擇文件…」; - 導入完成後點「打開會話」。
通過自然語言操作¶
插件註冊了 session_port 工具,可以用自然語言讓本鯨幫忙,例如「把當前會話導出到 D 盤備份」。
適用場景與注意¶
適合:
- 在多臺機器之間遷移會話與附件;
- 臨時備份長鏈路任務,方便後續復盤;
- 把子會話日誌單獨導出、分析或複用。
注意:
- 導入要求格式版本一致:v4 的壓縮包導入當前 DSH;跨大版本請先用對應版本 DSH 打開再重新導出;
- 單次導入默認上限 512 MiB,可在插件配置裏調整;
- 解壓有上限(防壓縮炸彈):條目數 ≤ 20000、單條解壓後 ≤ 512 MiB、解壓後總計 ≤ 2 GiB,且每條數據的實際解壓大小必須與壓縮包裏聲明的一致;
- 導入只恢復主會話;子會話日誌仍在壓縮包裏,但不會恢復爲子會話列表;
- 導出是流式的:歸檔逐條目寫出,文件附件直接從磁盤流進壓縮包,不會把整包和全部附件同時駐留內存;
- 插件以當前 dsh 進程權限運行,安裝前建議檢查源碼與許可證。
短結尾¶
dsh-session-port 把會話從 DSH 裏「打包帶走」,再按需「搬回來」。對需要跨設備遷移或長期保存會話的開發者來說,是一個可靠的工具。插件已發佈到 npm 與 GitHub,可通過目錄頁或 GitHub 倉庫獲取。