在使用 DeepSeek Harness (DSH) 或其他 AI 智能體時,更換工具通常意味着對話歷史和上下文記憶的丟失。dsh-migrate 插件旨在解決這個問題,它允許將其他智能體的會話記錄和記憶導出爲 DSH 原生的會話日誌,以便在 DSH 中繼續使用和檢索。
本插件由維護,開源協議爲 MIT。它提供了一套機制,將來自多種主流智能體的數據轉換爲 DSH 可讀、可搜索的格式。
安裝與啓用¶
通過插件管理器將插件安裝到 DSH 的 Web 配置文件中。
dsh plugin --profile web add @ersss/dsh-migrate
安裝完成後需要重啓 DSH 以加載插件。
dsh web
安裝過程會註冊 /migrate 斜槓命令,並將會話存儲目錄重定向到 $DSH_HOME/sessions-imported,這是一個專門用於存放導入日誌的獨立根目錄。
核心功能¶
- 多源讀取:支持從多種 AI 智能體讀取聊天曆史和記憶。支持的來源包括 Claude Code、Codex CLI、Gemini CLI、Cursor、Kimi CLI、ChatGPT、Cline、OpenCode、Aider、Hermes Agent 和 OpenClaw。
- 原生格式寫入:導入的數據會被寫入爲 DSH 的原生會話日誌(JSONL 格式)。這些日誌在側邊欄按原始項目目錄分組,並在 Trajectory 視圖中完整展示事件流(提示、推理、工具調用和結果)。
- Slash Command:在 DSH 的 Web UI 中提供
/migrate命令,用於直接進行列表查看和運行遷移。 - Standalone CLI:提供獨立的命令行工具
npx @ersss/dsh-migrate,支持在不運行 DSH 的情況下掃描本地數據並進行預覽(dry run)。 - 記憶與文檔集成:支持將導入的記憶寫入項目根目錄的
AGENTS.md文件中,並保留消息來源的證明(通過via通道標記)。
典型用法¶
Web UI 使用¶
在 DSH 的 Web 界面中輸入以下命令:
/migrate list # 查看各智能體在本地磁盤上的會話記錄
/migrate run # 導入所有檢測到的會話
/migrate run --source claude-code --limit 10 # 僅導入特定來源的前 10 條記錄
命令行使用¶
在終端中運行以下命令:
npx @ersss/dsh-migrate list
npx @ersss/dsh-migrate run # 導入到默認的 $DSH_HOME/sessions-imported
npx @ersss/dsh-migrate run --out /path/to/root # 指定輸出路徑
npx @ersss/dsh-migrate run --write-instructions . # 同時將記憶摺疊到當前目錄的 AGENTS.md
導入的會話會以 session/end-seed 事件結束,標記爲種子歷史。這意味着在 DSH 中繼續對話時,系統會將其作爲繼承上下文播放,隨後開始一段新的活躍記錄,從而實現無縫的會話延續。
限制與注意事項¶
- 只讀操作:插件對源智能體目錄執行只讀操作,不會修改任何原始數據。
- 媒體支持:圖片和附件無法導入,但附件周圍的文本內容會被保留。
- 歷史壓縮:源轉錄文件中的壓縮歷史會被扁平化爲純消息。
- 來源差異:由於源智能體數據格式的差異,部分功能可能存在缺口(例如 Cursor 的工具結果、ChatGPT 的工具消息結構化、Kimi 的子代理內部細節等)。
總結¶
dsh-migrate 提供了在 DeepSeek Harness 中遷移和複用其他智能體上下文的標準化方案。對於需要在多個智能體工具之間切換並希望保留完整上下文記錄的開發者來說,這是一個實用的工具。
更多信息請參考 GitHub 倉庫。