edisontaisite/codex-harness-control ↗★ 2
codex-harness-control
Codex coordinator skill and Harness worker skills for explicit session routing, task leases, receipts and review.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:edisontaisite/codex-harness-control说明文档
阅读完整 README ↗使用(0.7.2)
- 打开 Harness 设置 → Codex 总控,“Codex Skill 安装”卡片会自动完成安装和共享配置,显示“已安装并配置完成”。如果卡片提示 Skill 刚完成安装或更新,请新建对应的 Codex 项目窗口或重启 Codex,使新 Skill 进入该窗口的技能列表。需要重试或更新时,点击卡片中的安装或更新 / 修复按钮。
- 选择项目,勾选一个、多个或全部模型。勾选即自动保存,不再需要保存按钮或角色命名。
- 选择任务检查和进度总结间隔。默认每 10 分钟检查、每 30 分钟总结;每个项目独立保存,也可以关闭自动接管。
- 在新建或重启后的对应 Codex 项目窗口输入一次:使用 $codex-harness-control 开始协作。这一步会把该窗口记录为协调线程,此后由插件自动唤醒,不需要再手动输入。
自动唤醒需要本机能找到 codex 命令(CHC_CODEX 可指定路径,CHC_DISABLE_SCHEDULER=1 可整体关闭)。设置页的"唤醒状态"会显示 等待首次唤醒 / 已唤醒待签到 / 上次签到 N 分钟前 / 最近 N 个周期没有签到 / 上次唤醒失败。
交付目录由 Codex 开始协作时自动匹配,不需要填写路径:优先使用已关联目录和原会话目录;不一致时对照已选模型近期回复中的现有代码路径。只有不能唯一匹配时,才请用户选择 Harness 项目名称。各项目独立保存对应关系,保留原模型会话。
项目和会话来自当前 Harness 的工作区注册表。不同项目的选择独立保存;同模型的不同会话可分别勾选。保存冲突或在途任务阻止变更时,页面会回读已保存状态并显示原因,不会自动重试派单。
宿主每次启动会在本机私有控制目录更新运行连接文件,使用其现有认证凭据,不依赖日志路径或手动输入 token。运行凭据仅在本机 hosts/ 目录保存(POSIX 文件权限 0600),不返回浏览器,不写进仓库。不要上传控制目录。
Codex companion 自动安装到 $CODEX_HOME/skills 或 ~/.codex/skills;安装目录中的私有 local.json 指向共享配置,因此 Codex 无需手动设置 CHC_HOME。默认控制目录为 ~/.codex-harness-control。开发者仍可使用 CHC_HOME 和 CHC_PYTHON 覆盖宿主运行环境。
仅添加工作区不等于安装插件。安装须使用实际运行的 profile(例如 desktop、safe 或 web)。
自动唤醒由插件所在的 profile 执行,所以只有正在运行的那个 profile 装了新版才会唤醒;装在别的 profile 里的旧副本不会生效,也不会报错,容易被误认为"已经升级了"。用下面这条确认哪些 profile 装了、各是什么版本:
for p in ~/.dsh/profiles/*/; do echo "$(basename $p): $(node -p "require('$p/node_modules/codex-harness-control/package.json').version" 2>/dev/null || echo 未装)"; done
多个 profile 同时运行时不会重复派单:唤醒前会按项目取一个本地占用(~/.codex-harness-control/heartbeat/ .lock.json),拿不到的 profile 跳过本轮。占用超过 2 分钟且原进程已经退出时才会被接管;仍存活的慢任务不会被抢占,旧持有者也不能删除新持有者的占用。
GitHub 安装请使用发布标签,不要跟随浮动的 main。这样文档或赞助信息的提交不会被误判为插件更新。若旧的浮动安装出现 ERR_PNPM_UNEXPECTED_PKG_CONTENT_IN_STORE,先备份该 profile,再用最新 vX.Y.Z 标签强制重装;不要删除整个 pnpm store 或重装全部插件。
高级 CLI 文档保留在命令参考,普通使用不需要手工配置。