前言¶
在 DSH 中做智能體開發時,很多會話會分散在 ChatGPT、Claude Code、Codex、Cursor 等外部工具裏。如果想在 DeepSeek Harness(dsh)裏繼續查看這些會話、續聊、歸檔或沉澱經驗,就需要一種統一的導入路徑。
dsh-session-import 是 devmom 維護的 dsh 插件,MIT 許可。它把外部工具導出的會話導入 dsh,也可以把 dsh 會話導出爲通用格式;同時提供隱私脫敏檢測和知識抽取入口。
插件是什麼¶
一句話定位:dsh-session-import 是面向 dsh 的跨工具會話遷移插件。
它提供的能力包括:
- 15+ 源會話導入:ChatGPT / Claude Code / Codex / Kimi Code / ZCode / WorkBuddy / OpenClaw / Gemini / Cursor / Aider / Continue / Cline / OpenCode / Reasonix / GitHub Copilot Chat / 通用 JSON。
- 導入產出原生 dsh session-log 事件,經
ctx.sessions寫入,並隨官方 JSONL 持久化落盤。 - 導入後的會話在 dsh Web UI 中原樣渲染、可續聊。
- 雙向導出:dsh 會話可導出爲 generic JSON / Markdown / transcript。
- 隱私脫敏檢測:API Key / 手機號 / 郵箱 / 身份證 / IP / 銀行卡。
- 知識抽取:決策 / 代碼 / 約定可進入本地記憶去重沉澱,接
memoryseam 接口。 - Web 導入嚮導:支持多選勾選、標題選項和導入結果展示。
- 對話式發現導入工具:
chat_import_discover/chat_import_import。 /session-import斜槓命令:支持文件、目錄、source 過濾、redact、extract-knowledge。sessionImport服務:供其它插件或腳本調用。- REST API:提供
adapters/import/scan-dir/import-dir/import-paths/history。 - bundle 清單:
cordis.patch.yml與package.json#dsh.bundle。 - 獨立開發嚮導:可選使用
npm run wizard。
安裝與啓用¶
運行環境要求 Node.js >=18。
先執行官方安裝命令,把插件加入 web profile:
dsh plugin --profile web add -w session-import
這裏需要 -w:pnpm 9.x 的 workspace-root 檢查需要該標誌,dsh plugin 會原樣轉發 pnpm 參數。
安裝後,插件會以 dsh bundle 插件形式加載,提供命令、服務、REST 路由和 Web 導入嚮導。插件聲明的清單文件包括 cordis.patch.yml 與 package.json#dsh.bundle。
如果本地開發時通過 link 方式安裝,Windows 下建議使用 link:<絕對路徑> 說明符。pnpm 9.x 對 file:D:/... 絕對路徑解析有已知問題;registry 安裝不受影響。
維護者如需發佈到 npm,需要準備 npm 賬號。
典型用法¶
下面介紹幾種常用入口。
斜槓命令¶
在 Web UI 中可以直接輸入:
/session-import <導出文件路徑> [--redact] [--extract-knowledge]
也可以按路徑、目錄和 source 過濾來導入:
/session-import C:\path\to\chatgpt\conversations.json # 單文件
/session-import C:\Users\PC\.codex\sessions # 目錄(遞歸掃描全部會話)
/session-import C:\Users\PC\.codex\sessions --source codex # 只導 codex
/session-import <path> --redact --extract-knowledge # 脫敏 + 知識抽取
經過上面的命令,插件會執行導入;如加上 --redact,會進行隱私脫敏檢測;如加上 --extract-knowledge,會進行知識抽取。
Web 導入嚮導¶
Web 導入嚮導支持多選勾選、標題選項和導入結果展示。可以在界面中選擇會話項,調整標題選項,並查看導入後的結果。
對話式發現導入¶
插件提供對話工具:
chat_import_discover
chat_import_import
對話式發現導入默認開啓。若需要關閉模型工具,可在 bundle config 中設置:
enableModelTools: false
REST API¶
插件會暴露以下接口:
GET /api/session-import/adapters
POST /api/session-import/import
POST /api/session-import/scan-dir
POST /api/session-import/import-dir
POST /api/session-import/import-paths
GET /api/session-import/history
其中 POST /api/session-import/scan-dir 支持:
{ sourceFilter?, maxFiles? }
GET /api/session-import/adapters 可用於查看已註冊源。GET /api/session-import/history 可用於查看導入歷史。
sessionImport 服務¶
其它插件或腳本可以通過 ctx.get('sessionImport') 調用服務:
const svc = ctx.get('sessionImport')
// { ingest, sources, detectSource, parseCount, scanDirectory, ingestDirectory }
const preview = await svc.scanDirectory('C:/Users/PC/.codex/sessions', { sourceFilter: ['codex'] })
const batch = await svc.ingestDirectory('C:/Users/PC/.codex/sessions', { sourceFilter: ['codex'], redact: true })
先做 scanDirectory 查看掃描結果,再做 ingestDirectory 執行導入。
獨立開發嚮導¶
如果沒有完整 dsh 環境,也可以運行獨立開發嚮導:
npm run wizard
數據落點¶
會話本體寫入 dsh 官方 session-log。原文歸檔、導入歷史、本地記憶寫入:
$DSH_HOME/session-import/
如需覆蓋數據目錄,可修改 bundle config:
dataDir
適用場景與注意¶
適合需要把多個 agent 工具會話統一遷入 dsh 的場景,尤其是希望後續續聊、導出、脫敏、抽取知識的個人開發者或團隊。
使用前注意:
- 插件以當前 dsh 進程權限運行,會讀取指定文件或目錄、寫入 dsh 會話和相關數據目錄;安裝前應檢查源碼、依賴和 MIT 許可證。
- 隱私脫敏檢測覆蓋 API Key / 手機號 / 郵箱 / 身份證 / IP / 銀行卡;導出或分享前,仍建議人工確認敏感信息。
- 知識抽取會沉澱到本地記憶,使用前應確認
$DSH_HOME/session-import/或自定義dataDir的權限。
資源¶
目錄頁是獨立插件目錄,不等同於官方應用商店。
- 目錄頁:https://www.skillhub.cn/plugins/devmom/dsh-session-import
- GitHub:https://github.com/devmom/dsh-session-import