# @fungi\.computer/veil 中文文档

规范地址：https://npmcn.com/package/%40fungi.computer/veil/

版本：0\.7\.4
npm 元数据更新时间：2026-11-14T11:57:34.060Z
中文译文更新时间：2026-11-15T18:53:48.181Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：343 kB，85 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：9 个
- 首次发布：2026-10-16T18:03:55.452Z
- 最新版本发布：2026-11-14T11:57:33.822Z
- 近 30 天下载量：7790（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 20 个）

## 中文简介

团队授权的证书保管和提供方准入

## 安装

```sh
npm install @fungi.computer/veil
```

也可以使用：`pnpm add @fungi.computer/veil`、`yarn add @fungi.computer/veil`、`bun add @fungi.computer/veil`

## README

# 韦尔(`@fungi.computer/veil`(中文(简体) )

Veil将提供商的资质 远离代理。 主机存储 API 密钥, OAuth 连接和模型键在信任的主人门后,一个代理接收到一个 授权操作,绝不是提供者的标志或它居住的地方。 它拥有 共享连接核心( MCP, OpenAPI 和一个寄存器的 git 端点), 模型钥匙 和代理的匿名 公共网络检索.

## 安装

```sh
npm install @fungi.computer/veil
```

## 设置

宿主提供主人的 SQLite, a `CustodyAdapter` 及其生活状况 授权 `createConnections` (单位:千美元)`@fungi.computer/veil/connections`) (中文(简体) ). 监护是 `sealed` 默认; 南戈是可选适配器 (单位:千美元)`@fungi.computer/veil/connections/nango`) (中文(简体) ). 模型输入不能选择 连接、寄存器或私人定位器。 没有监护权配置,请报告 不可用,而不是制造连接.

GitHub REST 是一个普通 `openapi` 关系 `oauth` 证书 : 通过操作员注册的提供商使用监护适配器,或通过 南果融会. 托管人-管理一体化由东道主负责 (单位:千美元)`configuredCustodyIntegrations`)到一地表类型和一地源 核心拒绝 `begin` 在每一次派遣之前,他都是信使 坚守不动 GitHub REST 被固定为 `api.github.com`。 。 。 .

电脑的基特不是这个核心的连接. `@fungi.computer/veil/github-app` 包着南戈的 `github-app` 融合 (单位:千美元)`NANGO_GITHUB_APP_INTEGRATION_ID`,永远与 `NANGO_GITHUB_INTEGRATION_ID`:它打开安装协议,验证 签名补全, 找到丢失的, 删除连接并读取当前 安装标志 。 中心在向 `github.com` 财务报告和审定财务报表 没有别的地方.

## 南戈适配器

`createNangoCustody` 使用 Nango 服务器来源、 API 密钥、 单独的 Webhook 签名密钥, 用于粘贴证书的 API 密钥集成, 以及公众 连接 UI 基础和公共 API URL 。 这些是主机配置, 从不浏览器 或模型输入. `connect` 返回打开的连接文档浏览器:南戈 已发布链接, 限制在配置的连接 UI 上, 并锁定在公共 API 上 与 `apiURL`。 。 。 . `verifyCompletion` 验证原始召回体 `@nangohq/node` 在解码之前 核心只能解决 主人开始了。 未配置主机必须报告不可用而不是替换 假的监护.

`inject` 通过南戈的代理,它连接和刷新 证书; 绑定的删除端点返回 `200 {success:true}` 之后 删除和 `400 {error:{code:"unknown_connection"}}` 当连接是 没有,只有那些清扫。 一个代理 `404` 不再是保管人 保持连接并标记它重新连接的要求. `find` 问南戈 一个连接,一个尝试的状态,演员和团队, 所以一个登录 签了字的工事仍无法解决 取消会停止呼叫 等待;它没有证明上游工作停止或倒退.

`configuredComputerGitIntegration(env)` 命名集成 计算机的基特符号 英寸`NANGO_GITHUB_APP_INTEGRATION_ID`(三); `NANGO_GITHUB_INTEGRATION_ID` 加入所有者可能签名的集成 用于 REST 连接 .

## 公共网门

