@contrast/cli

中文文档
1.72.1发布于 2026/11/05SEE LICENSE IN LICENSEES Module近 30 天下载 1.4万

收集与代理人有关的CLI公用事业

中文使用文档
文档目录5 节
  1. 运行
  2. 图标
  3. 配置诊断
  4. 系统诊断
  5. 重写

@contrast/cli

Contrast Node.js代理的指令线公用事业. @contrast/agent 取决于此软件包,所以在安装代理设备的任何地方,命令都可以使用.

运行

软件包有多个命令,所以以 npx -p 页:1 npx @contrast/cli 没用的:

npx -p @contrast/cli <command> [options]

从应用程序的目录中运行命令,与应用程序使用的环境变量相同. 他们发现的配置与代理完全一样(contrast_security.yaml 财务报告和审定财务报表 CONTRAST__* 变量),所以不同的工作目录或环境会给出不同的结果. 他们需要一个代理支持的Node.js版本.

图标

配置诊断

Usage: npx -p @contrast/cli config-diagnostics [options] <entrypoint>

Arguments:
  entrypoint             The entrypoint JavaScript or ESM file for the application

Options:
  -q, --quiet            suppress logging to stdout
  -o, --output <string>  output file for the generated JSON
                         (default: ./contrast_effective_config.json)
  -V, --version          output the version number
  -h, --help             display help for command

打印代理机的有效配置为 JSON, 显示每个选项的值及其来源( 环境变量、 配置文件、 对比 UI 或默认) 。 全权证书经过编辑.

除非我们.. api.enable 实值 false,它连接到 Contist (TeamServer) ,就像代理在启动时所做的那样,因此输出包含来自 Contist UI 的远程设置. 这个 Status 字段表示该连接是否成功,如果没有成功,则说明原因.

JSON去Stdout和输出文件. --quiet 只能压制 Stdout. 该文件仍被写入.

系统诊断

Usage: npx -p @contrast/cli system-diagnostics [options]

Options:
  -q, --quiet            suppress logging to stdout
  -o, --output <string>  output file for the generated JSON
                         (default: ./contrast_system_info.json)
  -V, --version          output the version number
  -h, --help             display help for command

作为JSON,打印代理机运行的宿主或容器的信息. 这和特工收集的系统信息一样 它不会联系到Conters.

JSON去Stdout和输出文件. --quiet 只能压制 stdout.

重写

Usage: npx -p @contrast/cli rewrite [options] <entrypoint>

Arguments:
  entrypoint     The entrypoint for the application

Options:
  -a, --assess   rewrite in assess mode
  -p, --protect  rewrite in protect mode
  -V, --version  output the version number
  -h, --help     display help for command

提前重写应用程序的源文件并缓存结果,因此代理机在应用程序启动时不需要重写. 从入口开始,它跟随每一个静态 import, (中文(简体) ), require(),以及 import() 带有字符串参数,并重写每个文件.

模式必须匹配应用程序将如何运行 :

  • --protect 重写保护.
  • --assess 重写评估 。 当 assess.enable 实值 true 在配置中.
  • 既未启用旗帜又未启用评估, 它会重写保护 .

结果被缓存于 <agent.node.rewrite.cache.path>/<application name>/<agent version>/<mode>/。缓存路径默认为 .contrast/ 在工作目录中。 代理仅在应用程序名称、代理版本和模式全部匹配时使用缓存, 所以重运行 rewrite 升级代理后.

命令失败 Rewriting disabled. 若为 agent.node.rewrite.enable 或者说 agent.node.rewrite.cache.enable 实值 false。 。 。 .

版本与发布记录

@contrast/cli 共发布 110 个版本,首次发布于 2023/01/12;过去 12 个月发布了 23 个版本。

版本发布日期距今
1.72.1latest2026/11/056 天前
1.72.02026/10/3011 天前
1.71.02026/10/2318 天前
1.70.02026/10/1724 天前
1.69.02026/09/261 个月前
1.68.02026/08/192 个月前

关于 @contrast/cli 的常见问题

@contrast/cli 是什么?

收集与代理人有关的CLI公用事业

如何安装 @contrast/cli?

在项目目录运行 npm install @contrast/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 rewrite、config-diagnostics、system-diagnostics,可以用 npx rewrite 直接运行。

@contrast/cli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/contrast__cli 是否存在。

@contrast/cli 支持 ESM 还是 CommonJS?

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

@contrast/cli 需要什么版本的 Node.js?

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

@contrast/cli 可以商用吗?

@contrast/cli 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@contrast/cli 的下载量有多少?

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

@contrast/cli 还在维护吗?

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