@expo/verify

中文文档
0.11.24发布于 2026/11/05MITTypeScriptES Module零依赖近 30 天下载 4989

用于/核查剂管道的便携式发动机——在GitHub Actions、EAS Workflows或当地运行。 参见expo-sandbox-mcp LLP 0020 (英语).

中文使用文档
文档目录8 节
  1. 使用量
  2. 图标
  3. 图书馆的使用
  4. 复制牵引请求
  5. 曲线
  6. 采用回购
  7. 运行 EAS 工作流程
  8. 释放

@ expo/ 验证

便携式发动机 /verify 代理管道:AI代理调查a GitHub 在孤立的沙盒中发布或拉出请求, 第二次代理攻击 和经修订的结论 贴回线索。 这个包 包含全部逻辑; 使用它的重置程序只持有一薄的工作流程文件 (单位:千美元) .expo-agents/verify/ 简介.

记录设计: 当地雇员0001人 在此 仓库.

使用量

不需要安装 :

npx @expo/verify <command>

图标

命令它会做什么
verify run [--dry-run]继续调查 这里 在CI跑道上,埃及AS工人或笔记本电脑上:上下文——调查——评论——订正——出版。 env中的评论正文选择评论路径(门,ock,宣布,报告). --dry-run 调查是真实的.
verify mint 编号 : verify revoke一个工作流程运行的被扩展脚本步骤 周围 run数字 : mint 交换父 EXPO_SANDBOX_MCP_TOKEN 并写下经纪人的 mcp.json 改为 VERIFY_MCP_CONFIG (0600); (中文(简体) ); revoke 后释出. 然后跑步只持有被测距符——母被映射到GHA上的"薄荷"/"重取"步"上,而"EAS"上的跑步被空白. 无 VERIFY_MCP_CONFIG, (中文(简体) ), run mints in- process (笔记本电脑路径).
verify dispatch <target>开始跑步 远程 在配置文件的运行器(GitHub Actions或EAS Workflows)上,静悄悄地用于一个问题/PR编号或URL. verify <target> 是简写.
verify triage <owner/repo#N> [--dry-run]将一期或PR(分类为 评语 修正,无工具)分类,并发布路由标签外加分解评论作为剖面的bot. --dry-run 在本地写入拟议结果而不触及 GitHub 。 仅 expo/expo 现已支持;见 曲线。 。 。 .
verify init --repo <owner/name>脚手架 .expo-agents/verify/ 和细长的跑道工作流程。 在 0.9 保留前设置的重置 .verify/:每个命令先找取新名后倒回旧名.
verify verify-configCI卫:剖面验证,认证-env锁,版本-pin断言.
verify doctor唯读环境/简介/信誉分解.
verify status 编号 : verify ls飞行中和最近的飞行/飞行中 在 GitHub 动作上, 列出发送和评论工作流程, 跳过已跳过闸口的运行 continue-on-error所以跑步本身总是说成功。 EAS运行的标题来自引擎输出的工作输出(目标,模式,结果),因为EAS没有每个运行的名称.

注释命令( E)/verify, (中文(简体) ), @expo-bot verify, (中文(简体) ), @expo-bot check, (中文(简体) ), @expo-bot triage,和工作要求)获得 . . . "开始"默认评论. 选择代理型号 --model <name>页:1 短手旗( x)--fable, (中文(简体) ), --opus, (中文(简体) ), --sonnet, (中文(简体) ), --haiku),或该短语 with <name> 以校验、检查和分解命令为例 @expo-bot verify with fable工作要求只接受旗帜表格,因为 "与"是任务中的普通道人. 添加 --announce 在一号线上, 比如说 @expo-bot verify --announce。 。 。 . --no-announce 优先,如果 两旗都有 调查结果和失败报告仍然传入线索. 使用 verify status 查找运行时无需开始注释.

图书馆的使用

软件包还导出敏感路径分类器, 所以另一个引擎可以 使用与出版商相同的规则:

import { sensitivePaths } from "@expo/verify";

sensitivePaths([".github/workflows/ci.yml", "src/index.ts"]);
// [{ path: ".github/workflows/ci.yml", category: "ci", reason: "..." }]

