@dcl-regenesislabs/wearable-validator

中文文档
0.7.0发布于 2026/11/10Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 3590

Decractorand可穿戴并模出规则书作为代码——每个可单独运行的检查,在节点和浏览器中.

中文使用文档
文档目录8 节
  1. 在浏览器中:密码检查
  2. 在节点服务器上:代码和视觉(AI)检查
  3. 选项
  4. 结果
  5. 国 际
  6. 敌对投入
  7. 版本数
  8. 许可证

@dcl-regenerationlabs/可穿戴-验证器

德克萨斯州可以穿戴,可以引用规则书作为代码. 递给它一个构建者拉链,一个 .glb 或一个已公布的项目,它会同时返回每个问题:什么是错的,在哪里,测量值相对于极限,以及如何修复.

  • 36次密码检查 (文件,模型,emote,内容)在任何地方运行:浏览器或节点.
  • 4次视觉检查 让克洛德来判断 它们只在节点服务器上运行(一个本土的Unity渲染服务器).
  • 1个代码审查 (单位:千美元)smart-wearable-code组合 code)让克洛德读出一个智能可穿戴的场景并捆绑成文本,从不运行它:它说出代码是做什么的,而恶意或垃圾邮件代码则会使项目失败. 它只需要一个 /ai 审者.
npm i @dcl-regenesislabs/wearable-validator

在浏览器中:密码检查

与任何捆绑器一起工作,需要节点多填充.

import { validate, fixes } from "@dcl-regenesislabs/wearable-validator";

const bytes = new Uint8Array(await file.arrayBuffer()); // a Builder .zip or a bare .glb
const result = await validate(bytes);

result.passed; // a full run: false on any error, true when everything was checked and passed, null when a check was skipped; a bare .glb or a subset: always null
for (const finding of result.findings) {
  console.log(finding.severity, finding.message, finding.where, finding.measured, finding.limit);
  console.log("How to fix:", fixes[finding.check], finding.docs);
}

一个出版的作品同样用同样的方式:

import { validate, fetchCatalystItem, parseItemReference } from "@dcl-regenesislabs/wearable-validator";

// a marketplace or shop item URL, or a urn:decentraland:… reference
const item = await fetchCatalystItem(parseItemReference("https://decentraland.org/marketplace/contracts/0x…/items/0")!);
const result = await validate({ files: item.files, metadata: item.metadata, content: item.content });

在节点服务器上:代码和视觉(AI)检查

视觉检查需要三件事 在包旁边:

  1. 同行,准确的钉住: npm i @earendil-works/[email protected]
  2. 本地渲染服务器 (a Linux x86 64) (中文(简体) ). 通过Mesa和Xvfb来取用CPU的Unity播放器,由sha256检查的放出资产:
    curl -fsSL https://github.com/dcl-regenesislabs/wearable-validator/releases/download/render-server-1/render-server.tar.gz -o render-server.tar.gz
    echo "99f4927a1f044ec3995f59b5610dc97ffaf8d1c4bbb68031fca25f2a4eb4ae76  render-server.tar.gz" | sha256sum -c -
    mkdir render-server && tar -xzf render-server.tar.gz -C render-server
    
    这需要 libgl1 libglx-mesa0 libgl1-mesa-dri xvfb。存储器的根 Dockerfile 是一个工作图像, 在笔记本电脑上 packages/job/render-server-docker.sh 运行在多克.
  3. 克劳德设置的标志 (单位:千美元)claude setup-token, (中文(简体) ), sk-ant-oat…,约一年有效)。 API 密钥被拒绝 .
import { validate } from "@dcl-regenesislabs/wearable-validator";
import { createNativeRenderer } from "@dcl-regenesislabs/wearable-validator/native";
import { createPiReviewer, setupTokenCredentials } from "@dcl-regenesislabs/wearable-validator/ai";

// one long-running render server per process, reused across items
const renderer = await createNativeRenderer({ command: "./render-server/Builds/RenderServer/entrypoint.sh", build: "render-server-1" });
const reviewer = createPiReviewer({ credentials: setupTokenCredentials(process.env.ANTHROPIC_OAUTH_SETUP_TOKEN!) });

const result = await validate(zipBytes, {
  groups: ["files", "model", "emote", "content", "rendering"], // "rendering" adds the visual checks
  services: { renderer, reviewer }
});

await renderer.stop(); // on shutdown
  • 费用: 一切都在CPU上,没有GPU。 每件物品最多都会发出两个模型呼叫.
  • 重运行 : 传过去 result.captures 恢复为 captures 而只有缺失的视角再次出现.
  • 安全失败 : 视觉发现是警告 缺少证据、被拒绝或答复不当或没有 reviewer 永远不会通过;行变为 skipped 或者说 errored 与缘由. 每个视觉行携带 review (模型,即时版本,符号用法).

