前言¶
DeepSeek Harness(dsh)把模型、工具、會話、沙箱和界面都做成插件,官方倉庫的口號就是「Everything is a Plugin / 一切皆插件」。換到這套運行時之後,卡住的往往不是裝插件,而是歷史對話還散落在別處:pi 的 JSONL、OpenCode 的 SQLite、Codex 和 Claude Code 各自的會話目錄。這些文件能在原工具裏打開,但不能直接當成 dsh 會話繼續聊。
dsh-import-agents 做的就是把這四類來源的會話、聊天記錄和智能體配置讀進 DeepSeek Harness:導入結果出現在會話列表,可以帶着完整上下文接着聊;pi / OpenCode 的 agent 與模式提示詞會變成可發現的 dsh skills。Web 界面 composer 工具行裏有一鍵「同步」按鈕,也可用斜槓命令;新頂層會話啓動時,若還有未導入歷史,插件會詢問是否遷移。
本文按社區插件目錄頁、GitHub 倉庫 README(中英文)、package.json、CHANGELOG、LICENSE 和 npm 頁面交叉覈對後整理。社區目錄 deepseek-harness-plugin.com 是獨立站點,和 DeepSeek / 幻方沒有官方從屬關係,不要把它理解成官方應用商店。
這是什麼¶
dsh-import-agents 是一款「會話與消息」類 DeepSeek Harness 插件,由 Chang-Tong 維護,GitHub 倉庫爲 Chang-Tong/dsh-import-agents。許可證爲 MIT(Copyright 2026 dsh-import-pi-opencode contributors)。npm 包名同爲 dsh-import-agents,當前版本 0.2.6(2026-08-17 發佈)。主要語言是 JavaScript,運行要求 Node.js ≥ 22.19(倉庫說明這與 dsh 一致,需要 node:sqlite 和 node:zlib 的 zstd)。package.json 裏客戶端注入聲明瞭 "platform": "web",同步按鈕面向 dsh web。
它解決的問題很具體:把 pi、opencode、codex、claude-code 的歷史會話寫成可 resume 的 dsh 會話,並把 pi 的 agent / 模式提示詞、opencode 的 agent 轉成 $DSH_AGENTS_HOME/skills 下的技能包。導入按源 cwd 掛到對應工作區,標題帶來源標籤([pi]、[opencode]、[codex] 等)。重複導入是冪等的:穩定 id 形如 pi- / oc- / codex- / claude-,已存在的會跳過。
GitHub 倉庫頁面在筆者查閱時顯示 10 顆星;社區目錄頁當時標註 6 顆星。星標以倉庫頁面爲準,目錄數字可能滯後。目錄頁收錄日期爲 2026-08-06。
核心功能¶
下面只寫目錄頁和倉庫 README 裏已經寫明、可以按文檔復現的部分。
四種來源,寫成可繼續的 dsh 會話¶
每種來源對應默認數據根和一條斜槓命令。存儲位置以倉庫文檔爲準:
| 來源 | 默認位置 | 命令 |
|---|---|---|
| pi | ~/.pi/agent/sessions 下的 JSONL |
/import-pi |
| opencode | ~/.local/share/opencode/opencode.db |
/import-opencode |
| codex | ~/.codex/sessions 下的 JSONL |
/import-codex |
| claude-code | ~/.claude/projects 下的 JSONL |
/import-claude-code |
導入不是把文本粘進當前對話框,而是寫出與 dsh 持久化後端一致的 JSONL 事件(帶校驗和的 zstd 幀、項目目錄編碼)。倉庫說明:dsh 自帶的 list / load / prepare 可以按原格式讀回。打開導入的會話後,文本、推理塊和工具調用都在,模型拿到完整歷史再繼續。
工具調用會寫成 tool-call 內容塊,並配套 tool/call + tool/result 事件,Trajectory 標籤頁能渲染工具卡片。FAQ 寫明:各來源格式本身通常只保存調用、不保存工具結果,導入用佔位 tool/result 讓恢復會話時請求仍然合法。--tools-as-text 改成純文本(無軌跡卡片),--no-tools 則丟棄工具調用。機械記錄(step-start、patch、compaction 等)會跳過。
一鍵同步、斜槓命令、新會話遷移提示¶
composer 工具行有一個小按鈕(英文界面爲 Sync,中文界面爲 同步),點擊後執行 /import-all,結果內聯顯示。/import-all 會跑四個來源再加 agents。也可以按來源單獨導入。
新頂層會話啓動時,若該項目還有未導入歷史,插件會詢問是否遷移。決定按項目記住,全局 agents 的決定也記住,狀態寫在 $DSH_HOME/import-pi-opencode-state.json。只對帶 cwd 的全新頂層會話觸發,subagent 不觸發;headless 等沒有 UI provider 的環境會靜默跳過。可用 config: { offerOnStart: false } 關掉詢問。
Agents 變成 skills,會話按工作區掛載¶
/import-agents 把 pi 的 agent / 模式提示詞和 opencode 的 agent 寫成 $DSH_AGENTS_HOME/skills/<名稱>/SKILL.md(默認 ~/.agents/skills/),frontmatter 記錄 metadata.source / metadata.kind。名稱衝突會改成 <名稱>-<來源>(文檔舉例 k3-reviewer-opencode);已存在的 bundle 只補 SKILL.md,同名同內容則跳過。
導入的會話按原始 cwd 掛到匹配工作區,沒有則創建。舊導入可用 /attach-workspaces 補掛。缺少 cwd 的會話在掛工作區時記爲跳過,而不是失敗(CHANGELOG 0.2.2)。
安裝與啓用¶
社區目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端裏運行:
dsh plugin add github:Chang-Tong/dsh-import-agents
如需可復現安裝,按目錄頁說明固定 commit 哈希:
dsh plugin add github:Chang-Tong/dsh-import-agents#<commit>
倉庫 README 推薦走 npm 包、並指定 web profile(0.2.4 起聲明瞭 dsh.bundle,一鍵安裝會自動激活層,無需再手改 cordis.patch.yml):
dsh plugin --profile web add dsh-import-agents
指定版本、從 GitHub 短格式安裝,或卸載,也可以按 README 寫:
dsh plugin --profile web add dsh-import-agents@0.2.6
dsh plugin --profile web add github:Chang-Tong/dsh-import-agents
dsh plugin --profile web remove dsh-import-agents
從 Git 安裝帶源碼的插件時,安裝過程會跑 prepare 構建。README 說明 pnpm ≥ 10 默認阻止腳本:第一次 add 可能失敗並給出 allowBuilds 提示,把提示的 key 寫進該 profile 的 pnpm-workspace.yaml 後再跑一次。安裝已經構建好的 tarball 或本地 checkout 不需要這一步。
安裝後按倉庫步驟驗證:
- 重啓
dsh web——主機插件在啓動時註冊斜槓命令,前端同步按鈕由 dsh web 加載。 - 刷新頁面——重啓後舊頁面的 RPC 連接已斷開,不刷新則按鈕和命令會失敗。
- 確認輸入框工具行出現 同步 / Sync 按鈕,輸入
/import-all有響應。
目錄頁和倉庫都提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和許可證。
典型用法¶
1. 一鍵導入四種來源和 agents¶
重啓並刷新頁面後,點 composer 工具行的 同步 按鈕,或直接輸入:
/import-all
導入的會話出現在會話列表(按工作區分組);導入的 agent 出現爲 skills。一切冪等,想跑多少次都行。若顯示「新導入 0,已存在跳過 N」,說明這些會話已經導過,不會重複寫入。
只導某一個來源,或只導 agents:
/import-pi
/import-opencode
/import-codex
/import-claude-code
/import-agents
常用選項(README):--limit N、--project 子串、--since(ISO 或毫秒)、--no-tools、--tools-as-text、--tool-truncate N。
舊導入沒有掛上工作區時:
/attach-workspaces
2. 覆蓋默認路徑和遷移詢問¶
默認路徑和開關可以在插件插入行上覆蓋。cordis.patch.yml 裏插件 id 爲 import-pi-opencode,包名爲 dsh-import-agents。倉庫列出的配置鍵如下:
| 鍵 | 默認值 | 含義 |
|---|---|---|
offerOnStart |
true |
新頂層會話啓動時是否詢問遷移 |
piRoot |
~/.pi/agent/sessions |
pi 會話根目錄 |
piAgentRoot |
~/.pi/agent |
pi agents / 提示詞根目錄 |
opencodeDb |
~/.local/share/opencode/opencode.db |
opencode SQLite 路徑 |
opencodeConfig |
~/.config/opencode |
opencode agents 根目錄 |
codexRoot |
~/.codex/sessions |
codex 會話根目錄 |
claudeRoot |
~/.claude/projects |
claude-code 項目根目錄 |
skillsRoot |
$DSH_AGENTS_HOME/skills |
skills 輸出根目錄 |
toolTruncate |
1000 |
工具調用參數截斷長度(字符) |
關掉啓動詢問的寫法是 config: { offerOnStart: false }。
3. 倉庫源碼裏的 CLI(不經過 dsh)¶
README 提供不啓動 dsh 的命令行入口,默認 dry-run,加 --apply 才寫入。需要在倉庫 checkout 裏執行 node import.mjs(該文件在 GitHub 源碼根目錄;package.json 的 npm files 列表未包含它,不能默認當成裝完 npm 包就能用):
node import.mjs all
node import.mjs all --apply
node import.mjs sessions codex --apply --limit 20
node import.mjs agents --apply
node export.mjs
all 與 GUI 裏的 /import-all 語義一致:四個來源加 agents(CHANGELOG 0.2.5)。export.mjs 把會話寫成 Markdown,默認輸出到 $DSH_HOME/exports/<來源>/<會話id>.md,支持 --source、--project、--limit、--since、--out、--no-reasoning、--no-tools。
適用場景與注意事項¶
比較適合這幾類用法:
- 已經在 pi、OpenCode、Codex 或 Claude Code 裏積累了項目會話,希望遷到 DeepSeek Harness,還想保留推理塊和工具調用軌跡。
- 需要把 pi / OpenCode 的自定義 agent、模式提示詞變成 dsh skills,並留下
metadata.source/metadata.kind溯源。 - 希望用 Web UI 的同步按鈕或
/import-all做冪等同步,而不是手工拷 JSONL。
使用前要注意:
- 權限與許可證。插件以當前 dsh 進程權限運行,安裝時可能執行代碼。安裝前閱讀 倉庫源碼 和 MIT 許可證。
- 運行時版本。需要 Node.js ≥ 22.19。同步按鈕和客戶端 bundle 面向 web profile;headless 環境會跳過遷移詢問。
- 重啓後必須刷新。重啓
dsh web後舊頁面的 RPC 已斷開,未刷新時點同步或跑斜槓命令都會失敗。 - 工具結果可能是佔位。源格式往往不存工具結果。導入保留調用並寫佔位
tool/result,軌跡能出卡片,但結果內容並不等於原工具真實輸出。 - OpenCode 缺庫不會崩。CHANGELOG 0.2.1:opencode 讀取器在數據庫不存在時按「無會話」處理,而不是崩潰。
- 不要和目錄頁命令混用猜測。目錄頁安裝入口是
dsh plugin add github:Chang-Tong/dsh-import-agents;README 推薦的 npm 寫法帶--profile web。兩者都能裝,按你用的 profile 選擇,不要自行拼接未經頁面寫出的命令。
小結¶
dsh-import-agents 把 pi、OpenCode、Codex、Claude Code 的會話變成 DeepSeek Harness 裏可 resume 的會話,並把對應 agent / 提示詞落成 skills。同步按鈕、斜槓命令和新會話遷移提示覆蓋了日常搬遷路徑。它是社區 MIT 插件,不是 DeepSeek 官方組件;目錄頁只負責收錄和給出安裝命令。
安裝入口以目錄頁爲準:
dsh plugin add github:Chang-Tong/dsh-import-agents
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-import-agents/
GitHub:https://github.com/Chang-Tong/dsh-import-agents