前言¶
在 DSH 和 Codex 之間來回切換時,常見做法是導入整段會話或新建會話接管。前者容易把上下文整包搬過來,後者又容易丟掉「上一輪做到哪、哪裏還沒覈驗」這類細節。若你只想在 DSH 輸入框裏看到本機可接續的 Codex 聊天、按項目分組瀏覽,並把恢復摘要放進草稿自己確認後再發,可以看一下社區插件 @bitqyh/dsh-codex-bridge(維護者 bitqyh,分類:客戶端)。它定位是 Codex ↔ DSH 跨 agent 接力:會話採集、自動存檔、中斷恢復提示,以及輸入框下方的「交接」入口。
這是什麼¶
@bitqyh/dsh-codex-bridge 是 DeepSeek Harness 的客戶端插件(npm 包名與倉庫 bitqyh/dsh-codex-bridge 一致,當前資料中版本爲 0.1.0,MIT 許可證)。一句話:在輸入框下方按具體項目分組列出可接續的 Codex 聊天,只插入草稿、不自動發送;同時提供 CLI 只讀恢復與會話側採集/存檔能力。
與目錄裏一批「把外部會話帶進 DSH」的插件相比,作者明確寫的是不導入、不切換上下文、不寫回——只把會話列清楚,並標註項目歸屬判斷有多可靠。詳細對比見倉庫內 COMPARISON.md。
核心功能¶
資料中列出的能力如下。
| 能力 | 說明 |
|---|---|
| 會話採集 | prompt、工具調用、輪次邊界,上報 ai-memory |
| 自動存檔 | 每輪結束刷新可恢復快照(零 token) |
| 中斷檢測 | 限速掃描磁盤日誌,發現額度中斷/崩潰的會話並注入提示 |
| 手動恢復 | dsh-codex-bridge resume 只讀解析原生日誌,構建恢復上下文;可離線、無 DB 時降級,不依賴服務運行 |
| 「交接」按鈕 | 輸入框下方按項目分組列出可接續 Codex 聊天,只把恢復內容插入草稿 |
「交接」列表按每個具體項目各自一組,未歸屬的合成「非項目會話」放最後;組順序按組內最新會話時間倒序。搜索作用於全部會話。每個候選帶本輪標識:本輪已收尾 / 因故中斷 / 未收尾/需覈驗,說的是這一輪怎麼結束,不是任務完成度。
按鈕只調 insertText,不碰 setDraft/paste/submit,只插入草稿,絕不自動發送。
安裝與啓用¶
註冊 DSH 插件¶
一個包、一條命令加入 desktop profile:
dsh plugin --profile desktop add @bitqyh/dsh-codex-bridge
包的 cordis.patch.yml 已自帶 UI 入口(「交接」按鈕),裝完重啓 DSH 即可使用該按鈕;不需要再手動改 profile patch 才能看到交接 UI。
安裝 DSH / Codex 側腳本¶
安裝命令不會自動改文件;默認只打印計劃,加 --yes 才執行,且改文件前會先備份。
npx @bitqyh/dsh-codex-bridge doctor # 先只讀檢查
npx @bitqyh/dsh-codex-bridge setup # 看計劃(不寫文件)
npx @bitqyh/dsh-codex-bridge setup --yes # 真正安裝 DSH 側
npx @bitqyh/dsh-codex-bridge setup-codex --yes # 安裝 Codex 側
作者說明不用 postinstall 自動裝:DSH profile 的 pnpm allowBuilds 白名單會攔未批准腳本;且安裝會向項目目錄外寫入 ai-memory hooks 等多處文件,產品上應顯式確認。
可選:事件掃描插件(中斷提示)¶
若只要「交接」列表或 CLI resume,不必做下面步驟。README 寫明:在項目目錄跑 dsh-codex-bridge resume --from-agent codex 不需要註冊插件、裝 profile 或重啓 DSH。
啓用事件掃描(中斷提示)時:
- 在
~/.dsh/profiles/desktop/cordis.patch.yml增加:
- insert:
- id: dsh-codex-bridge-events
name: '@bitqyh/dsh-codex-bridge'
- 重啓 DSH
- 在 Codex 裏
/hooks重新信任(改命令哈希會失效,且靜默跳過)
插件配置項¶
事件插件側配置(資料原文):
{
scriptPath: "", // 留空自動解析
throttleSeconds: 600, // 掃描限速窗口
sinceHours: 24, // 只看最近 N 小時有活動的會話
maxReported: 3, // 最多提示幾條
enabled: true,
}
CLI 可用 --server=<url> 覆蓋 ai-memory 地址(默認 http://127.0.0.1:49374)。
典型用法¶
1. DSH 界面「交接」¶
點輸入框下方「交接」→ 按聊天名稱選 → 看預覽 →「插入當前對話」。內容進草稿,確認後再發送。
2. Codex skill¶
對 agent 說「用接續任務接着 DSH 沒做完的任務」,或使用 $resume-task(見倉庫 skills 說明)。
3. 命令行 resume(備用)¶
在同一項目目錄:
dsh-codex-bridge resume --from-agent codex
從 DSH 切到 Codex 時把參數改爲 --from-agent dsh。工作目錄不一致時:
dsh-codex-bridge resume --from-agent codex --cwd '<實際項目路徑>'
多個可接續來源時需指定完整 native id:
dsh-codex-bridge resume --from-agent codex --session <完整native-id>
輸出是機械提取的恢復上下文(定位、任務目標原話、已確認成功操作、失敗/未知/待審批、最後助手可見輸出、接續前須覈驗清單)。它是證據,不是新授權;resume 只讀日誌,不寫 handoff/DB,不調用模型。
退出碼:0 ready、2 no-candidate、3 needs-selection、4 incomplete(信息不足,不要當通過)。
其它 CLI:
dsh-codex-bridge doctor # 只讀檢查兩側狀態
dsh-codex-bridge paths # 打印相關路徑
前置條件與注意¶
運行時依賴¶
| 依賴 | 誰需要 | 缺了會怎樣 |
|---|---|---|
| Node.js ≥ 20 | 全部 | 插件不加載 |
| python3 ≥ 3.8 | 「交接」列表、resume、doctor |
列表靜默爲空或界面「讀取失敗」;CLI 無輸出 |
| zstd | 只讀 DSH 側會話 | DSH 側會話讀不出;Codex 側不受影響 |
| ai-memory 服務 | 採集 / 自動存檔 / 中斷提示 | 「交接」與 resume 仍可用 |
| Codex(CLI 或 Desktop) | 讀 Codex 會話 | 無 Codex 側可接續聊天 |
自檢示例:
node -v
python3 -V
command -v zstd # 只讀 DSH 側才需要
curl -s http://127.0.0.1:49374/healthz # 採集/存檔需要 ai-memory
資料註明:Windows 暫未適配(硬編碼 python3);缺 python3 時可能幾乎不報錯,先 command -v python3。
項目分組說明¶
列表分組依據是「目錄匹配」與 Codex 元數據,不是會話歸屬的絕對真理。優先級爲 threads.project_id(權威,project_basis: thread)> 登記目錄與 cwd 匹配(dir)> 歧義或讀不到(ambiguous / unavailable)> 無依據(none)。當前 Codex 版本 threads.project_id 整列爲空時,實際多走 dir 路徑。
安全與權限¶
插件在當前 DSH 進程權限下運行;setup 會向本機 ai-memory hooks 等路徑寫入文件。安裝前請閱讀倉庫源碼與 MIT 許可證,確認路徑與行爲可接受。DeepSeek Harness 社區插件目錄(如 skillhub.cn)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
若你需要在 DSH 裏按項目瀏覽 Codex 可接續聊天、只把恢復內容插入草稿,並可選地做會話採集、存檔與中斷提示,@bitqyh/dsh-codex-bridge 把 UI、CLI 和安裝步驟拆得比較清楚;純 resume 甚至不必裝事件插件。
- 目錄頁:https://www.skillhub.cn/plugins/bitqyh/dsh-codex-bridge
- GitHub:https://github.com/bitqyh/dsh-codex-bridge