# @admiral-io/sdk 中文文档

规范地址：https://npmcn.com/package/%40admiral-io/sdk/

版本：1\.31\.0
npm 元数据更新时间：2026-11-09T20:03:05.029Z
中文译文更新时间：2026-11-09T21:18:02.685Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40admiral-io/sdk
原文对照：https://npmcn.com/package/%40admiral-io/sdk/?lang=original
项目主页：https://github.com/admiral-io/admiral-sdk-ts#readme
源码仓库：https://github.com/admiral-io/admiral-sdk-ts

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

- 包体积（解压后）：1.5 MB，119 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：1 个
- peer 依赖：@connectrpc/connect ^2\.2\.0
- 首次发布：2026-08-23T00:41:06.083Z
- 最新版本发布：2026-11-09T20:03:04.660Z
- 近 30 天下载量：1725（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：85（近 12 个月 85 个）

## 中文简介

API 上将的脚本客户端

## 安装

```sh
npm install @admiral-io/sdk
```

也可以使用：`pnpm add @admiral-io/sdk`、`yarn add @admiral-io/sdk`、`bun add @admiral-io/sdk`

## README

# 海军上将sdk-ts

用于此程序的 TypeScript 客户端库 [上将](https://admiral.io/?utm_source=github&utm_medium=referral&utm_campaign=admiral-sdk-ts) API (英语).

建造在 [连接RPC](https://connectrpc.com/),并同时在浏览器和Node.js中工作.

## 安装

```bash
npm install @admiral-io/sdk
```

您还需要运行时间的连接传输 :

```bash
# Browser
npm install @connectrpc/connect-web

# Node.js
npm install @connectrpc/connect-node
```

## 快速启动

```typescript
import { createClient } from "@admiral-io/sdk";
```

### 浏览器

```typescript
import { createConnectTransport } from "@connectrpc/connect-web";

const transport = createConnectTransport({
  baseUrl: "/api",
});

const client = createClient(transport);
// await client.agent.methodName({ ... });
// await client.job.methodName({ ... });
// await client.agentRuntime.methodName({ ... });
// await client.apiKey.methodName({ ... });
// await client.application.methodName({ ... });
// await client.changeSet.methodName({ ... });
// await client.credential.methodName({ ... });
// await client.environment.methodName({ ... });
// await client.healthcheck.methodName({ ... });
// await client.integration.methodName({ ... });
// await client.invitation.methodName({ ... });
// await client.registry.methodName({ ... });
// await client.run.methodName({ ... });
// await client.serviceAccount.methodName({ ... });
// await client.issuer.methodName({ ... });
// await client.source.methodName({ ... });
// await client.tenant.methodName({ ... });
// await client.user.methodName({ ... });
```

### 节点.js

```typescript
import { createConnectTransport } from "@connectrpc/connect-node";

const transport = createConnectTransport({
  baseUrl: "https://api.admiral.io",
  httpVersion: "2",
});

const client = createClient(transport);
```

## 可用服务

| 服务 | 财产 | 说明 |
| --- | --- | --- |
| 代理API | `client.agent` | 代理服务 |
| 约伯API | `client.job` | 工作服务 |
| 代理 Runtime API | `client.agentRuntime` | 代理运行服务 |
| 阿皮凯伊API | `client.apiKey` | ApiKey 服务 |
| 应用程序API | `client.application` | 应用程序服务 |
| 更改SetAPI | `client.changeSet` | 更改设置服务 |
| 证书API | `client.credential` | 证书服务 |
| 环境API | `client.environment` | 环境服务 |
| 健康检查API | `client.healthcheck` | 健康检查服务 |
| 整合API | `client.integration` | 融合服务 |
| 邀请协会 | `client.invitation` | 邀请服务 |
| 注册API | `client.registry` | 书记官处事务 |
| 运行API | `client.run` | 运行服务 |
| 服务账户 | `client.serviceAccount` | 服务账户服务 |
| 发行商API | `client.issuer` | 发行服务 |
| 来源API | `client.source` | 源服务 |
| 租户API | `client.tenant` | 租户服务 |
| 用户API | `client.user` | 用户服务 |

## 示例

```typescript
import { createConnectTransport } from "@connectrpc/connect-node";
import { createClient } from "@admiral-io/sdk";

async function main() {
  const transport = createConnectTransport({
    baseUrl: "https://api.admiral.io",
    httpVersion: "2",
  });

  const client = createClient(transport);

  try {
    const response = await client.agent.listMethod({});
    console.log(response);
  } catch (err) {
    console.error("Request failed:", err);
  }
}

main();
```

## 截取器

Auth、记录、超时和其他交叉关切问题在 途经 [连接截取器](https://connectrpc.com/docs/web/interceptors/)数字 :

```typescript
import type { Interceptor } from "@connectrpc/connect";
import { createConnectTransport } from "@connectrpc/connect-web";
import { createClient } from "@admiral-io/sdk";

const authInterceptor: Interceptor = (next) => async (req) => {
  req.header.set("Authorization", `Bearer ${getToken()}`);
  return next(req);
};

const transport = createConnectTransport({
  baseUrl: "/api",
  interceptors: [authInterceptor],
});

const client = createClient(transport);
```

## 托肯验证

校验上将不透明符号格式( 前缀、 长度、 CRC32 校验和) 网络呼叫 :

```typescript
import { validateAuthToken } from "@admiral-io/sdk";

const result = validateAuthToken(token);
if (!result.valid) {
  console.error(result.error);
}
```

习惯 `TokenValidator` 可提供替代验证战略:

```typescript
import type { TokenValidator } from "@admiral-io/sdk";

const myValidator: TokenValidator = {
  validate(token: string) {
    // Custom validation logic
    return { valid: token.length > 0 };
  },
};
```

## 所需资源

-   22号节点(用于节点使用)
-   仅限无害环境管理(没有通用JS支持)

## 上将

[上将](https://admiral.io/?utm_source=github&utm_medium=referral&utm_campaign=admiral-sdk-ts) 用于协调各种环境的基础设施和应用交付的控制平面。 这个寄存器是它的 [开源工具](https://github.com/admiral-io)。 。 。 .

-   [文档](https://admiral.io/docs?utm_source=github&utm_medium=referral&utm_campaign=admiral-sdk-ts)
-   此仓库中的错误 : [打开一个问题](https://github.com/admiral-io/admiral-sdk-ts/issues/new/choose)
-   关于海军上将的任何事, 或者不知道它去了哪里: [海军上将-社区](https://github.com/admiral-io/admiral-community)
-   安全弱点:电子邮件 [页:1](mailto:security@admiral.io)从来没有公开的问题

## 许可证

Apache-2.0 许可证 - 见 [自由主义](https://npmcn.com/package/%40admiral-io/sdk/LICENSE.txt) 详细情况.

## 常见问题

### @admiral-io/sdk 是什么？

API 上将的脚本客户端

### 如何安装 @admiral-io/sdk？

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

### @admiral-io/sdk 支持 TypeScript 吗？

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

### @admiral-io/sdk 支持 ESM 还是 CommonJS？

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

### @admiral-io/sdk 需要什么版本的 Node\.js？

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

### @admiral-io/sdk 可以商用吗？

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

### @admiral-io/sdk 的下载量有多少？

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

### @admiral-io/sdk 还在维护吗？

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

