# @coveo/push-api-client 中文文档

规范地址：https://npmcn.com/package/%40coveo/push-api-client/

版本：4\.0\.24
npm 元数据更新时间：2026-05-13T17:39:03.293Z
中文译文更新时间：2026-11-10T21:28:32.666Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40coveo/push-api-client
原文对照：https://npmcn.com/package/%40coveo/push-api-client/?lang=original
项目主页：https://github.com/coveo/push-api-client.js#readme
源码仓库：https://github.com/coveo/push-api-client.js

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

- 包体积（解压后）：416 kB，210 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：^18\.12\.0 \|\| ^20\.10\.0 \|\| ^22\.11\.0
- 运行依赖：6 个
- 首次发布：2021-05-13T13:50:03.270Z
- 最新版本发布：2025-12-09T19:31:48.064Z
- 近 30 天下载量：4870（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：350（近 12 个月 3 个）

## 中文简介

按下 API 客户端

## 安装

```sh
npm install @coveo/push-api-client
```

也可以使用：`pnpm add @coveo/push-api-client`、`yarn add @coveo/push-api-client`、`bun add @coveo/push-api-client`

## README

# @coveo/push-api-客户端.js

Coveo Push API 客户端

## 安装

`npm i @coveo/push-api-client`

## 特征

-   上传数据到 Push 和 Catalog 来源
-   预推文件验证
-   自动自定义字段创建
-   完整目录上传和渐进文档更新
-   最大有效载荷上传

## 使用量

```js
import {PushSource, DocumentBuilder} from '@coveo/push-api-client';

async function main() {
  const source = new PushSource('my_api_key', 'my_coveo_organization_id');

  const myDocument = new DocumentBuilder(
    'https://my.document.uri',
    'My document title'
  ).withData('these words will be searchable');

  await source.addOrUpdateDocument('my_source_id', myDocument);
}

main();
```

您也可以将数据上传到目录来源

```js
async function main() {
  const source = new CatalogSource('my_api_key', 'my_coveo_organization_id');
  await source
    .batchStreamDocumentsFromFiles('my_source_id', ['path/to/file_or_folder'])
    .batch();
}

main();
```

更多信息见 `./samples` 文件夹.

### 代理配置

你可以用这个 `HTTPS_PROXY` 或者说 `https_proxy` 用于代理配置的环境变量. 更多关于它的内容 [这里](https://about.gitlab.com/blog/2021/01/27/we-need-to-talk-no-proxy/)。 。 。 .

### 指示后退重试配置

默认情况下,SDK利用了指数回放回放机制. 指向回放允许SDK多次尝试解决被节制的请求,增加了等待每次后续尝试的时间. 发出中的请求会在 `429` 状态代码从平台返回 .

指数后退参数如下:

-   `retryAfter` - 等待请求的时间,以毫秒计.
    
    可选的,默认为5000.
    
-   `maxRetries` - 重试节奏请求的最大次数.
    
    可选,默认为10.
    
-   `timeMultiple` - 增加每次请求请求之间等待时间的倍数.
    
    可选,默认为2.
    

您可以配置将应用到所有向外请求的指数后退 。 为此,请具体说明 `PlatformOptions` 创建时的对象 `CatalogSource` 或者说 `PushSource` 对象 :

```js
const catalogSource = new CatalogSource(
  'my_api_key',
  'my_coveo_organization_id',
  {maxRetries: 10, retryAfter: 2000, timeMultiple: 3}
);
const pushSource = new PushSource(
  'my_other_api_key',
  'my_other_coveo_organization_id',
  {maxRetries: 3, retryAfter: 600000}
);
```

默认情况下,请求最多将重试10次,在第一次尝试后再等5秒,时间多为2次(这相当于最大执行时间约1.5小时).

## 地方发展

-   `npm i`
-   复制 `env.sample` 改为 `.env`,并用适当的值替换变量.
-   `npm run dev` 编译和运行 `./src/localtest.ts`。 。 。 .
-   `npm run test` 用于单位测试.

## 提交

使用 `npm run commit` 以获得一个格式化的输入消息,这将有助于控制版本和 ChangeGELOG 生成.

## 释放

运行 Github 动作 `release`,它会凸起版本,标记并发布到 npm.

## 常见问题

### @coveo/push-api-client 是什么？

按下 API 客户端

### 如何安装 @coveo/push-api-client？

在项目目录运行 npm install @coveo/push-api-client，或使用 pnpm add / yarn add / bun add。

### @coveo/push-api-client 支持 TypeScript 吗？

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

### @coveo/push-api-client 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @coveo/push-api-client 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^18\.12\.0 \|\| ^20\.10\.0 \|\| ^22\.11\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @coveo/push-api-client 可以商用吗？

@coveo/push-api-client 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @coveo/push-api-client 的下载量有多少？

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

### @coveo/push-api-client 还在维护吗？

最新版本 4\.0\.24 发布于 2025/12/10（11 个月前）；至今共发布 350 个版本，其中过去 12 个月发布了 3 个；首次发布于 2021/05/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

