dsh-import-agents:把 pi / opencode / codex / claude-code 會話遷入 DeepSeek Harness

前言

在 DeepSeek Harness(dsh)裏做智能體開發,常見情況是:歷史對話和自定義 agent 分散在 pi、opencode、codex、claude-code 等工具裏,換到 dsh 後需要手動複製粘貼,或重新配置 skill。會話上下文、工具調用軌跡、項目級 agent 定義往往無法一次性帶過來。

下面介紹 dsh-import-agents(維護者 Chang-Tong)。它把上述四類來源的會話、聊天記錄和 agent 導入 dsh,導入後的會話出現在會話列表中,可帶着完整歷史繼續對話;自定義 agent 與 mode prompt 會轉成 dsh skill。插件在 composer 工具欄提供一鍵 Sync 按鈕,也支持斜槓命令,並在新會話啓動時提示是否遷移未導入的歷史。

這是什麼

dsh-import-agents 是 dsh 的工作流類插件,發佈在 npm(包名 dsh-import-agents,當前版本 0.2.8),採用 MIT 許可證。它面向已在 pi、opencode、codex 或 claude-code 中積累會話與 agent 的開發者,目標是在 dsh 中恢復可續聊的會話,並把 agent 變成可發現的 skill。

數據來源與格式如下:

來源 存儲格式
pi JSONL
opencode SQLite
codex JSONL
claude-code JSONL

導入後的會話使用穩定 id(如 pi-<uuid>oc-<id>codex-<id>claude-<id>),重複導入會跳過已存在項,整體冪等。

核心功能

四類來源,一條命令

/import-all 會依次處理 pi、opencode、codex、claude-code 的會話,並把 pi / opencode 的 agent 與 mode prompt 轉成 skill。也可按來源單獨執行:

命令 作用
/import-pi [options] 導入 pi 會話
/import-opencode [options] 導入 opencode 會話
/import-codex [options] 導入 codex 會話
/import-claude-code [options] 導入 claude-code 會話
/import-agents 將 pi / opencode agent 轉爲 dsh skill
/import-all [options] 上述全部
/attach-workspaces 把已導入會話掛到與原始 cwd 匹配的工作區

常用選項:--limit N--project <substr>--since <iso|ms>--no-tools--tools-as-text--tool-truncate N

可續聊的完整歷史

導入的會話在 dsh 中按原生會話打開:文本、推理內容、工具調用均保留,模型能拿到完整上下文。Trajectory 標籤頁會爲每次工具調用渲染卡片。

Agent 變爲 skill

pi agent、mode prompt 以及 opencode agent 會寫入 $DSH_AGENTS_HOME/skills,並在 frontmatter 中記錄來源(metadata.source / metadata.kind)。

一鍵 Sync 與啓動遷移提示

composer 工具欄的 Sync 按鈕會執行 /import-all 並在界面內聯顯示結果。新建頂層會話時,若檢測到未導入的歷史,插件會詢問是否遷移;按項目記住選擇,同一項目不會重複打擾。可通過配置 config: { offerOnStart: false } 關閉該提示。

工作區歸屬

導入會話會掛到與原始 cwd 對應的工作區(不存在則創建)。標題帶來源標記(如 [pi][opencode][codex])。對已有導入可用 /attach-workspaces 補掛工作區。

零運行時依賴

實現僅依賴 Node 內置模塊(node:zlib zstd、node:sqlite)及 dsh 平臺模塊,要求 Node >= 22.19。

安裝與啓用

插件聲明瞭 dsh.bundle,可用官方一條命令安裝並激活:

dsh plugin --profile web add dsh-import-agents

dsh plugin add 會安裝 npm 包,並把插件追加到 profile 的 bundle 列表,無需手工改配置。安裝後需重啓 dsh web 並刷新頁面,composer 工具欄應出現 Sync 按鈕,輸入 /import-all 應有響應。

也可指定版本或來源,例如:

dsh plugin --profile web add dsh-import-agents@0.2.4
dsh plugin --profile web add github:Chang-Tong/dsh-import-agents

卸載示例:

dsh plugin --profile web remove dsh-import-agents

可選校驗:

npm view dsh-import-agents version
pnpm list dsh-import-agents

典型用法

Web 界面

  1. 重啓 dsh web 後刷新頁面。
  2. 點擊 composer 工具欄的 Sync,或在輸入框執行 /import-all
  3. 導入的會話出現在會話列表(按工作區分組);agent 出現在 skill 列表。

可多次執行,已導入項會被跳過。

獨立 CLI(不依賴 dsh 進程)

倉庫提供 import.mjs,可在命令行預覽或寫入:

node import.mjs all                # 預覽,不寫盤
node import.mjs all --apply        # 寫入會話與 skill
node import.mjs sessions codex --apply --limit 20

適用場景與注意

適合誰: 從 pi、opencode、codex 或 claude-code 遷到 dsh,希望保留對話歷史、工具軌跡和 agent 定義,並在 dsh 裏繼續同一項目的開發者。

權限與安全: 插件以當前 dsh 進程權限讀取本地會話文件與數據庫,並寫入 dsh 會話與 skill 目錄。安裝前應閱讀 源碼 與 MIT 許可證,確認來源路徑與數據範圍符合預期。來源路徑和默認值可通過插件配置覆蓋,詳見倉庫 Configuration 章節。

生態說明: dsh 採用「一切皆插件」的擴展方式;插件目錄 SkillHub 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-import-agents 把 pi、opencode、codex、claude-code 的會話與 agent 遷入 dsh,支持斜槓命令、composer Sync 按鈕和會話啓動遷移提示,導入後可續聊、可發現 skill。更多信息見 SkillHub 目錄頁GitHub 倉庫

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

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

小夜