Skip to content

Releases

v0.1.0

Choose a tag to compare

@heswy heswy released this 14 Oct 03:09
074c362

v0.1.0

首个版本。把「其他 DSH 进程的工作区 → 正在运行的桌面窗口」的同步,以及「Codex ↔ DSH」的投递与交回,做成一个可安装、可离线验证的插件。

本页随 v0.1.0 发布:下方安装步骤不写死版本号,正文中的仓库内链接锁定在 v0.1.0 tag 上。

安装

  1. DSH 插件:设置 → 插件 → 添加插件,输入

    https://github.com/heswy/dsh-plugin-codex-bridge
    

    也可以填本地仓库的绝对路径;要固定到某个已发布版本,就按下面第 2 步 clone 到本地并 git checkout 该版本在 Releases 页上的 tag,再填本地路径。

  2. 两个 skill(可选,按需装单向或双向):

    git clone https://github.com/heswy/dsh-plugin-codex-bridge.git
    cd dsh-plugin-codex-bridge
    # 如需固定版本:git checkout <Releases 页上该版本的 tag>
    mkdir -p ~/.dsh/skills ~/.codex/skills
    cp -R skills/dsh2codex ~/.dsh/skills/
    cp -R codex-skills/codex2dsh ~/.codex/skills/
  3. 确认通道:插件启用后,运行 node tools/send.mjs --list 查看会话索引,python3 skills/dsh2codex/scripts/notify.py --probe 检查交回 CLI 能力。--probe 只探测,不发送。

这个版本包含

  • 工作区同步:从其他 DSH 进程注册的工作区同步进运行中的桌面窗口,含工作区对账、删除记忆与会话挂载,不需要重启,不抢会话写锁。
  • 文件投递箱:外部驱动(Codex 等)向桌面持有的会话投递消息并读取回执;steer 默认关闭,显式开启后才会打断进行中的回合。
  • 发送端 CLI:tools/send.mjs,参数见投递箱协议。
  • 双向 skill:dsh2codex(DSH 侧交回通知)与 codex2dsh(Codex 侧任务派发)。
  • 修复:客户端半注册 id 已改为等于包名(此前每次冷启动都会 duplicate registration);dsh2codex 在 PATH 上首个 codex 不可用时继续尝试下一个候选。
  • 文档:README 重写为中文主文档 + 完整英文版,深入内容移入 docs/。

验证

CI 在两个平台上跑同样的离线测试;本地可复现:

node --check lib/index.js && node --check lib/inbox.js && node --check lib/client.js && node --check tools/send.mjs
node tests/manifest.mjs      # 打包契约
node tests/harness.mjs       # 工作区对账与删除记忆
node tests/inbox.mjs         # 投递箱
node tests/relay-e2e.mjs     # 端到端:发送端 CLI ↔ 投递箱
python3 skills/dsh2codex/tests/test_notify.py
python3 codex-skills/codex2dsh/scripts/test_new_task.py

本次发布前的实跑结果:manifest 7 passed、harness 17 passed、inbox 12 passed、relay-e2e 5 passed、notify 32 passed,codex2dsh 模拟宿主测试 PASS。无需真实 DSH 或 Codex 服务。

已知边界

  • 插件依赖 DSH 内部服务契约,运行时 doctor 会报告漂移;没有版本闸门,不代表兼容所有 DSH 版本。
  • 已在 DSH 0.2.0-rc.2 + Node.js 20+ 验证;完整双向协作另需 Python 3.10+、Git,以及支持 queue --thread --message 的 Codex CLI。
  • 插件不会自动提交、推送、创建 PR、合并或发布。

English (summary)

First release: workspace sync between DSH processes plus a file inbox that lets external drivers (Codex) deliver messages into a session held by the running desktop app — no restart, no stealing the session write lock.

Install the plugin from https://github.com/heswy/dsh-plugin-codex-bridge (or pin a released tag), copy skills/dsh2codex → ~/.dsh/skills/ and codex-skills/codex2dsh → ~/.codex/skills/, then check the channel with node tools/send.mjs --list and python3 skills/dsh2codex/scripts/notify.py --probe. Fixes: the half-registered client id now equals the package name; dsh2codex keeps searching for a working codex when the first candidate on PATH fails. Verified offline: 4 Node suites and 2 Python suites, all green (see the commands above). Boundaries: relies on internal DSH service contracts with runtime doctor drift checks, verified on DSH 0.2.0-rc.2 + Node.js 20+.