# @crvouga/mockingbird-service-infisical 中文文档

规范地址：https://npmcn.com/package/%40crvouga/mockingbird-service-infisical/

版本：1\.10\.9
npm 元数据更新时间：2026-11-03T01:26:39.863Z
中文译文更新时间：2026-11-11T02:43:43.572Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40crvouga/mockingbird-service-infisical
原文对照：https://npmcn.com/package/%40crvouga/mockingbird-service-infisical/?lang=original
项目主页：https://github.com/crvouga/mockingbird/tree/main/packages/service/infisical#readme
源码仓库：https://github.com/crvouga/mockingbird

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

- 包体积（解压后）：4.4 MB，18 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- 首次发布：2026-10-05T09:26:36.036Z
- 最新版本发布：2026-11-03T01:26:39.518Z
- 近 30 天下载量：15108（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

国有非活性仿真器:Universal Auth,范围化机器/服务符和版本化的项目环境秘密.

## 安装

```sh
npm install @crvouga/mockingbird-service-infisical
```

也可以使用：`pnpm add @crvouga/mockingbird-service-infisical`、`yarn add @crvouga/mockingbird-service-infisical`、`bun add @crvouga/mockingbird-service-infisical`

## README

# @crvouga/ mockingbird-service-infisical (英语)

> 本地模拟器。 真正的API合同. 部分 [嘲笑鸟](https://github.com/crvouga/mockingbird)。 。 。 .

A 类 **阴道** 通用 Auth 和 原始 秘密 表面的便携式非光学模拟器 `@infisical/sdk` **3.0.91 (中文(简体) )**. 组织、项目环境、文件夹、权限、符号、, 秘密和历史版本共享标准SQLite状态,时钟,命名空间和时光网上. 仅使用合成固定装置.

## 安装

```sh
bun add @crvouga/mockingbird-service-infisical
```

## 使用量

```ts
import { InfisicalSDK } from "@infisical/sdk"
import { createServer } from "@crvouga/mockingbird-service-infisical/server"

const emulator = await createServer()

// The application's client. Only siteUrl changes.
const sdk = new InfisicalSDK({ siteUrl: emulator.url })
sdk.auth().accessToken("fixture-service-token")
const result = await sdk.secrets().listSecrets({
  projectId: "fixture-project",
  environment: "dev",
  secretPath: "/app",
})
console.log(result.secrets.map((secret) => ({ key: secret.secretKey, version: secret.version })))

await emulator.close()
```

例子需要 `@infisical/sdk@3.0.91`SDK是一种可选的消费者依赖 模拟器的运行时间并不取决于它. 与 Universal Auth 连接的机器身份记录和 `/__admin/ns/<name>` 前缀在 `siteUrl` 给一个套件 :

```ts
import { InfisicalSDK } from "@infisical/sdk"
import { createServer } from "@crvouga/mockingbird-service-infisical/server"

const emulator = await createServer({ adminKey: "fixture-infisical-admin" })

const sdk = new InfisicalSDK({ siteUrl: `${emulator.url}/__admin/ns/test-suite` })
await sdk.auth().universalAuth.login({
  clientId: "fixture-machine",
  clientSecret: "fixture-client-secret",
})
const result = await sdk.secrets().listSecrets({
  projectId: "fixture-project",
  environment: "dev",
  secretPath: "/app",
})
console.log(result.secrets.map((secret) => ({ key: secret.secretKey, version: secret.version })))

await emulator.close()
```

指消费者 `INFISICAL_SITE_URL` (或其SDK) `siteUrl` 配置),位于服务URL. SDK地图 `projectId` 切入到 v3 线字段 `workspaceId`。默认树有一个 `dev` 环境, `/`, (中文(简体) ), `/app` 财务报告和审定财务报表 `/sibling` 文件夹。 默认机器允许 `/app` 和后代; 它的合成客户秘密是 `fixture-client-secret`遗产 `fixture-service-token` 许可 所有三个文件夹通过 `sdk.auth().accessToken("fixture-service-token")` 或持枪者.

不同装置的通行证 `trees: ProjectTree[]` 改为 `createRuntime`, (中文(简体) ), `createServer` 或者说 `InfisicalAPI`。 。 。 . 树名 组织、 项目和环境; 每个文件夹包含 `{ key, value, comment?, tags?, metadata?, version? }` 秘密和可选 `{ environment, path }` 进口. 指定机器 `{ id, clientSecret, grants, ttl?, maxTTL? }`; 指定服务符 `{ id, token, grants, expiresAt? }`赠款 `{ projectId, environment, path, recursive?, actions? }`,与 `read`, (中文(简体) ), `create` 财务报告和审定财务报表 `edit` 行动。 路径匹配完整段 : `/app` 永远 匹配 `/application`开放行动允许所有三个。 这些固定权限的模型精确度 路径和递归子树; 供应商 CASL/ glob 政策在此片外.

## 供应商路线和行为

