zerosloney/dsh-cbx-orch

zerosloney★ 0TypeScript最后同步: 2026-08-16

在 GitHub 打开

Durable coding-agent orchestrator as a DeepSeek Harness plugin: dispatch tasks to codebuddy/opencode/omp/cline/qwen with persistent jobs, queue, review, and rollback.

README 摘要

dsh-cbx-orch 把 cbx-orch 的持久化任务编排能力移植为 DeepSeek Harness (dsh) 插件 。在 dsh 内直接编排外部编码 CLI(codebuddy / opencode / omp / cline / qwen),任务状态、队列、测试日志、diff、审查报告全部落盘,进程崩溃后可恢复续跑。 这是什么 dsh-cbx-orch 是一个 dsh bundle 包 :它导出两个 cordis 插件(core + web),把 cbx-orch 的编排引擎接入 dsh 的插件机制。 能力 落点 编排引擎(状态机/队列/重试/审查/artifact/审批/adaptive) ctx.cbx 服务 + 移植的引擎模块 5 个外部执行器适配器(codebuddy/opencode/omp/cline/qwen)+ 自定义插件执行器 经 ctx.subprocess 拉起子进程 cbx 工具 ctx.tools (dsh agent 可直接调用) /cbx- 斜杠命令 ctx.commands Web 仪表盘 + REST + SSE ctx.webServer ,挂在 /cbx 前缀下 .cbx.json 工作区配置 保留,与插件配置叠加 与 cbx-orch 原版的差异:MCP server、独立 CLI、TUI 在 dsh 内被原生工具/命令/Web 取代,不再移植。任务 worker 改为 进程内调度 (执行器/测试仍是树级可终止的 ctx.subprocess 子进程),取消时经 job-runtime 终止活动子进程。core/web 插件会为各工作区拉起 常驻调度器 (30s 定时 dispatch + 租约防多实例),崩溃重启后自动回收死 worker 并续跑遗留任务: - 进程内死 worker 即刻回收 :worker 注册表注销即判死(不等 45s 心跳超时),并发槽立即释放。 - 僵尸接管 :事件循环阻塞的 worker(心跳停更但进程存活)由调度器接管——写取消标记、终止其子进程、强制释放本进程持有的 run.lock / gate.lock 后重派,不再出现"重派撞锁直到熔断"的永久卡死。 - 崩溃续跑跳过已完成 stage :链式任务的 stage 报告逐个持久化,回收重入时已完成的 stage 直接跳过,不整链重放。 - 审批通过原子重入队 :before run 审批的状态回 queued 与队列条目重新激活在同一事务落盘,不存在"已批准但永不调度"的窗口。 - 死 worker 回收按连续计数熔断(3 次后停止重派,指数退避重试); needs fix / review failed 在队列视图中显示真实状态而非 failed。 安装 作为一个 bundle 包装进某个 profile: npm …

在 GitHub 查看完整 README →
终端/TUIdeepseek-harnessdsh-plugintuiagent

分类