@feng0531/dsh-execution-bus

中文文档
1.7.5发布于 2026/11/14SEE LICENSE IN LICENSETypeScriptES Module近 30 天下载 7404

萧何 / Xiao He: declarative runtime for DSH agent tool plans (DAG execution, retries, persistence, recovery)

原始使用文档
文档目录11 节
  1. 为什么使用萧何?
  2. 适合谁?
  3. 安装与启用
  4. 1. 确认环境
  5. 2. 安装插件
  6. 第一次使用
  7. 一个可读的计划
  8. 常用入口
  9. 使用边界
  10. 继续阅读
  11. 许可与反馈

萧何 / Xiao He

给 DeepSeek Harness(DSH)的多步骤工具任务加上依赖调度、运行记录和可核查的恢复流程。

模型说明“做哪些步骤、先后有什么依赖”,萧何负责执行与保存结果;主助手(Lead)负责判断结果、继续修改和验收。适合把已经明确的重复操作交给运行时,而不是让模型每次重新编写调度代码。

DSH 插件:@feng0531/dsh-execution-bus · 当前版本 1.7.5 · 版本变化

**使用前先确认:**本版重点适配 DSH 0.2.2-rc.3,并对已审计的 V0.2 legacy/alpha/RC 公开 API 做尽力兼容;未验证版本及未来版本不作兼容承诺,不保证 V0.2 全系列兼容。标准插件支持普通工具 DAG(按依赖连接的步骤图);独立只读 Worker 不可直接使用,含 agent 的计划会因缺少可信父策略适配器而拒绝。非商业用途按许可证使用,商业用途须另行取得书面授权。

为什么使用萧何?

  • 少写调度代码:用计划声明步骤和依赖,独立步骤可并行,前置成功后再执行后续步骤。
  • 结果可追溯:每步保存检查点,按运行或任务查看状态、结果与下一步待办。
  • 只读失败可控重试:仅 read/glob/grep 支持有限重试;确定性错误和超时不会盲目重试。
  • 中断后不冒险重放:显式恢复可重排在途只读步骤;遇到未知写入、命令或 Agent 状态停止恢复,先核实实际影响。
  • 执行与验收分开:运行成功不等于任务完成;已知悉、决策处置和结果复核各有记录,不互相冒充。

它不是分布式工作流服务、后台常驻代理或自动开发平台,也不替代 DSH 的授权与沙箱。

适合谁?

推荐给已使用目标版本 DSH、希望组织明确多步骤流程的非商业用户,例如:

  • 并行读取多份文件,收齐结果后由主助手分析;
  • 按固定顺序执行检查、收集诊断材料,并保留每步结果;
  • 跟踪同一任务的多次运行,查找待处理问题和待复核结果。

**不必为了这些场景安装:**一次简单读写、仍在探索的任务、跨机器调度,或期望安装后即可让多个 Agent 自主修改和发布代码。简单操作继续使用原工具更直接。

安装与启用

1. 确认环境

  • 本版重点适配 DSH 0.2.2-rc.3、Node.js 22 或更高版本;兼容范围仅包含已验证的 DSH V0.2 版本,不推导对未验证版本或未来版本的兼容。
  • 宿主已有声明式 ptc 预设。萧何从它派生独立预设,不覆盖原 PTC 或全局工具。
  • 宿主依赖目标与已知告警见宿主兼容性。

2. 安装插件

安装本版:

npm install --ignore-scripts @feng0531/[email protected]

将包加入该配置的 dsh.profile.bundles,或通过宿主插件管理器加载 bundle。加载后选择 萧何 / Xiao He,预设 ID 为 xiao-he-runtime。安装 npm 包本身不等于已加载 bundle;发布新版本也不会自动升级或重启你的 DSH。

需要当前工作树的新兼容时,须使用本地候选,在独立配置和包环境中完成候选绑定的隔离验证;不能用上述公开包安装命令代替。legacy/modern 宿主 API 适配实现仍在验证;仅对逐版本验证通过的 DSH V0.2 版本声称支持。不修改、升级或重启日常 DSH。授权与沙箱仍由宿主管理,插件不会接管原有终端、编辑或全局工具。

第一次使用

可以向主助手这样描述任务:

用萧何并行读取 README.md 和 package.json,保存每步结果,再由你总结项目用途与运行要求。先查询能力,只使用普通工具,不创建 Worker。

运行顺序:

明确任务 → 查询能力 → 提交步骤计划 → 按依赖执行并保存结果 → 主助手读取与核实 → 交付结果

一个可读的计划

下面是在本仓库读取两个文件的计划。其他项目应换成实际存在、且宿主允许访问的路径:

{
  "goal": "并行读取项目介绍和包配置",
  "concurrency": 2,
  "steps": [
    { "id": "intro", "tool": "read", "input": { "file_path": "README.md" }, "retry": 1 },
    { "id": "package", "tool": "read", "input": { "file_path": "package.json" }, "retry": 1 }
  ]
}

由主助手调用 runtime_run,输入为 {plan: 上面的计划}。默认同步等待,返回运行 ID 和步骤状态;实际内容通过 runtime_result({runId}) 读取。runtime_capabilities({}) 可先查询能力,但查询不是授权或容量预留。

后续步骤可用 depends_on:["intro","package"] 声明执行依赖。普通工具的依赖只控制顺序,不自动传递或插值前置结果;需要根据文件内容决定下一步时,应由主助手读完结果后再组织计划。

常用入口

