Repository navigation
Releases
v0.1.0
v0.1.0
首个版本。把「其他 DSH 进程的工作区 → 正在运行的桌面窗口」的同步,以及「Codex ↔ DSH」的投递与交回,做成一个可安装、可离线验证的插件。
本页随
v0.1.0发布:下方安装步骤不写死版本号,正文中的仓库内链接锁定在v0.1.0tag 上。
安装
-
DSH 插件:设置 → 插件 → 添加插件,输入
https://github.com/heswy/dsh-plugin-codex-bridge也可以填本地仓库的绝对路径;要固定到某个已发布版本,就按下面第 2 步 clone 到本地并
git checkout该版本在 Releases 页上的 tag,再填本地路径。 -
两个 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/
-
确认通道:插件启用后,运行
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+.