@bitqyh/dsh-codex-bridge:在 DSH 裏按項目接續 Codex 聊天

前言

在 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。

啓用事件掃描(中斷提示)時:

  1. 在 ~/.dsh/profiles/desktop/cordis.patch.yml 增加:
- insert:
    - id: dsh-codex-bridge-events
      name: '@bitqyh/dsh-codex-bridge'
  1. 重啓 DSH
  2. 在 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
羽毛球分组比赛记分
小程序二维码

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

小夜