dsh-chat-import:把外部 Agent 會話導入 DSH 並續聊

前言

在 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_claudeimport_codeximport_chatgptimport_cursorimport_geminiimport_reasoniximport_opencodeimport_mimocodeimport_zcodeimport_grokbuildimport_openclawimport_piimport_hermesimport_kimiimport_qoderimport_workbuddyimport_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_sessiondoctor,或 CLI dsh-chat-import doctor:結構審計與遷移健康檢查。
  • 導入工具支持 expectedHashrestamp、上下文預算保護;源未變則跳過,源增長則只追加。
  • 設置頁「插件」分區可配置導入會話的默認 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(工作區歸組控制)。

典型續聊流程:

  1. 調用 import_* 完成導入。
  2. 刷新會話列表,打開導入的會話。
  3. 從源記錄停下的位置繼續對話。

可選: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 內置能力。
  • 雙向同步默認關閉;啓用寫回前建議先用 previewscan_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_*

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

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

小夜