| 方法 | 路线 | 行为 |
| --- | --- | --- |
| 邮政 | `/api/v1/auth/universal-auth/login` | 客户端ID/ 秘密登录; 接线符, `expiresIn`, (中文(简体) ), `accessTokenMaxTTL` |
| 邮政 | `/api/v1/auth/token/renew` | 在最初的最大寿命内更新活机符号 |
| 获取 | `/api/v3/secrets/raw` | 按项目、环境和文件夹列出;可选的递归读取、标签过滤器、导入和价值隐藏 |
| 获取 | `/api/v3/secrets/raw/{secretName}` | 当前或编号的历史版本;可选导入/参考扩展 |
| 邮政 | `/api/v3/secrets/raw/{secretName}` | 在第一版创建共享机密 |
| 帕齐 | `/api/v3/secrets/raw/{secretName}` | 更新或重命名; 递增版本并保存更早的值、 注释、 标记和元数据 |

列表返回 `{ secrets, imports }`,由密钥上调命令;3.x SDK使用的v3路由器有 **无标记 元数据或限制/抵销参数**复制创建返回供应商 `400 BadRequestError`, (中文(简体) ), 而不是一种捏造出的冲突状态。 保留最终值时会修剪秘密值 新线,沿着生路变换. 支持共享机器/服务访问; 个人秘密写作被拒绝. Token 过期使用被注入的仿真器时钟. 失踪/无效 令牌、拒绝许可、丢失位置/秘密、计划验证和拖延返回 供应商形状的错误信封。 位置不明的信息是故意通用的以避免 暴露固定结构. 机器代号是不透明的仿真者证书,而不是签字的JWT. 带有一个精确范围的后遗症服务标志, 覆盖呼叫者的项目/环境/路径, 遵循v3路由器;递归式服务范围保留了明确的呼叫器位置.

引用扩展支持 `${KEY}` 财务报告和审定财务报表 `${environment.folder.KEY}` 参考文献 同一个项目。 循环和缺失的参考文献在这一有界限的片断中仍为文字;参考了现有的 403 而不是透露其价值。 仅披露进口 信使可以读取的来源秘密。 导入后退和 SDK `listSecretsWithImports` 用于种子源的工作; 导入管理使用管理树控制.

## 管理控制和隐私

每个管理员数据需要读取/写入 `x-mockingbird-admin-key`。默认是明确 合成 `fixture-infisical-admin`; 自行提供 `adminKey` 当共享服务器时。 一个空的 键被拒绝。 标准健康、状态、时间线、重置、计量、请求、断层和命名空间 线路位于 `/__admin`· ; `adminPrefix` 移动完整的保留树.

| 方法 | 管理路径 | 行为 |
| --- | --- | --- |
| 获取/后 | `/project-tree` | 导出元数据/ 原子种子或更新一棵树; 重播已存在的密件创建新版本 |
| 获取 | `/secrets` | 只保密元数据; 没有值、 注释或任意的元数据字段 |
| 邮政 | `/secrets/rotate` | `{ projectId, environment, secretPath?, secretName, secretValue }`; 版本突起, 元数据响应 |
| 获取 | `/tokens` | 身份证、签发/过期时间、范围和吊销状态;无证书 |
| 邮政 | `/tokens/{id}/expire` | 在当前时钟时间过期 |
| 邮政 | `/tokens/{id}/revoke` | 撤销一个标志 |
| 邮政 | `/machines/{id}/revoke` | 撤销机器的现有令牌; 以后登录可以发布新的令牌 |
| 邮政 | `/permissions/deny` | 拒绝 `{ projectId, environment, path, recursive? }` |

保密值、评论、元数据、客户秘密和信使证书被封存 AES-256-GCM (法语) **在此之前** 输入任何收藏。 标准状态读取和时间线快照 包含加密字节; 服务特定管理员只读出元数据。 请求日记, 参数、日志和出错中从未包含秘密值或证书机构。 返回纯文本 只有经授权的供应商秘密行动。 这是一个测试模拟器: 呼叫者持有运行时间 对象可以访问其程序 API,并且应该信任.

加密密钥是运行时间的私密密钥,通过命名空间共享. 密封行 被绑定在公共名称空间,记录类型和版本,所以时光线分支解密它们 在不允许交叉名称空间密码文本再利用的情况下,保留了固定装置。 使用 `createVaultKey()` 并通过同样的 `vaultKey` 当打开一个持久的SQLite数据库时; 把钥匙放在序列状态之外 认证失败/ 打印不显示密封 目录。 构造器固定装置是同步密封的,因此最初的时线检查点和 重置包括整棵树.

使用命名空间 `x-mockingbird-namespace`, (中文(简体) ), `/__admin/ns/<name>/…`,或证书绘图 `PUT /__admin/credentials`。在一个命名空间中发布的机器令牌不能授权另一个. 预设 : `rate_limited` (429,重试-后 1), `missing_version` (404次检索), `server_error` (500个) 财务报告和审定财务报表 `network_reset` (连接滴出后再写出). 过 `count: 1` 为一发一发的过失. 这个地表上没有外出网点.

## 甲骨文证据

