MonshinYu/dsh-bun-compat-patch

MonshinYu★ 1TypeScript最后同步: 2026-08-18

在 GitHub 打开

Bun 1.3.14 上运行 DeepSeek Harness 的 Node API 兼容层

README 摘要

DSH Bun Compatibility Patch dsh-bun-compat-patch 是一个用于在 Bun 1.3.14 上运行 DeepSeek Harness(DSH)的兼容层。 它不会修改 Bun,也不会直接修改项目中已经安装的 DSH。启动时,兼容层会在系统临时目录创建一个依赖影子副本,只对需要兼容的 DSH 模块进行转换,然后从影子副本启动 DSH。兼容层可以只复制 lib/ 到目标项目使用,不要求目标项目安装本包或配置包导出。 解决的问题 DSH 的部分功能依赖 Node.js API,而 Bun 1.3.14 尚未完整实现这些行为。本项目主要提供以下兼容处理: - 使用系统 Node.js 实现 node:module 的 stripTypeScriptTypes 。 - 使用 Node.js 原生 worker threads.Worker 执行代码运行时任务。 - 在 Bun 与 Node Worker 之间桥接 workerData 、 parentPort 和消息事件。 - 转发 Worker 的 stdout 与 stderr 。 - 保留 Node Worker 的 resourceLimits 内存限制能力。 - 提供 eventLoopUtilization 的缓存采样结果。 - 在兼容模式下禁用 Bun 1.3.14 无法支持的服务端 profile/config HMR。 环境要求 使用前需要准备: - Bun 1.3.14。 - Node.js 22.6.0 或更高版本。 - node 命令必须可以从 PATH 中直接执行。 - DeepSeek Harness 0.1.0-rc.7。 检查本机版本: 当前补丁针对 Bun 1.3.14 和 DSH 0.1.0-rc.7 的构建产物编写。升级 Bun 或 DSH 后,应重新确认兼容层中的转换规则仍然适用。 安装依赖与构建 进入补丁项目目录: 构建成功后会生成 lib/ 目录。所有运行入口都位于该目录中,并附带 sourcemap。 每次修改 src/ 下的 TypeScript 文件后,都需要重新执行: 复制 lib 到其他项目 构建后,将整个 lib/ 目录复制到已经安装 DSH 的目标项目中。例如: 然后在目标项目根目录运行: lib/ 也可以使用其他目录名,或放在目标项目的子目录中。预加载器会从 preload.js 所在目录向上查找: 因此该目录必须位于 DSH 项目根目录内。兼容模块使用 lib/ .js 的实际文件 URL 引入,不通过 node modules 包名解析,也不依赖目标项目的 package.json 。 使用源码启动 DSH 如果当前补丁项目自身已经通过 bun install 安装了 DSH,可以直接在补丁根目录运行: 如果补丁位…

在 GitHub 查看完整 README →
工具/开发deepseekdeepseek-harnessdeepseek-harness-plugindshdsh-plugindsh-plugins

分类