dsh-session-import:跨工具會話遷移插件

前言

在 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 / 銀行卡。
  • 知識抽取:決策 / 代碼 / 約定可進入本地記憶去重沉澱,接 memory seam 接口。
  • 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
羽毛球分组比赛记分
小程序二维码

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

小夜