# @appport/sdk 中文文档

规范地址：https://npmcn.com/package/%40appport/sdk/

版本：1\.6\.0
npm 元数据更新时间：2026-11-05T17:20:04.084Z
中文译文更新时间：2026-11-07T03:35:12.391Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：136 kB，21 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：13 个
- peer 依赖：@types/node \>=20
- 首次发布：2026-09-03T15:26:21.108Z
- 最新版本发布：2026-11-05T17:20:03.812Z
- 近 30 天下载量：2067（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 35 个）

## 中文简介

AppPort开发者SDK:执行跨运行时间和传输的通用应用边界.

## 安装

```sh
npm install @appport/sdk
```

也可以使用：`pnpm add @appport/sdk`、`yarn add @appport/sdk`、`bun add @appport/sdk`

## README

# `@appport/sdk`

为 AppPort 协议所配置的 TypeScript API.

它暴露了应用合同, 能力处理者, 清单,客户, 服务器, 授权原始, 以及支持的不连接的运输 用于URL、进程、运输、存储引擎或平台的应用程序代码.

```ts
import { createClient, createHttpTransport } from "@appport/sdk";

const app = createClient({
  transport: createHttpTransport({ url: "/appport" })
});
```

仅节点托管帮助器导出自 `@appport/sdk/node`。 。 。 .

`@appport/sdk` 是方便的外观:它聚集了较低级别的协议, 客户端、服务器和运输软件包,并保存 `AppPort.discover()` 接通 内置的 HTTP 和 WebSocket 传输。 这不是基础建筑 层; 下级包不依赖于 SDK .

## 安全发现(1.2.0)

```ts
import { AppPort } from "@appport/sdk";

// Inspect what an application publishes and verify its references. Connects to nothing, sends no credentials, invokes nothing.
const found = await AppPort.discoverApplication({ origin: "https://app.example.com", pins: recordedPins, timeoutMs: 10_000 });
found.state;        // "not-published" | "unavailable" | "malformed" | "unresolved" | "reference-verified"
found.established;  // { publisherTrust: false, authorization: false, approval: false, invoked: false }  always

// Connect a client to a host you chose.
const client = await AppPort.discover({ origin: "https://app.example.com", sessionId });
```

`reference-verified` 指所公布的参考文献与权威的明细表一致. 没错 **没有** 也就是说出版商 相信,你被授权, 获得批准,或操作安全。 AppPort 定义没有用于申请的签名 它既不收取也不检查批准书。 绘图-签字信托`@appport/integration`) 无法生产.

### 1.2.0中的行为变化:默认拒绝改变方向和来源

`AppPort.discover` 和HTTP运输系统用于跟踪方向并使用任何运输端点的发现文件,因此 `307` 或指定另一个来源的文件将会话ID和请求机构发送到那里。 他们现在拒绝:

| 惠璶 | 执行 |
| --- | --- |
| 旧的定向跟踪行为,因为您操作的源 | `redirects: "follow"` |
| 另一个来源的运输终点 | `allowOrigins: ["https://api.example.com"]` |
| 大于 1 MiB 的发现文件 | `maxDocumentBytes` |
| 截止日期或取消 | `timeoutMs`, (中文(简体) ), `signal` |

一个 `http` 改为 `https` 重定向是一个不同的来源:连接到 `https` 直接来源.

## 警械能力(1.3.0)

`defineCapability({ fulfills: [claimFor(contract, "order.hold", 1)] })` 宣布某一能力可满足犬科能力 应用程序的要求可以使用 `canonical: { contract }`索赔在使用之前经过评估,不给予任何授权. 登记峡谷合同、发现供应商、解决峡谷要求并对其进行约束 `@appport/core` APIs; 见其 读取和 `spec/fulfillment-1.md`。 。 。 .

## 仅节点类型脚本

词根 `@appport/sdk` 财务报告和审定财务报表 `@appport/sdk/node` 在节点项目中进行类型检查( E)`lib: ["ES2023"]`,没有 `DOM`, (中文(简体) ), `skipLibCheck: false`) (中文(简体) ). MCP桥出口`createMcpBridge`, (中文(简体) ), `toMcpTools`,.)从根起保持可用. 多边方案 _服务器_ 不属于SDK; 从 `@appport/mcp`并注意它使用的MCP SDK需要DOM `HeadersInit` 类型(参见该软件包的README).

## 特工技能

此软件包载有 AppPort Agent Skill 于 `skills/appport`,匹配此 SDK 版本。 技能是可选的,所以SDK会 不安装仅需要的技能: 技能导入 `@appport/protocol` 财务报告和审定财务报表 `@appport/integration` 直接,您的项目必须 依赖它们本身(一个不升起的软件包管理器,如pnpm,不会暴露出中转副本). 为了安装克劳德代码:

```sh
npm install @appport/sdk @appport/protocol @appport/integration
mkdir -p .claude/skills && cp -R node_modules/@appport/sdk/skills/appport .claude/skills/appport   # one project
mkdir -p ~/.claude/skills && cp -R node_modules/@appport/sdk/skills/appport ~/.claude/skills/appport # your user
node .claude/skills/appport/scripts/check-requirements.mjs
```

如果检查报告包为 `(not installed)`,其产出包括 `install` 命令可以修复它.

只有克洛德代码被验证。 技能是指导,而不是执行. 这需要 `@appport/sdk` 1.2.0+, (中文(简体) ), `@appport/protocol` 1.1.0+和 1 `@appport/integration` 1.1.0+(第一次释放含有安全发现).

## 常见问题

### @appport/sdk 是什么？

AppPort开发者SDK:执行跨运行时间和传输的通用应用边界\.

### 如何安装 @appport/sdk？

在项目目录运行 npm install @appport/sdk，或使用 pnpm add / yarn add / bun add。

### @appport/sdk 支持 TypeScript 吗？

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

### @appport/sdk 支持 ESM 还是 CommonJS？

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

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

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

### @appport/sdk 可以商用吗？

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

### @appport/sdk 的下载量有多少？

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

### @appport/sdk 还在维护吗？

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

