# @cargo-ai/worker-sdk 中文文档

规范地址：https://npmcn.com/package/%40cargo-ai/worker-sdk/

版本：1\.0\.21
npm 元数据更新时间：2026-10-18T21:59:03.777Z
中文译文更新时间：2026-11-09T03:11:10.958Z
软件包许可：UNLICENSED

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

原始 npm 页面：https://www.npmjs.com/package/%40cargo-ai/worker-sdk
原文对照：https://npmcn.com/package/%40cargo-ai/worker-sdk/?lang=original
项目主页：https://www.getcargo.ai/
源码仓库：https://github.com/getcargohq/cargo

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

- 包体积（解压后）：210 kB，47 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22
- 运行依赖：4 个
- peer 依赖：zod ^4\.3\.6
- 首次发布：2026-05-12T21:45:22.419Z
- 最新版本发布：2026-10-18T21:59:03.599Z
- 近 30 天下载量：77257（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 21 个）

## 中文简介

通过Hono + Chanfana自动生产OpenAPI,建造货运托管工人(对接HTTP处理器).

## 安装

```sh
npm install @cargo-ai/worker-sdk
```

也可以使用：`pnpm add @cargo-ai/worker-sdk`、`yarn add @cargo-ai/worker-sdk`、`bun add @cargo-ai/worker-sdk`

## README

# @ cargo-ai/ 工人- sdk

构建货物托管 **劳动者** ——运行在无服务器边缘的 HTTP 处理器 `*.worker.getcargo.run` ——拥有自动OpenAPI 3.1生成. 霍诺+钱法纳+ Zod被两家有意见的工厂包了起来 所以只要你定义一次路线 就能得到运行时间验证 货物本地清单 免费现场OpenAPI文件.

## 安装

```sh
npm install @cargo-ai/worker-sdk
```

## 给工人写信

```ts
import { type Context, createWorker, OpenAPIRoute } from "@cargo-ai/worker-sdk";
import { z } from "zod";

const { app, openapi } = createWorker({ title: "my-worker" });

class GetHello extends OpenAPIRoute {
  override schema = {
    request: {
      query: z.object({ name: z.string().default("world") }),
    },
    responses: {
      "200": {
        description: "Greeting.",
        content: {
          "application/json": {
            schema: z.object({ message: z.string() }),
          },
        },
      },
    },
  };

  override async handle(c: Context): Promise<Response> {
    const { query } = await this.getValidatedData<typeof this.schema>();
    return c.json({ message: `Hello, ${query.name}!` });
  }
}

openapi.get("/hello", GetHello);

export default app;
```

`createWorker` 给你:

-   `GET /openapi.json` —— OpenAPI 3.1 spec从每个路线的Zod schema中衍生出来.
-   `GET /docs` ——斯瓦格UI(英语:Swagger UI).
-   控制台排水口—— `console.info("outbound_http", { status: 200 })` 存储 `"outbound_http"` 作为消息和对象作为结构属性,而不是合并的JSON字符串.

## 呼叫货物API

