内部模块加载器 deepseek-ai/dsh-node-addon-require-builtin
DeepSeek Harness这些 Node-API 原生插件可以获取 Node 内部的 requireBuiltin,无需在启动 Node 时添加…
42.3/100
综合分
14
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/13 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add deepseek-ai/dsh-node-addon-require-builtin该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包node-addon-require-builtin-workspace(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 01:43:03
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/10/31(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 内部使用的一个组件
README
由 DeepSeek 最新模型翻译生成Node addon internal require
这些 Node-API 原生插件可以获取 Node 内部的 requireBuiltin(),无需在启动 Node 时添加 --expose-internals。
它们并非完全基于公开 Node-API 的实现。每个插件都通过稳定的 N-API v9 入口加载,但核心功能依赖于探测 Node/V8 的私有运行时状态,并在运行时验证结果。
如果运行时不满足预期的不变条件,插件必须拒绝继续运行,而不是猜测偏移量。
安装
npm install node-addon-internal-loader
or
npm install node-addon-require-builtin
发布的包分为两个产品系列,以及一个共享的加载器包:
node-addon-native-custom-loader
node-addon-require-builtin
node-addon-require-builtin-darwin-arm64
node-addon-require-builtin-darwin-x64
node-addon-require-builtin-linux-arm64-gnu
node-addon-require-builtin-linux-x64-gnu
展开完整文档(README 剩余 1 节)
Node addon internal require
这些 Node-API 原生插件可以获取 Node 内部的 requireBuiltin(),无需在启动 Node 时添加 --expose-internals。
它们并非完全基于公开 Node-API 的实现。每个插件都通过稳定的 N-API v9 入口加载,但核心功能依赖于探测 Node/V8 的私有运行时状态,并在运行时验证结果。
如果运行时不满足预期的不变条件,插件必须拒绝继续运行,而不是猜测偏移量。
安装
npm install node-addon-internal-loader
or
npm install node-addon-require-builtin
发布的包分为两个产品系列,以及一个共享的加载器包:
node-addon-native-custom-loader
node-addon-require-builtin
node-addon-require-builtin-darwin-arm64
node-addon-require-builtin-darwin-x64
node-addon-require-builtin-linux-arm64-gnu
node-addon-require-builtin-linux-x64-gnu
node-addon-require-builtin-win32-arm64-msvc
node-addon-require-builtin-win32-ia32-msvc
node-addon-require-builtin-win32-x64-msvc
node-addon-internal-loader
node-addon-internal-loader-darwin-arm64
node-addon-internal-loader-darwin-x64
node-addon-internal-loader-linux-arm64-gnu
node-addon-internal-loader-linux-x64-gnu
node-addon-internal-loader-win32-arm64-msvc
node-addon-internal-loader-win32-ia32-msvc
node-addon-internal-loader-win32-x64-msvc
每个入口包都需要一个经过 CI 验证、适用于当前平台的可选依赖包。
如果没有兼容的可选预构建包,安装将直接失败,而不是编译未经验证的本地二进制文件。
用法
如果只需要访问 CommonJS 和 ESM 加载器的内部实现,请使用 node-addon-internal-loader:
const internalLoader = require('node-addon-internal-loader');
const esmLoader = internalLoader.requireBuiltin('internal/modules/esm/loader');
const cascadedLoader = esmLoader.getOrInitializeCascadedLoader();
如果需要不受限制地加载内部内置模块,请使用 node-addon-require-builtin:
const requireBuiltinAddon = require('node-addon-require-builtin');
const realm = requireBuiltinAddon.requireBuiltin('internal/bootstrap/realm');
两个入口包都提供相同的精简 API:
- requireBuiltin(moduleId):返回指定的内部模块。
- isAllowedInternalId(moduleId):返回是否允许加载 moduleId。
- getBindingInfo():按需返回原生绑定的诊断信息,例如 mode、 product、backend、abi、bindingSource 和 bindingPath。
node-addon-internal-loader 只允许加载 internal/modules/cjs/loader 和 internal/modules/esm/loader;原生插件会在调用 Node 内部的 requireBuiltin() 之前执行白名单检查。node-addon-require-builtin 不限制模块 ID:
isAllowedInternalId() 始终返回 true,而 requireBuiltin(id) 会将任意字符串 ID
转交给 Node。
白名单和支持的 Node 版本范围请参阅 docs/internal-modules.md。
返回的内部模块属于 Node 不稳定的实现细节。这些包不会将 Node 内部实现变成公开 API。
后端
原生实现包含产品和后端两个维度:
产品:
- internal-loader:默认产品,执行 CJS/ESM 加载器白名单检查。
- require-builtin:不受限制的产品,将任意字符串 ID 转交给 Node 的 builtin require。
后端:
- napi:默认的发布后端。为每个受支持的平台/架构构建一个 napi-v9 二进制文件,并在运行时探测 Node/V8 的私有状态。
- nodeabi:按 Node 主版本/ABI 区分的后端,用于本仓库的源码构建验证,不作为可选预构建产物发布。
发布的加载器默认使用 auto,会选择当前平台的 napi-v9 可选预构建包。
设置 NARB_BACKEND=napi 可强制使用该后端。源码构建和特定产品的测试通过 NARB_PRODUCT=internal-loader 或 NARB_PRODUCT=require-builtin 选择产品。
开发
corepack enable
pnpm install
pnpm build
pnpm test
pnpm build 会构建 TypeScript 入口和 N-API 原生插件,默认将原生插件输出到 packages/internal-loader/entry/build/。设置 NARB_PRODUCT=require-builtin 可将不受限制的产品构建到 packages/require-builtin/entry/build/。
源码构建仅用于仓库开发和 CI 流程;发布的包不包含用于安装时回退构建的原生源码。
使用官方 Node.js 公共头文件比较后端:
eval "$(pnpm -s headers -- --version 24.18.0)"
pnpm test:backends
准备当前平台的预构建产物:
eval "$(pnpm -s headers -- --version 24.18.0)"
pnpm build:prebuild:napi
pnpm test:optional
完整的本地开发流程请参阅 docs/development.md,运行时设计请参阅 docs/architecture.md,可选依赖包模型请参阅 docs/packaging.md。
支持状态
可选预构建包所支持的平台范围有意保持保守:
| Platform | Node 20 | Node 22 | Node 24 | Node 26 |
| macOS arm64 (darwin-arm64) | Supported | Supported | Supported | Supported |
| macOS x64 (darwin-x64) | Supported | Supported | Supported | Supported |
| Linux glibc arm64 (linux-arm64-gnu) | Supported | Supported | Supported | Supported |
| Linux glibc x64 (linux-x64-gnu) | Supported | Supported | Supported | Supported |
| Windows arm64 MSVC (win32-arm64-msvc) | Supported | Supported | Supported | Supported |
| Windows x86 MSVC (win32-ia32-msvc) | Supported | Supported | No 32-bit runtime | No 32-bit runtime |
| Windows x64 MSVC (win32-x64-msvc) | Supported | Supported | Supported | Supported |
两个产品系列都会为每个受支持的平台发布一个 napi-v9 二进制文件,并在 Node 20、22、24 和 26 上进行测试。Linux GNU 预构建包要求 glibc 2.28 或更新版本,以及兼容 GLIBCXX_3.4.25 的 C++ 运行时。目前尚未发布 Linux musl 预构建包。
Node.js 在 v22 之后停止提供 32 位 Windows 二进制文件,因此 win32-ia32-msvc 仅覆盖 Node 20 和 22。
两个产品还会在 Electron 43.0.0、44.0.0、44.7.0 和 45.0.0-alpha.6 的真实主进程中进行测试。
Electron 测试矩阵覆盖 macOS arm64/x64、Linux glibc arm64/x64 和 Windows arm64/x64。
Electron 43 额外覆盖 Windows ia32;后续版本不再发布 ia32 二进制文件。
其他 Electron 版本在完成分析并被明确加入支持范围之前,都会被拒绝使用。
详情请参阅 docs/support-matrix.md 和 docs/internal-modules.md。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
deepseek-ai/dsh-node-addon-require-builtin
这些 Node-API 原生插件可以获取 Node 内部的 requireBuiltin,无需在启动 Node 时添加…
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,080已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,109已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,425已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,279已汉化DSH
70.8
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2