合同跟随官员 [v3 原始机密路由器](https://github.com/Infisical/infisical/blob/70e06365043ae3b6f49ef6c95a8b9997b20f4a34/backend/src/server/routes/v3/deprecated-secret-router.ts), (中文(简体) ), [原始反应计划](https://github.com/Infisical/infisical/blob/70e06365043ae3b6f49ef6c95a8b9997b20f4a34/backend/src/server/routes/sanitizedSchemas.ts), (中文(简体) ), [秘密行为](https://github.com/Infisical/infisical/blob/70e06365043ae3b6f49ef6c95a8b9997b20f4a34/backend/src/services/secret-v2-bridge/secret-v2-bridge-service.ts), (中文(简体) ), [列表顺序](https://github.com/Infisical/infisical/blob/70e06365043ae3b6f49ef6c95a8b9997b20f4a34/backend/src/services/secret-v2-bridge/secret-v2-bridge-dal.ts), (中文(简体) ), [通用 Auth 路由器](https://github.com/Infisical/infisical/blob/70e06365043ae3b6f49ef6c95a8b9997b20f4a34/backend/src/server/routes/v1/identity-universal-auth-router.ts), (中文(简体) ), 财务报告和审定财务报表 [错误处理器](https://github.com/Infisical/infisical/blob/70e06365043ae3b6f49ef6c95a8b9997b20f4a34/backend/src/server/plugins/error-handler.ts)。 。 。 . SDK 测试执行实际 [已发布 3.0.91 套件](https://www.npmjs.com/package/@infisical/sdk/v/3.0.91)。 。 。 . 这些是源/ SDK 检查,不是活沙盒对等通过的说法.

`bun run parity:service -- infisical` 需求 `INFISICAL_API_URL`, (中文(简体) ), `INFISICAL_TOKEN`, (中文(简体) ), `INFISICAL_PROJECT_ID`, (中文(简体) ), `INFISICAL_ENVIRONMENT` 财务报告和审定财务报表 `INFISICAL_SECRET_PATH`寒冷的跑者 对照可访问的空测试文件夹检查只读列表行为 。 它从来没有创造或 更新现场机密。 缺少证书或无法空入/无法访问文件夹出口 2 .

## API 密码

主要输入运行时间出口 : `InfisicalAPI`, (中文(简体) ), `createRuntime`, (中文(简体) ), `createVaultKey`, (中文(简体) ), `DEFAULT_TREE`, (中文(简体) ), `DEFAULT_ADMIN_KEY`, (中文(简体) ), `INFISICAL_NAMESPACE`, (中文(简体) ), `INFISICAL_PRESETS`, (中文(简体) ), `normalizePath`, (中文(简体) ), `object`, (中文(简体) ), `document` 财务报告和审定财务报表 `supportedOperationIds`。 。 。 . `object` 安全地缩小一个未知的平面对象值. `InfisicalAPI` 执行 `fetch`, (中文(简体) ), `reset`, (中文(简体) ), `seedTree`, (中文(简体) ), `ensureSeeded`, (中文(简体) ), `wire`, (中文(简体) ), `metadata` 财务报告和审定财务报表 透过 `state` 加号 `sqlite` 财务报告和审定财务报表 `app`。 。 。 . `createRuntime` 添加共享内容 摩诃萨相与管相. 公共类型包括: `InfisicalAPIOptions`, (中文(简体) ), `InfisicalRuntime`, (中文(简体) ), `InfisicalRuntimeOptions`, (中文(简体) ), `ProjectTree`, (中文(简体) ), `Grant`, (中文(简体) ), `SecretFixture`, (中文(简体) ), `SecretRecord` 财务报告和审定财务报表 `Token`。 。 。 . 这个 `/server` 进口 `createServer`, (中文(简体) ), `DEFAULT_PORT` (8811个)和 `serveTarget`附加时 `InfisicalServer`, (中文(简体) ), `InfisicalServerOptions`(原始内容存档于2012-10-10). CLI: `mockingbird-infisical serve --port 8811`。 。 。 .

## 故意不模拟

全面非商业产品管理、供应商v4 API、用户/个人秘密所有权、批准 政策、动态/云层秘密、外部认证方法、签署的JWT核查、符号使用限制、, 周期符号模式、 IP 允许列表、 跨项目引用、 嵌入式导入图/ 复制, 全面审计记录报告、供应商ETags和网约车 就在这个小块外 安装或测试时不需要有现场秘密.

## 常见问题

### @crvouga/mockingbird-service-infisical 是什么？

国有非活性仿真器:Universal Auth,范围化机器/服务符和版本化的项目环境秘密\.

### 如何安装 @crvouga/mockingbird-service-infisical？

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

### @crvouga/mockingbird-service-infisical 支持 TypeScript 吗？

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

### @crvouga/mockingbird-service-infisical 支持 ESM 还是 CommonJS？

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

### @crvouga/mockingbird-service-infisical 可以商用吗？

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

### @crvouga/mockingbird-service-infisical 的下载量有多少？

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

### @crvouga/mockingbird-service-infisical 还在维护吗？

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