在 Cargo 中创建工作空间 API 令牌并将其添加到工人身上 `CARGO_API_TOKEN` 秘密环境变量. `createCargoApi(env)` 然后返回完整类型 [`@cargo-ai/api`](https://www.npmjs.com/package/@cargo-ai/api) 客户端, 连接到您的工作空间中 —— 自动允许使用 Cargo API 主机, 不 `outboundAllowlist` 需要的条目 :

```ts
import { createCargoApi } from "@cargo-ai/worker-sdk";

app.get("/workers", async (c) => {
  const api = createCargoApi(c.env);
  const { workers } = await api.hosting.worker.list();
  return c.json(workers);
});
```

你从这里开始 一直追踪打电话的线索: 货物 托管邮票 引用的运行 和追踪uuid 在外出的货物API 要求,所以一个叫这个工人的剧本 显示它从小创造的运行 而不是无关的痕迹。 没有电线,它适用于 `createCargoApi` 和一片平地 `fetch` 同样的API.

## 克龙触发器

工人们可以按日程安排。 每一个触发器——从货物应用程序上配置的工人, `cargo-ai hosting worker create/update --triggers`,或 `defineWorker` 在一个项目中——描述全部要求的"货物"火灾:克龙,路径,方法,JSON尸体和头. 设定 `authorization` 触发器头并守护路线:

```ts
import { bearerAuth } from "hono/bearer-auth";

app.use("/cron/*", bearerAuth({ token: "<something-strong>" }));

app.post("/cron/sync", async (c) => {
  // ... scheduled work ...
  return c.json({ ok: true });
});
```

只有在工人有升迁的部署后 才会起火.

## 写入自定义集成

`createCustomIntegration({ info, connector, authenticate, actions, extractors, ... })` 建设一支执行 [货物自定义集成HTTP合同](https://docs.getcargo.ai/integration/custom-integration) 从单一的宣示谱。 同样的Zod计划 `GET /manifest` (货物内用电线格式)和 `GET /openapi.json`。见 `templates/custom-integration/`。 。 。 .

整合领域类型(`IntegrationActionExecutePayload`, (中文(简体) ), `IntegrationExtractorFetchResult`,(...) 居住于 [`@cargo-ai/types`](https://www.npmjs.com/package/@cargo-ai/types) 下划线 `ConnectionTypes` 命名空间 — 您很少需要直接导入, 因为 SDK 的 `CustomIntegrationAction` 编号 : `CustomIntegrationExtractor` 类型 连接他们给你.

## 脚手架一个项目

你几乎从不想要从头接线。 使用 CLI :

```sh
# Blank edge handler
npx @cargo-ai/cli hosting worker init my-worker --template blank

# Worker that implements the Cargo Custom Integration HTTP contract
npx @cargo-ai/cli hosting worker init my-integration --template custom-integration
```

CLI 复制匹配模板 `@cargo-ai/worker-sdk/templates/<slug>/` 输入目标目录.

## 部署

您在 TypeScript 中创建并按 - is 部署源目录 —— 没有本地构建步骤 。 上载源是工程根( 与 `src/index.ts`, (中文(简体) ), `manifest.json`, (中文(简体) ), `package.json`, (中文(简体) ), `package-lock.json`:

```sh
npm install
cargo-ai hosting deployment create --worker-uuid <workerUuid> --source ./
cargo-ai hosting deployment promote --uuid <deploymentUuid>
```

货物托管建造管道运行 `npm ci` 接下来 `esbuild src/index.ts --bundle --format=esm --platform=neutral --target=es2022` (sbuild transpiles TypeScript 土生土长地)来生产最终的边缘捆绑. 因此,您可以在部署时将多文件类型Script项目 —— Esbuilding tree- sshake everything 传输到一个单一的无害环境管理文件中。 (预建) `index.js` 根仍然被接受为后向兼容. )

## 可用模板

-   `blank` - 一个即时的Hono应用软件 `createWorker()`,带有一个样本路径和 `/openapi.json` + 键 `/docs` 从盒子里出来。 当工人刚刚响应入境的HTTP时使用这个功能,而不需要整合入"货物连接器"目录.
-   `custom-integration` ——被传递到的即时到外延光谱 `createCustomIntegration()`处理 `/manifest`, (中文(简体) ), `/openapi.json`, (中文(简体) ), `/docs`, (中文(简体) ), `/authenticate`, (中文(简体) ), `/actions/<slug>/execute`, (中文(简体) ), `/extractors/<slug>/{fetch,count}`, (中文(简体) ), `/autocompletes/<slug>`, (中文(简体) ), `/dynamicSchemas/<slug>`, (中文(简体) ), `/completeOauth`, (中文(简体) ), `/listUsers` 从单一的宣告。 边际当量 [`getcargohq/dummy-integration`](https://github.com/getcargohq/dummy-integration)在连接器目录中注册 `defineCustomIntegration` 在光盘中,或 `cargo-ai connection custom-integration create --kind worker --worker-uuid <workerUuid>`。 。 。 .

查看每个模板自己的 `README.md` 用于文件布局和如何扩展.

## 常见问题

### @cargo-ai/worker-sdk 是什么？

通过Hono \+ Chanfana自动生产OpenAPI,建造货运托管工人\(对接HTTP处理器\)\.

### 如何安装 @cargo-ai/worker-sdk？

在项目目录运行 npm install @cargo-ai/worker-sdk，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（^4\.3\.6）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @cargo-ai/worker-sdk 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cargo-ai\_\_worker-sdk 是否存在。

### @cargo-ai/worker-sdk 支持 ESM 还是 CommonJS？

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

### @cargo-ai/worker-sdk 需要什么版本的 Node\.js？

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

### @cargo-ai/worker-sdk 可以商用吗？

@cargo-ai/worker-sdk 使用 UNLICENSED 许可。作者声明为 UNLICENSED，即不授予公开使用许可（与公共领域的 Unlicense 不同）。使用前需获得作者授权。以上为概括，不构成法律意见，请以许可原文为准。

### @cargo-ai/worker-sdk 的下载量有多少？

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

### @cargo-ai/worker-sdk 还在维护吗？

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

