# @contrast/cli 中文文档

规范地址：https://npmcn.com/package/%40contrast/cli/

版本：1\.72\.1
npm 元数据更新时间：2026-11-04T16:30:58.492Z
中文译文更新时间：2026-11-10T17:16:26.998Z
软件包许可：SEE LICENSE IN LICENSE

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40contrast/cli
原文对照：https://npmcn.com/package/%40contrast/cli/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：20.7 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20\.9\.0
- 运行依赖：12 个
- 首次发布：2023-01-11T18:57:56.877Z
- 最新版本发布：2026-11-04T16:30:58.303Z
- 近 30 天下载量：13612（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：110（近 12 个月 23 个）

## 中文简介

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

## 安装

```sh
npm install @contrast/cli
```

也可以使用：`pnpm add @contrast/cli`、`yarn add @contrast/cli`、`bun add @contrast/cli`

## README

# `@contrast/cli`

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

## 运行

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

```sh
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 是什么？

收集与代理人有关的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 和提交记录判断。