每个命中都有一类:

  • ci: 文件 CI 运行, 例如 .github/, (中文(简体) ), .eas/, (中文(简体) ), fastlane/, (中文(简体) ), .changeset/config.json词根 bin/, (中文(简体) ), tools/,以及 scripts/。 。 。 .
  • agent-instructions: 文件代理已读取, 例如 AGENTS.md, (中文(简体) ), CLAUDE.md, (中文(简体) ), GEMINI.md, (中文(简体) ), .claude/, (中文(简体) ), .agents/, (中文(简体) ), .cursor/,以及 .mcp.json。 。 。 .
  • supply-chain: 锁文件(包括 npm-shrinkwrap.json, (中文(简体) ), patches/, (中文(简体) ), binding.gyp,包括 bunfig.toml,以及依赖文件,例如 Gemfile 财务报告和审定财务报表 Podfile。 。 。 .
  • vcs-hooks: git 钩子, 钩子管理配置, 如 lint- staged 和 lefthook 文件, 和 git 配置等 .gitmodules 财务报告和审定财务报表 .gitattributes。 。 。 .
  • secrets: 密钥、证书、, .env 文档,以及 secrets/。 。 。 .
  • package-manifest(单位:千美元) package.json 谁 scripts, (中文(简体) ), packageManager, (中文(简体) ), devEngines, git 钩配置lint-staged, (中文(简体) ), simple-git-hooks, (中文(简体) ), husky, (中文(简体) ), trustedDependencies,或依赖性取代更改。 过 { manifests } 与文本前后;没有文本,则每个 package.json 是一个打击.

匹配忽略了大小写, 因为一个macOS的检查完成 。 出版社拒绝 每一次命中,也拒绝任何相接或子模块的变换,没有 路径规则可以看到。 套件还出口 deniedPaths (出版者否认), unsafePath,以及 hasControlCharacters。 。 。 .

复制牵引请求

单位 pr 固定模式 出版商对照每个打开的拉杆检查固定 在打开一个前请求。 文件仅与短名单重叠: 打开的 PR 触摸每个非更改日志文件 固定触摸是一个候选人,封顶在 5个 对每个候选人来说,一个没有工具、有计划的模式呼叫读取 共享文件补丁两侧并回答是否候选人已经 做出同样的改变(templates/duplicate.md 这是政策。 一个自信 复制保存被推取的分支, 不打开 PR; 任何其它内容打开 PR 并列出候选人,有法官的一行理由,为审查员. 没有判断(没有模型,呼叫失败,回复错误) 是一个对称的文件集匹配。 所有的决定都写在 .verify-out/duplicate-judge.json。 。 。 .

配置字段, 所有密钥可选 : "duplicateJudge": { "enabled": true, "model": "claude-haiku-4-5-20251001", "threshold": 0.7 }法官继续 运行的模型证书 具有相同的隔离 与分化.

曲线

从此源检出, 有 gh 认证和克劳德代码版本 支助 --safe-mode 财务报告和审定财务报表 --json-schema数字 :

bun src/cli.ts triage expo/expo#49760 --dry-run --out-dir /tmp/verify-triage

Triage支持博览会议题和公关. 它收集上下文并运行 与Opus一起修订,没有工具或沙盒进入. --dry-run 在不写给 GitHub 的情况下编写拟议结果.

维护者可以评论 @expo-bot triage 对一个问题或公关进行分类 并发布路线标签外加初步分解评论. 收到命令 qq 承认; 起始回复选择使用 --announce。第一个 verify 调查前还要进行分解 稍后验证运行 以配置的bot 编写完成的分解注释跳过目标; 明确的分解命令总是重放它。 曲折失败从不阻碍验证.

对于本地出版,略去 --dry-run 并使用目标寄存器信任的 简介( e)--config-dir PATH 如果需要),认证为被配置的机器人. 出版时只添加了现有的路由标签并更新了bot的分门别类评论; 它从不关闭目标或删除标签。 平台变成 iOS, (中文(简体) ), Android, (中文(简体) ), 或者说 Platform: web。PR没有SDK标签;其作者决定是否 添加一个。 错误问题可能会收到 severity: critical, (中文(简体) ), severity: high, (中文(简体) ), severity: medium, (中文(简体) ), severity: low,或 severity: trivial。保留任何现有严重性标签,包括 明确重运行。 报告详细说明了代码、名称和含义(例如:, S3 - Low) (中文(简体) ). 评论使用短发和射程子弹而不是 说明摘要。 判决中仍然记录着在工作期间的状况,这说明 严重,但评论却不提。 未确定完成的判决没有标签,但仍数 和三岁小孩一样 在博览会/博览会中,每期新发行和公关、外部 包括贡献者,自动与 verify triage <target> --if-untriaged它跳过机器人的目标 已经三进制了. 政策是 templates/triage.md;可配置标签地图仍被推迟.

每个目标都有一个独特的输出目录,包含上下文,相位响应, draft.json, (中文(简体) ), review.json, (中文(简体) ), result.json,以及任意 proposed-comment.md。 。 。 . 其结果包括拟议/取消标签、输入出处、过期时间、, 和模型报告的美元成本(估计数,而不是订阅发票). 拖欠额保留 error.json 以及任何完成的阶段文物.

选项 : --model (默认) claude-opus-5-5, (中文(简体) ), --timeout-seconds (违约120人) 相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相 --max-budget-usd (默认每阶段0.50起,最大) 5. 每跑有三个阶段,没有自动复跑。 发送到 模型被封顶为6万个字符,并明确记录了截取. 分类器没有工具或 MCP 服务器; 它接收一个允许列表 环境,并使用在空临时中禁用的定制操作 工作目录。 只有固定收藏家使用GitHub证书.

采用回购

  1. 在repo的退票中: verify init --repo owner/name [--runner gha|eas] [--fix pr|gist|inline|comment|none] 修正模式 : pr 从瓶子叉打开拉出请求; gist编号 :inline 发布单独的补丁注释; comment 将被保护的补丁折叠到结果本身注释中(a) <details> b. 以简洁的解释和栅栏式的diff为主,用于不得收到第二次评论或公关的重置; none 仅验证.
  2. 填写 .expo-agents/verify/build.md (repo's sandbox built creathe) 和 (repo's sandbox built creathe) (雷波的沙盒建立食谱)和 .expo-agents/verify/policy.md (针对特定代理人的政策).
  3. 添加生成的工作流程名称的机密, 然后运行 verify verify-config。 。 。 .
  4. 调度: verify <issue-number> (或 verify <n> --runner eas) (中文(简体) ).

运行 EAS 工作流程

verify <n> --runner eas 从 repo 的取出 上传该退出 校验文件 —— 说 .expo-agents/verify/, (中文(简体) ), .eas/workflows/verify.yml, (中文(简体) ), app.json, (中文(简体) ), eas.json 并负责对埃及航空公司进行调查。 上传是几个 KB (单位:千美元).easignore 修剪其余部分;运行中复制目标重播本身 ,没有 GitHub 链接或 收回所有权要求. verify init --runner eas --eas-project <id> 写入所有这些文件, 并解决工程的所有人/ 拖入 app.json。在工人身上,引擎复制目标默认分支 本身(shallow——与GitHub动作检出时所信任的基数相同), 因此固定模式 出版商的工作 EAS 与GHA 完全相同.

这也是您自己没有的回购如何被验证的: 相同的文件, 保存 作为本地未承诺的更改,在 .expo-agents/verify/; 承诺 只有你想在上游降落时 才能确认.

简介是执行而非文件:其能力域驱动 代理工具允许列表, 范围化到的薄荷, 并发布步骤运行 .

释放

按下标签 : git tag v<semver> && git push origin v<semver>。 。 。 . release.yml 通过 npm 可信方式将版本从标签上印出并发布 出版 (OIDC). 该寄存器是私有的; 已发布的软件包包含 仅限 build/ 财务报告和审定财务报表 templates/。 。 。 .

版本与发布记录

@expo/verify 共发布 53 个版本,首次发布于 2026/08/26;过去 12 个月发布了 53 个版本。

版本发布日期距今
0.11.24latest2026/11/058 天前
0.11.232026/10/2916 天前
0.11.222026/10/2816 天前
0.11.212026/10/2817 天前
0.11.202026/10/2817 天前
0.11.192026/10/2223 天前

关于 @expo/verify 的常见问题

@expo/verify 是什么?

用于/核查剂管道的便携式发动机——在GitHub Actions、EAS Workflows或当地运行。 参见expo-sandbox-mcp LLP 0020 (英语).

如何安装 @expo/verify?

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

@expo/verify 支持 TypeScript 吗?

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

@expo/verify 支持 ESM 还是 CommonJS?

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

@expo/verify 需要什么版本的 Node.js?

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

@expo/verify 可以商用吗?

@expo/verify 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@expo/verify 的下载量有多少?

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

@expo/verify 还在维护吗?

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