# @agentproto/secrets 中文文档

规范地址：https://npmcn.com/package/%40agentproto/secrets/

版本：2\.2\.0
npm 元数据更新时间：2026-10-27T13:34:30.191Z
中文译文更新时间：2026-11-06T02:40:10.235Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40agentproto/secrets
原文对照：https://npmcn.com/package/%40agentproto/secrets/?lang=original
项目主页：https://agentproto.sh/docs/aip-19
源码仓库：https://github.com/agentproto/ts

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

- 包体积（解压后）：484 kB，58 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2026-06-20T17:06:46.505Z
- 最新版本发布：2026-10-27T13:34:29.783Z
- 近 30 天下载量：6228（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

@agentproto/secrets-AIP-19 SECRETS.md 参考执行. 一种工作空间级的显示格式,用于申报秘密的弹壳、其目的、访问赠款和审计元数据,而从未储存价值本身。 主机解决弹簧对一再

## 安装

```sh
npm install @agentproto/secrets
```

也可以使用：`pnpm add @agentproto/secrets`、`yarn add @agentproto/secrets`、`bun add @agentproto/secrets`

## README

# @ agentproto/ 机密

AIP-19 (中文(简体) ) `SECRETS.md` 参考执行。 一种工作空间级的显示格式,用于申报秘密的弹壳、其目的、访问赠款和审计元数据,而从未储存价值本身。 主机在发现时间对着真正的金库解决弹道.

> **状态:0.1.0-α.** 生成者 `scripts/scaffold-aip.mjs` —— 说 `build()` 财务报告和审定财务报表 `validate()` 尸体是TODO的.

谱: [https://agentproto.sh/docs/aip-19](https://agentproto.sh/docs/aip-19)

## 使用量

```ts
import { defineSecrets } from "@agentproto/secrets"

const x = defineSecrets({
  id: "my-secrets",
  description: "Short purpose.",
  // ...
})
```

## `capture` – 保管 CLI 本地 OAuth 登录

`agentproto-secrets capture [--provider <recipe>] [--vault-dir <dir>]` 读取 编码 CLI 的订阅 OAuth 登录通过其内置食谱 `oauth` 字段映射( AIP-19 全文) `oauth` 形状 `{accessToken, refreshToken, expiresAt}`),将其封入金库自己的本地密钥上(即:`<dir>/key.json`, (中文(简体) ), 0:00, 第一次铸币) `entries/<provider>.json` (0600) (中文(简体) ). 这个 打印一个能力指针( e)`agentproto-secrets://vault/<provider>?method=…&key=…`(中文(简体) ) ——符号值从未被打印出,记录出,也从未被写入清晰. 如果 CLI 还没有本地登录( N)`claude login` 编号 : `codex login` 未运行),该 命令输出 1 , 并说要先运行 CLI 的登录; 它永远不会生成一个 第二登录客户端.

信任边界:金库密钥页生活在平面 `<dir>/key.json` (0600) 在封存的条目旁边, 所以在rest的保密性 文件系统权限——任何读取库目录(备份、同步、a) 解密的本地账户)生成密钥和密码文本。 这是一个 LOCAL 保险库: 仅用于向服务器发送证书而不暴露 纯文本, 使用 `provision` (先封住目标自己的钥匙).

## 接触表面(`@agentproto/secrets/exposure`(中文(简体) )

货单上写着 _哪个_ 机密存在; 一项 **接触** 说 _怎么样_ a 已解决 秘密到达运行时间. `SecretExposure` 歧视的工会——一个 `kind` 每个送货机制,所以消费者过滤 `isExposureKind` 用一个开关来守卫和处理每个开关:

| `kind` | 把秘密传达给.. |
| --- | --- |
| `env` | 代理工艺上的环境变量 |
| `file` | 写入工作空间的文件 |
| `egress-substitute` | (单位:千美元) `$$SECRET[NAME]$$` 递进时替换占位符 |
| `mcp-header` | 一个 HTTP **认证信头** mCP 服务器的传输 |

```ts
import { isExposureKind, type SecretExposure } from "@agentproto/secrets/exposure"

const headerExposures = exposures.filter(e => isExposureKind(e, "mcp-header"))
```

### `mcp-header` - 中介的 MCP 认证

```ts
interface McpHeaderExposure {
  kind: "mcp-header"
  credentialPath: string   // broker path: "<providerId>" or "<providerId>/<account>"
  server?: string          // optional upstream override, forwarded to the broker
}
```

`resolveMcpHeaderExposure(exposure, resolver, { signal })` 把路径变成 即用头图。 这个 `resolver` 是一个 **结构** `McpHeaderResolver` (单位:千美元)`resolveHeaders({ path, server?, signal? })`()—— `CredentialBroker` 从 `@agentproto/auth` 没有适配器就满足了 所以 保留此软件包 **无依赖性 `auth`** 还开着呢.

每个解析页眉 **价值** 运行通过 `assertSafeSecretValue` 在此之前 返回——拒绝含有 CR/LF/NUL 的值,关闭信头注入 (被走私的新线无法在运输上附加额外的头条线).

```ts
import { resolveMcpHeaderExposure } from "@agentproto/secrets/exposure"
import { CredentialBroker } from "@agentproto/auth"

const headers = await resolveMcpHeaderExposure(exposure, broker, { signal })
// → { Authorization: "Bearer …" }, guarded
```

同一名警卫`assertSafeSecretValue`)和 `$$SECRET[NAME]$$` 引擎 (单位:千美元)`substituteSecrets`, (中文(简体) ), `SECRET_PLACEHOLDER_PATTERN`, (中文(简体) ), `formatPlaceholder`已经 从此子路径导出 `egress-substitute` 路径.

## 许可证

麻省理工学院——见 [自由主义](https://npmcn.com/package/%40agentproto/secrets/LICENSE)。 。 。 .

## 常见问题

### @agentproto/secrets 是什么？

@agentproto/secrets-AIP-19 SECRETS\.md 参考执行\. 一种工作空间级的显示格式,用于申报秘密的弹壳、其目的、访问赠款和审计元数据,而从未储存价值本身。 主机解决弹簧对一再

### 如何安装 @agentproto/secrets？

在项目目录运行 npm install @agentproto/secrets，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 agentproto-secrets，可以用 npx agentproto-secrets 直接运行。

### @agentproto/secrets 支持 TypeScript 吗？

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

### @agentproto/secrets 支持 ESM 还是 CommonJS？

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

### @agentproto/secrets 可以商用吗？

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

### @agentproto/secrets 的下载量有多少？

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

### @agentproto/secrets 还在维护吗？

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