`@fungi.computer/veil/public-fetch` 被批准为特工的进取者 `web.fetch`。 。 。 . `configuredPublicFetch({ connect, fetch })` 返回时 `get`,一个 匿名者得到的,没有证书 并且只有 `Accept` 财务报告和审定财务报表 `User-Agent` 请求标题。 每次调用都会解决名称一次( DNS- over- HTTPS 通过 `fetch`如果答案不是公开的,则拒绝全名(IPv4和 IPv6,包括回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回回, 6to4和Teredo表格,只将那些已检查的地址传给东道主 套接字原生( r)`cloudflare:sockets` `connect` (原始内容存档于2018-09-29). In the Hub. URL 的自有名称 保留 `Host` 页眉和 TLS 服务器名称, 因此第二个查询无法移动 连接. `get` 从不遵循方向; 呼叫者下一个跳是新的 调用它再次解决和检查。 答复由 `http-parser-js`· ; 被压缩,分层编码和超长头的反应被拒绝.

员工的 `startTls({ expectedServerHostname })` 验证证书 对照该名称;它报告第1行的核查失败 门类型为 `unavailable`。 。 。 .

## 关键路线和制裁门

`configuredProviderEgress(env, { keyed })` 还服务于主机的路线 登记册。 A 类 `KeyedRoute` 名称 2 工人绑定, 无证书的 HTTPS 根数( e)`urlBinding`和一个秘密(`keyBinding`),加 (中文(简体) ) `accepts(root)` 针入 配置了 root, 即秘密旅行的地方(`{ in: "query", name }` 或者说 `{ in: "path" }`),以及一个Zod `body` jSON POST 设定路径的策略 可能发送。 Veil自己看两本书,所以主机的名字 从来没有看到 他们的价值观。 主机路由可能不会阴影 Veil 路由, 重复使用 1 绑定 两者兼有,或称Veil自有的监护权约束;建筑拒绝.

就像现有的Hub搜索呼叫器(`apps/hub/src/agent-web-search.ts`, (中文(简体) ), `configuredWebSearch`),呼叫者获得 `baseUrl(route)` 和通过 通过证书自由请求 `providerFetch(egress, route)`请求 准确的被钉入的根作为单 POST 其JSON 身体 宿主计划接受; 不转发调用信头、查询和替代路径。 这个 无法返回具有证书的 URL `baseUrl`。丢失、无效或 拒绝未接受的约束 `unavailable` 在取回之前; 其他目的地, 拒绝的方法或机构 `denied`. 拒绝指示和非-2xx回复 `unavailable`;没有返回上游错误正文、信头或 URL。 成功 尸体被绑定在64个MiB并被证书回音拒绝(raw, JSON- escaped) 或%- 编码); 请求机构被绑定在64 KiB. 运输故障, 包括终止,仅曝光固定 `VeilError` 密码 在已有的密钥中保留密钥 私人工人秘密监管,绝不是团队存储,公开配置,遥测或 木头。 最后的传输查看了授权的URL,不得登录.

Veil还拥有一扇匿名门:

| 路线 | 目标/ 允许的呼叫 | 私人约束 |
| --- | --- | --- |
| `sanctions-screen` | 准确点 `https://sanctionslistservice.ofac.treas.gov/api/PublicationPreview/exports/SDN.XML` | `SANCTIONS_SDN_URL` (准确的URL,选入) |

单枪匹马就能被制裁 **1个HTTP 302** 准确的外国资产管制处 导出为 `https://wc2h-sls-prod-public-published.s3.us-gov-west-1.amazonaws.com`,带有 路径开始 `/Published/` 结束 `/SDN.XML`。外国资产管制处的签名查询是: 保留;不转发呼叫信头/证书和上游饼干。 这个 位置字符串上限为 8,192 个代码单位,必须没有用户信息或 部件,不能更改 HTTPS 或端口 443 。 Veil 取消重定向体 在第二个 GET 之前, 使用原始的中止信号( 包括任何呼叫者) 截止时间,从未重新启动),并保持相同的64 MiB 下载绑定. 又一个 主机/路径、缺失/无效位置、第二次方向调整或任何其他方向调整 拒绝状态 `unavailable`直接输入S3和非GET制裁请求 仍然拒绝。 外国资产管制处的公开名单要求 **无证书**,所以没有 制裁 API 密钥绑定 。 呼叫者解析 XML 并判定匹配 表示; 此门只获取已公布的列表 .