想做什么工具
确认可用能力runtime_capabilities
提交计划、查看状态、读取结果runtime_run、runtime_status、runtime_result
查看同任务运行、跨任务待办或待复核结果runtime_task、runtime_query
发起取消、显式恢复中断运行runtime_cancel、runtime_resume
记录已知悉、决策处置、结果复核runtime_acknowledge、runtime_decision、runtime_review
创建显式交接摘要、管理通知回执runtime_handoff、runtime_notification

例如 runtime_query({view:"needs_action"}) 查待处理事项,runtime_query({view:"review"}) 查待复核结果。查询仅限当前所有者的保留记录,不搜索输入或结果正文,不自动执行后续操作。全部参数、分页和示例见协议。

使用边界

  • 计划大小:最多 32 步、64 KiB,并发 1–4;单步超时 1–600 秒,只读重试最多 3 次。直接工具步骤支持 read/glob/grep/edit/write/pwsh,仍须通过宿主准入。
  • 同步调用:普通插件调用应使用同步等待。携带 exec.toolSet 的普通计划不能异步脱离准入生命周期;仅无该集合的受控宿主调用可使用普通 DAG 异步接口,不得删除准入集合绕过限制。
  • 取消与恢复:取消会停止新调度并传播信号,但不保证已开始的宿主操作停止或回滚。不保证 exactly-once(副作用恰好发生一次),未知副作用和未知 Agent 不自动重放。自动转后台的命令仍须由主助手通过原生 Job 工具收集或停止。
  • 保存与隐私:运行记录默认位于 DSH_HOME/tmp/xiaohe-runtime/runs,可用 XIAOHE_RUNTIME_DIR 覆盖;保留最新 100 条终态,保护运行中和中断记录。输入与结果可能包含敏感内容,应保护记录目录。单步结果超过 64 KiB 仅保留截断标记,分页不能恢复原文。
  • 复核与通知:accepted 是所有者声明,不是独立验收或用户批准;通知 sent 也只是投递方声明。通知工具本身不发送消息,不自动重发未知投递。
  • Worker 扩展:仅显式接入可信 DelegationPolicyAdapter 的受控宿主集成可创建独立只读 Worker。标准入口报 RUNTIME_AGENT_POLICY_UNSUPPORTED,不能删父策略或修改已安装宿主绕过。扩展契约见协议。

组件回归不代替真实桌面 GUI、真实模型和实际 OS 沙箱验收;这些环境验证仍未完成。测试范围与局限见验证说明,错误判读见故障处置。

继续阅读

读者文档
使用者工具与运行协议 · 状态与故障处置 · 兼容性
开发者与宿主集成者运行时设计 · 产品结构 · 验证范围 · 流程试验 · 发布流程
版本与设计记录1.7.0 发布说明 · 全部发布说明 · 研发路线 · 原型对照与取舍
旧总线历史0.x 复盘 · 第三方整合记录

从源码验证:

npm ci --include=dev --ignore-scripts
npm run check
npm run verify:package

隔离安装检查和发布操作另见开发文档,不要将示例命令用于未经确认的日常宿主环境。

许可与反馈

本项目采用非商业源码公开许可证,不是 OSI 认可的开源许可证。公司内部开发商业项目、有偿交付、商业产品集成等用途也需要书面授权;具体以完整许可为准。依赖项遵循各自许可,见第三方说明。

发现问题或希望改进使用体验,可在 GitHub Issues 提供 DSH 与插件版本、最小复现步骤及脱敏错误信息;不要公开凭据、私有输入或完整敏感运行记录。

版本与发布记录

@feng0531/dsh-execution-bus 共发布 52 个版本,首次发布于 2026/10/15;过去 12 个月发布了 52 个版本。

版本发布日期距今
1.7.5latest2026/11/14今天
1.7.32026/11/131 天前
1.7.22026/11/103 天前
1.7.12026/11/104 天前
1.7.02026/11/095 天前
1.6.02026/11/068 天前

关于 @feng0531/dsh-execution-bus 的常见问题

@feng0531/dsh-execution-bus 是什么?

萧何 / Xiao He: declarative runtime for DSH agent tool plans (DAG execution, retries, persistence, recovery)

如何安装 @feng0531/dsh-execution-bus?

在项目目录运行 npm install @feng0531/dsh-execution-bus,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@deepseek-ai/cordis(~4.0.4 || ~4.1.0)、@deepseek-ai/dsh-llm(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-agent(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-scope(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-tools(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-session(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-system-prompt(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-user-approval(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-sandbox-policy(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/cordis-plugin-include(~1.0.0 || ~1.1.0)、@deepseek-ai/dsh-working-directory(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)、@deepseek-ai/dsh-agent-preset-registry(>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0 || >=0.2.2-alpha.2 <0.3.0-0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@feng0531/dsh-execution-bus 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@feng0531/dsh-execution-bus 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@feng0531/dsh-execution-bus 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@feng0531/dsh-execution-bus 可以商用吗?

@feng0531/dsh-execution-bus 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@feng0531/dsh-execution-bus 的下载量有多少?

根据 npm 官方下载统计,@feng0531/dsh-execution-bus 在 2026/10/15 – 2026/11/13 这 30 天内被下载 7,404 次,日均约 247 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@feng0531/dsh-execution-bus 还在维护吗?

最新版本 1.7.5 发布于 2026/11/14(今天);至今共发布 52 个版本,其中过去 12 个月发布了 52 个;首次发布于 2026/10/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。