选项

选项它会做什么
checks只按名称运行这些检查( N)"triangle-count"; 规则 id 如 "M-01" 工作也一样。 判决变成 null。 。 。 .
groupsfiles, (中文(简体) ), model, (中文(简体) ), emote, (中文(简体) ), content (默认的集合), rendering 财务报告和审定财务报表 code。 。 。 .
category, (中文(简体) ), itemType赤裸裸的提示 .glb,没有元数据.
onProgress每次检查开始和结束时都会打电话,以进行现场UI.
signal一个 AbortSignal 取消运行.
captures, (中文(简体) ), services上面的视觉检查.

结果

  • passed数字 : false 当任何检查发现错误时, 即使其他行是 skipped 或者说 errored· ; true 当每次检查都运行但没有发现出错时; null 没有失败,但没有检查所有东西(这行是 skipped 或者说 errored页:1 skipReason 说为什么). 一个赤裸的 .glb 或检查的子集总是 null,错误与否.
  • summary数字 : { errors, warnings, checked, skipped }。 。 。 .
  • checks[]: 每检查一行, 使用 status (单位:千美元)passed, (中文(简体) ), failed, (中文(简体) ), warning, (中文(简体) ), skipped 或者说 errored, (中文(简体) ), measured 财务报告和审定财务报表 skipReason。一个 errored 与 retryable: true 可能通过再次运行该检查来回答(它的模型调用失败或超时,或者无法读取答案);没有它,再次运行会以同样的方式结束(一个没有定论的答案,没有模型,请求超过预算).
  • findings[]数字 : check, (中文(简体) ), severity, (中文(简体) ), message (为创作者撰写), where, (中文(简体) ), measured, (中文(简体) ), limit, (中文(简体) ), rule, (中文(简体) ), docs。 。 。 .

查询 :

  • checks 财务报告和审定财务报表 registry 描述每个检查 : explanation, (中文(简体) ), fix, (中文(简体) ), details, (中文(简体) ), docs。 。 。 .
  • fixes[name] 保持每张支票的固定步骤.
  • manifest 拥有每个限制, 及其 version 是规则版本.

国 际

npx @dcl-regenesislabs/wearable-validator validate item.zip [--checks triangle-count] [--groups model] [--json]

敌对投入

每条输入路径在解码前都会被绑定:zip的输入计数和膨胀大小,PNG和JPEG等像素,以及GLB的存取器和图像解锁到什么处. 超过约束的文件会发现错误, 永远不会崩溃 。 要读取显示或预览的拉链,请使用 unpackZip(bytes): 它应用相同的界限并返回 { files, emptyFiles }。 。 。 .

版本数

每次图书馆更改合并为 main 发布关于 next 标记 (npm i @dcl-regenesislabs/wearable-validator@next) (中文(简体) ). GitHub 发布时加了 semver 版本标签 latest; 用规则版本标记它 (manifest.version) (中文(简体) ). 再来点 仓库数字 : 视觉评论如何运作 财务报告和审定财务报表 添加检查。 。 。 .

许可证

阿帕奇 - 2.0

版本与发布记录

@dcl-regenesislabs/wearable-validator 共发布 24 个版本,首次发布于 2026/09/25;过去 12 个月发布了 24 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.0latest2026/11/102 天前
0.6.5-42686713227.commit-3c9b5ccnext2026/11/102 天前
0.6.5-42686475694.commit-29bbdbd2026/11/102 天前
0.6.5-42686391225.commit-e02d8e92026/11/102 天前
0.6.5-42686122463.commit-084aafd2026/11/102 天前
0.6.42026/11/047 天前

关于 @dcl-regenesislabs/wearable-validator 的常见问题

@dcl-regenesislabs/wearable-validator 是什么?

Decractorand可穿戴并模出规则书作为代码——每个可单独运行的检查,在节点和浏览器中.

如何安装 @dcl-regenesislabs/wearable-validator?

在项目目录运行 npm install @dcl-regenesislabs/wearable-validator,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 wearable-validator,可以用 npx wearable-validator 直接运行。

@dcl-regenesislabs/wearable-validator 支持 TypeScript 吗?

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

@dcl-regenesislabs/wearable-validator 支持 ESM 还是 CommonJS?

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

@dcl-regenesislabs/wearable-validator 需要什么版本的 Node.js?

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

@dcl-regenesislabs/wearable-validator 可以商用吗?

@dcl-regenesislabs/wearable-validator 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dcl-regenesislabs/wearable-validator 的下载量有多少?

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

@dcl-regenesislabs/wearable-validator 还在维护吗?

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