供应商合同来源: [外国资产管制处的数据格式](https://ofac.treasury.gov/specially-designated-nationals-list-data-formats-data-schemas) 以及上面准确的官方出口。 单元固定装置证明保管和路线 政策,而不是提供钥匙或生活在上游.

## 证书范本和故障处理

`src/model-credentials.ts` 选择哪个密钥类可用于推论 请求。 个人密钥不会成为 App 的证书; App 起源 请求使用团队授权的拘留或拒绝。 保管人处理提供者 相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相去相相去相去相去相去相去相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相 授权的团队演员可以断开连接; a 失败的刷新标记, 它需要重新连接 。 逾期完成或被取代的完成是 没有静静地激活。 请求被取消后, 呼叫者将停止等待, 但是 无法证明提供者已经允许停止工作 .

没有供应商证书、服务启动、主机部署或备份恢复 通过安装或测试此适配器而建立。 验证配置的服务 和团队主人分开。 清单宣布麻省理工学院 捐款说明.

## 打开API 门

`@fungi.computer/veil/openapi` 揭发私人 `createOpenApiDoor` 答应 外相为相. `./openapi-effect` 拥有相同的打出效果程序。 只有小组 连接器所有者在检查当前附件修改后, 拨打这个门, 选中的操作和读/写效果 。 这不是一个客人原始请求工具.

匿名、 API 密钥头/ query 和无记名请求共享公共比对 套接字执行:仅公用 HTTPS, 一个已检查的 DNS 分辨率, 固定 地址为原始主机/TLS名称,之后没有方向。 车主 通过被绑定的基础 URL 和选定操作的已声明标题名称 . 门拒绝保留头部, 认证覆盖和基地外的目标 路径。 请求和响应机构上限为256KiB,整个行动地点为 30秒后,HTTP解析出64 KiB的响应头. 答复正在进行 仅文本/ JSON 及其介质类型; 上游 cookie 和其他标题不是 已经返回。 非-2xxx答复曝光 `upstream_status` 和数字状况, 没有上游错误文本。 常见的信用回声被编辑.

`configuredOpenApiDoor` 读取 `OPENAPI_CREDENTIAL_MASTER_KEY` 仅在 守门人. 这个32字节的基数64 工人秘密封印证书 与 WebCrypto AES-GCM相通. 主办方提供 `OpenApiCredentialStore` 那个 仅由团队和连接器键入的持续密码文本。 认证数据绑定 它的主人, 固定基础和认证政策。 商店必须取消 在写作之前; 密码文本留在私人所有者那里, 从来不是特工的事实, 浏览器 DTO 或日志 。 驱出是一等能. 改变基准或授权政策 需要重封; 复制的密码文本不能授权另一个所有者或主机. 主机拥有持久的清理和关键供给/恢复;此套件确实存在 期间不安装秘密、 坚持简写或联系远程服务 测试。 遗失的监护权或证书是一种打字拒绝,不是匿名的 倒计时.

OAuth 仅限于主机配置 `OpenApiOAuthProvider` 端口,由 现有的南戈代理。 提供者修正其基础; spec 无法选择 另一个目的地。 南戈保留了OAuth的监护权和自己的侵略政策. 没有 采用了通用 OAuth 提供者或新的南戈实例。 未配置 提供者拒绝 `oauth_not_configured`. API 密钥/接发器 交通从未使用 南果相会.

C4的打出拒绝是 `denied`, (中文(简体) ), `invalid_input`, (中文(简体) ), `invalid_response`, (中文(简体) ), `too_large`, (中文(简体) ), `timeout`, (中文(简体) ), `cancelled`, (中文(简体) ), `unavailable`, (中文(简体) ), `credentials_missing`, (中文(简体) ), `oauth_not_configured` 财务报告和审定财务报表 `upstream_status` (带有数字) `status`。错误 从未携带请求 URL、 证书字节、 原始响应文本或传送 事业.

东道方用品 `networkPolicy.extraPorts` (默认为空), `deniedHostSuffixes` (确切姓名加儿童姓名),以及 `deniedCidrs` 联合国 拥有基础设施。 没有部署地址是硬码 。 OpenAPI 允许 HTTPS 除非主机明确添加了端口。 相同的被钉住的 HTTP 适配器 对照 URL 主机和 **每个** 检查 DNS 答案; 一个被拒绝 回答拒绝整个电话。 CIDR解析和匹配属于ipaddr.js, 包括已映射的IPv4. 更古老的匿名公共网站 获得合同也许可 普通 HTTP 端口 80; 任意端口需要主机配置. 这些 策略来自信任的主机配置,从不连接器数据.

保管用途 `keys: { activeKeyId, keys }`,带有32字节基数64url 密钥以非密钥索引。 信封载有第1版和密钥代号; 密钥 ID 与 Team 、 Connector 、 Base 和 认证 政策 一同 认证 。 打开 旋转,保留用于读取的旧密钥,而所有新的封条都使用活性密钥. 只有在其剩余记录被重新封存或被去除后,才将旧钥匙退役. `configuredOpenApiDoor` 用途 `OPENAPI_CREDENTIAL_KEY_ID` (默认) `primary`用于 `OPENAPI_CREDENTIAL_MASTER_KEY`外加提供主机 `previousCredentialKeys`。 。 。 . 关键材料从不离开私人保管港 未知的密钥 ID 和 复制/ 替换的ids 拒绝; 没有旧信封 shim .

原始反应、 JSON 逃避反应、%编码、基数64和基数64url 在送还一具尸体之前 信任的回声 答复信头仍限于 媒体类型,拒绝敏感媒体类型; 上游错误仍然存在 只有数字状态。 OAuth 端口现已接收 `teamId` 以及私人事务 定位器;适配器必须验证连接属于该团队. C7级 必须完全从团队拥有的连接器记录中获取定位器 崩溃 连接 - 不可用/ 超时到一个代理创建代码 .

## 贡献

运行 `pnpm --filter @fungi.computer/veil test` 用于包的合成 监管,签名-webhook 和公开检查。 单位测试不能证明 南戈服务或供应商账户.

见 [`LICENSE`](https://npmcn.com/package/%40fungi.computer/veil/LICENSE)。 。 。 .

## 常见问题

### @fungi\.computer/veil 是什么？

团队授权的证书保管和提供方准入

### 如何安装 @fungi\.computer/veil？

在项目目录运行 npm install @fungi\.computer/veil，或使用 pnpm add / yarn add / bun add。

### @fungi\.computer/veil 支持 TypeScript 吗？

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

### @fungi\.computer/veil 支持 ESM 还是 CommonJS？

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

### @fungi\.computer/veil 可以商用吗？

@fungi\.computer/veil 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fungi\.computer/veil 的下载量有多少？

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

### @fungi\.computer/veil 还在维护吗？

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

