@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
羽毛球分组比赛记分
小程序二维码

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

小夜