前言¶
在 DeepSeek Harness(DSH)裏做智能體開發,常見情況是:Claude Code、Codex、Cursor 等工具裏已經積累了大段對話,換到 DSH 後卻要從頭開始。手動複製粘貼會丟工具調用、思考過程和上下文結構;只導出文本又無法在 DSH 裏「接着聊」。
dsh-chat-import 面向這類遷移場景:從十餘種外部 Agent 工具的本地存儲讀取會話,轉成 DSH 可恢復的會話;必要時還能導出、增量寫回或打包備份。下面介紹它的定位、能力與用法。
這是什麼¶
dsh-chat-import 是 DSH 社區插件,維護者爲 Nwflower,npm 包名 dsh-chat-import,當前版本 0.7.0,許可證 MIT。它在 SkillHub 插件目錄 的分類爲「記憶」,GitHub 倉庫約 102 stars。
插件只做兩件事的核心延伸:讀外部來源的會話文件(只讀,不改寫源文件),在 DSH 裏生成可按工作區歸組的新會話;反向方向支持把 DSH 會話序列化回 Claude Code、Codex、Kimi 等格式,或通過 interchange bundle 跨機器還原。
運行要求:Node.js ≥ 22.13;面向 dsh 0.1.x(README 寫明在 0.1.0-rc.6 / 0.1.0-rc.7 上實測)。
核心功能¶
多來源導入¶
支持從 17+ 種外部 Agent 來源導入,每段對話成爲獨立 DSH 會話。導入工具包括 import_claude、import_codex、import_chatgpt、import_cursor、import_gemini、import_reasonix、import_opencode、import_mimocode、import_zcode、import_grokbuild、import_openclaw、import_pi、import_hermes、import_kimi、import_qoder、import_workbuddy、import_dsh,以及通用入口 import_local_jsonl。README 共列出 18 個 import_* 工具。
全保真續聊指:工具調用與結果、思考過程、標題、模型名、時間戳儘量保留;會話按源 cwd 歸入對應工作區。
發現與批量¶
scan_discover() 可先只讀預覽可導入內容。側邊欄「導入會話」面板按工作區瀏覽並支持多選;/import-all 可批量導入。
導出與同步¶
export_claude/export_codex/export_kimi:把 DSH 會話序列化回對應格式,有損項會報告。export_bundle/restore_bundle:便攜 interchange bundle,帶 SHA-256 指紋,可跨機器還原。sync_to_claude:把 DSH 會話新增輪次增量追加到 Claude Code 文件,帶守衛、不靜默覆蓋。- 面板「同步」頁:可選雙向增量同步(外部 → DSH、DSH → 外部),默認關閉;子代理對話默認雙向過濾;
excludeDirs可按方向排除指定工作區目錄。
資產與配置遷移¶
import_agents:將 pi、opencode、Claude、Codex 的 agent、prompt、skill、指令轉爲 DSH skills。import_mcp//mcp-status:讀取 Claude / Codex 的 MCP server 配置,生成可審閱的 DSH MCP client YAML 片段。import_settings//settings-suggest:把 Claude settings / Codex config 轉爲 DSH 遷移建議(只讀)。/resume-claude//resume-codex:以外部 transcript 爲不可信歷史,生成交接摘要注入當前會話。
審計與保護¶
verify_session、doctor,或 CLIdsh-chat-import doctor:結構審計與遷移健康檢查。- 導入工具支持
expectedHash、restamp、上下文預算保護;源未變則跳過,源增長則只追加。 - 設置頁「插件」分區可配置導入會話的默認 preset;「導入系統提示詞」默認關閉,開啓後可將源 transcript 的 system / developer 提示詞作爲上下文注入。
支持的來源¶
下表摘自 README.zh-CN.md,存儲路徑因平臺而異,導入前請在本機覈對實際目錄。
| 來源 | 典型存儲位置 | 導入工具 |
|---|---|---|
| Claude Code | ~/.claude/projects/<slug>/<sessionId>.jsonl |
import_claude |
| Codex / ChatGPT CLI | ~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl |
import_codex |
| ChatGPT 網頁導出 | 導出包中的 conversations.json |
import_chatgpt |
| Cursor | ~/.cursor/projects/<slug>/agent-transcripts/<id>/<id>.jsonl |
import_cursor |
| Gemini CLI | ~/.gemini/history/<slot>/chats/session-*.json |
import_gemini |
| Reasonix | ~/.reasonix/sessions/ 等 |
import_reasonix |
| opencode | ~/.local/share/opencode/opencode.db |
import_opencode |
| ZCode | ~/.zcode/cli/db/db.sqlite |
import_zcode |
| Grok Build | ~/.grok/sessions/<id>/ |
import_grokbuild |
| OpenClaw | ~/.openclaw/agents/<agent>/sessions/*.jsonl |
import_openclaw |
| Pi Coding Agent | ~/.pi/agent/sessions/ |
import_pi |
| Hermes | ~/.hermes/ |
import_hermes |
| Kimi CLI / Kimi Code | ~/.kimi/sessions/ 等 |
import_kimi |
| Qoder CLI | ~/.qoder/projects/ |
import_qoder |
| WorkBuddy | ~/.workbuddy/projects/ |
import_workbuddy |
| DSH 會話日誌 | ~/.dsh/sessions/ |
import_dsh |
| 任意本地 JSONL | 任意 .jsonl 文件或目錄 |
import_local_jsonl |
源格式無法保留的部分會在導入報告中標註。各來源邊界行爲見倉庫內 docs/USAGE.zh-CN.md。
安裝與啓用¶
通過 DSH 插件命令安裝 npm 包:
dsh plugin --profile web add dsh-chat-import
本地開發可用符號鏈接指向源碼目錄:
dsh plugin --profile web add -w link:/path/to/dsh-chat-import
卸載時從 profile 的 bundles 中移除 import-claude insert 行並重啓 dsh;已導入的會話不會被插件自動刪除。
典型用法¶
安裝後,在任意 DSH 會話中調用 import_* 工具。所有導入工具共用 path 語義:單文件導入單會話,目錄則遞歸掃描批量導入。
導入 Claude Code 項目目錄:
import_claude({ path: "~/.claude/projects" })
導入 ChatGPT 網頁導出:
import_chatgpt({ path: "~/Downloads/chatgpt-export/conversations.json" })
導入本地 JSONL(可指定格式):
import_local_jsonl({ path: "D:\downloads\session.jsonl" })
常用參數包括:preview(零副作用預覽)、force(另存完整新副本)、sessionId(覆蓋目標 id)、expectedHash(SHA-256 校驗)、restamp(時間戳平移)、workspaceMode / workspaceDir(工作區歸組控制)。
典型續聊流程:
- 調用
import_*完成導入。 - 刷新會話列表,打開導入的會話。
- 從源記錄停下的位置繼續對話。
可選:scan_discover() 預覽;側邊欄面板多選導入;/import-all 批量導入;面板「同步」頁配置雙向同步。
關鍵行爲¶
- 只讀導入:源轉錄與數據庫不被改寫;DSH 側歷史爲 append-only。
- 冪等與增量:源未變則跳過;源增長則只追加新輪次;截斷會被檢測並上報。
- 自動歸組:按源
cwd歸入工作區。 - 環境變更聲明:每個導入會話在首個回合前注入摺疊行,聲明已遷移到 DSH,工具與權限以當前會話爲準。
- 失敗要大聲:畸形行、格式有損、導出有損項均顯式上報;落盤會話自動結構自檢。
- 沙箱:讀取工作區外的源文件或寫入工作區外的導出目標,需要會話沙箱放行對應路徑。
適用場景與注意¶
適合在以下情況使用:
- 從 Claude Code、Codex、Cursor 等工具遷到 DSH,且需要保留工具調用與上下文結構。
- 需要在 DSH 與外部工具之間交接會話,或做便攜備份與跨機器還原。
- 希望把外部 agent、MCP、settings 一併遷移到 DSH 生態。
使用前請注意:
- 插件以當前 dsh 進程的權限運行,會讀取本機 Agent 工具的會話目錄;安裝前應查看 GitHub 源碼 與 MIT 許可證,確認可接受其讀寫範圍。
- SkillHub 爲社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係;DSH 生態遵循「一切皆插件」思路,本插件爲社區維護的遷移工具,非 DSH 內置能力。
- 雙向同步默認關閉;啓用寫回前建議先用
preview或scan_discover()確認範圍。
鏈接¶
- SkillHub 目錄頁:https://www.skillhub.cn/plugins/Nwflower/dsh-chat-import
- GitHub 倉庫:https://github.com/Nwflower/dsh-chat-import
dsh-chat-import 把分散在各 Agent 工具裏的會話收成 DSH 可續聊的會話,並在需要時反向導出或打包。若你正從其他 Agent 環境遷到 DSH,或要在兩套工具間交接上下文,可以按上文步驟安裝並試一次 import_*。