前言¶
在 Codex 裏已經跑完一段帶工具調用的對話後,若要在 DeepSeek Harness(DSH)裏接着聊、或按項目目錄在側邊欄統一管理會話,常見做法是手工複製粘貼或另開新會話,上下文與工具軌跡很難完整保留。DSH 社區插件 dsh-conversation-import(維護者 kermars39-web)面向這一缺口:讀取本機 ~/.codex 裏的 rollout,重建爲原生 Harness Session,並按對話原始工作目錄歸檔,可選每 60 秒從源線程追加已完成輪次。
下面按定位、能力、安裝與用法說明該插件;事實以 GitHub 倉庫 README 與 package.json(當前版本 0.1.9)爲準。插件市場審覈中,目前需從本地目錄安裝。
這是什麼¶
dsh-conversation-import 是 DSH 的客戶端類插件:在側邊欄 更多 → 導入 提供面板(不佔外層導航行),把本地 Codex 對話線程導入爲 Harness 原生會話。導入後會話掛在該線程當時的 cwd 對應工作區(已有則歸入,沒有則創建),標題與時間戳、用戶附件、工具調用與結果會按 Harness 事件類型重建(如 bash、write、edit、web_search、web_fetch)。源 Codex 線程不會被修改;數據僅在本地讀寫,不上傳。
核心功能¶
解析與重建¶
- 支持對話深度鏈接
codex://threads/<id>或裸 thread id,在本機 Codex rollout 存儲中定位最新 rollout 文件(壓縮包需 zstd,Node 內置支持,必要時回退zstdCLI)。 - Host 端(
index.js)解析session_meta、task_started/task_complete、item_completed、response_item等記錄;無用戶提示的輪次會摺疊進上一輪,只導入已結束輪次,便於尾部未完成輪次後續通過同步補齊。 - Codex 工具項映射到 Harness 工具(例如
CommandExecution→bash,FileChange(add)→write,FileChange(update)→edit);MCP 調用、子智能體流量、圖片與加密推理等項會跳過(用戶附件圖片與代理通過ImageView查看的截圖有單獨導入規則,見 README「Known limitations」)。
工作區與列表¶
- Session 寫入原始工作目錄對應的工作區,在側邊欄該項目下可見。
- 面板展示按原始工作目錄分組的最近對話,也提供扁平列表視圖。
可選自動同步¶
- 每 60 秒輪詢;源文件
mtime未變則不重複解析。 - 僅追加源線程中已完成的輪次,用
syncedTurns水位線;事件序號與時間從現有日誌延續。 - Session 若正在打開,新輪次經 live Session 追加;生成中會等到下一 tick。若在 Harness 裏已本地續聊(會話輪次超出上次同步點),divergence guard 會暫停該對話的自動同步,界面會提示;重新打開 per-conversation 開關可顯式覆蓋。
- 單向同步,不反寫 Codex。
安全與隱私(README 摘要)¶
- 面板經同源 HTTP 路由訪問 Host,受 Connection admission(
ctx.connection.requestRejection)約束,與應用/api同類憑據;失敗關閉(如 admission 不可用時503)。 - 只讀
~/.codex中你指定的線程;只寫 Harness Session 與插件狀態~/.dsh/codex-importer/imports.json。 - 可選「隱藏外部工具名」僅改寫可見文案,工具參數與輸出仍保留原內容。
環境與依賴¶
- DeepSeek Harness 桌面 0.2.1-rc.5 及以上,且 低於 0.3.0(
package.json中engines.dsh與 README 一致)。 - 本機存在
~/.codex,且要導入的線程在本機存在。 - macOS / Linux;Windows 未測試。
安裝與啓用¶
插件市場尚未通過審覈,需從源碼目錄安裝。安裝後重啓或刷新頁面,入口出現在側邊欄 更多 菜單。
命令行(路徑替換爲本機克隆或解壓後的倉庫絕對路徑):
plugin_manager install_bundle target=<absolute path to this repository>
或通過 Plugin Manager UI:插件 → 添加插件 → 本地目錄,選擇該插件目錄。
插件以當前 DSH 進程權限運行;安裝前請自行審閱 源碼與 MIT 許可證。
典型用法¶
- 側邊欄打開 更多 → 導入。
- 粘貼深度鏈接,或從 Recent conversations(按文件夾分組)點選一行。
- 點擊 Read conversation,覈對標題、原始目錄、目標工作區與體量。
- 執行 Import locally,再 Open conversation 進入 Harness 會話。
- 若需跟進 Codex 側仍在進行的線程:在 Sync 卡片保持該對話開關開啓;若打算只在 Harness 裏繼續聊,可先關閉同步,避免 divergence 後仍期望雙向一致。
適用場景與注意¶
適合:已在 Codex 完成或進行中的本地線程,希望在 DSH 同一項目目錄下續寫、查看完整工具鏈與時間線,並可選從 Codex 單向追更已完成輪次。
務必知曉的限制(摘自 README):
- 導入本質是快照;最後一輪若仍在生成,需等完成後由同步追加。
- 跨多個 rollout 文件的線程目前取最新分段,多段合併計劃中。
- 已打開的 Session 不會流式顯示追加輪次,需重新打開或刷新列表。
- 較早導入的會話若需完整附件行爲,README 建議再導入一份。
- 分類爲客戶端插件;社區目錄頁:skillhub.cn 插件條目(獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)。
結尾¶
dsh-conversation-import 把「Codex 本地 rollout → Harness 原生 Session + 按 cwd 歸檔 + 可選 60 秒同步」串成一條可復現路徑,適合需要在 DSH 插件生態裏延續 Codex 上下文的開發者。詳情與 issue 見 GitHub:kermars39-web/dsh-conversation-import,目錄介紹見 skillhub.cn/plugins/kermars39-web/dsh-conversation-import。