SuperAPI AI 工具集

reproduce-issue

部署与运维

查看项目

更新于 10-16 02:33

技能介绍

用途:在隔离容器中复现 Nx 的 bug 并报告结果。不可信的复现内容(含任意 postinstall 脚本与复现命令)只在沙箱内运行,不接触宿主机文件系统,退出时 --rm 销毁全部内容。

两种入口:入口 A 为人类使用,/reproduce-issue <N>,通过 gh issue view <N> --repo nrwl/nx --json number,title,body,comments,labels 获取 issue,提取复现仓库 URL 或 create-nx-workspace 步骤、复现命令、报告与预期行为、Nx Report。入口 B 为智能体使用,直接传入参数:repro(repo:<git-url> 或 create:"<create-nx-workspace args>")、nx-version:<version>、nx-build:<git-ref>(PR 验证模式,与 nx-version 互斥)、nx-registry:<url>、command:"<repro-cmd>"、node-image:<img>、expect、setup。

平台与预检:Linux 需在 docker run 加 --runtime=runsc(gVisor 作为沙箱);macOS 省略该参数,由 Docker VM 提供隔离。运行前依次检查 docker info、容器网络(docker run --rm --network none alpine true 与 docker run --rm alpine true)、隔离运行时(Linux 检查 runsc 是否注册)、PR 构建模式还需检查 nx-review-sandbox:latest 镜像,缺失时给出修复命令或指向 setup-review-sandbox。

安全约束:始终使用 --cap-drop ALL、--security-opt no-new-privileges、--memory 4g --cpus 4 --pids-limit 2048、--rm,Linux 加 --runtime=runsc;不挂载宿主机路径,nx 来自 registry 或 docker cp 的 tarball;网络开启以支持克隆与安装;每次 Bash 调用只执行一条 docker 命令。

执行与判定:单条 docker 命令在沙箱内完成克隆或创建、依赖改写、安装与复现,输出 REPRO_EXIT。判定词表为 PR_REPRO_PASSES、PR_REPRO_FAILS、PR_REPRO_FAILS_DIFFERENT、PR_REPRO_INCONCLUSIVE、SETUP_FAILED。PR 构建模式在 nx-review-sandbox 容器内从指定 git-ref 构建 nx,并用同容器 localhost 的 verdaccio 提供本地 registry,构建较重(数分钟、数 GB),使用 tmpfs 避免占用宿主磁盘。清理由 --rm 完成,残留容器与镜像可用 /sandbox-prune 处理。

限制:需要 Docker 与相应运行时;PR 构建模式需要预构建镜像;具体收费、价格与效果资料未提供。