🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

内部模块加载器 deepseek-ai/dsh-node-addon-require-builtin

DeepSeek Harness
deepseek-ai19 天前有提交已提供中文文档扫描:未发现敏感能力

这些 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
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 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
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 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-ai/dsh-node-addon-require-builtin
分享 · DeepSeek Harness Hub
deepseek-ai/dsh-node-addon-require-builtin

这些 Node-API 原生插件可以获取 Node 内部的 requireBuiltin,无需在启动 Node 时添加…

回到顶部