dsh-conversation-import:把本機 Codex 對話遷入 DeepSeek Harness 會話

前言

在 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 內置支持,必要時回退 zstd CLI)。
  • 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 許可證。

典型用法

  1. 側邊欄打開 更多 → 導入。
  2. 粘貼深度鏈接,或從 Recent conversations(按文件夾分組)點選一行。
  3. 點擊 Read conversation,覈對標題、原始目錄、目標工作區與體量。
  4. 執行 Import locally,再 Open conversation 進入 Harness 會話。
  5. 若需跟進 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。

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

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

小夜