# @formbricks/hub 中文文档

规范地址：https://npmcn.com/package/%40formbricks/hub/

版本：0\.14\.3
npm 元数据更新时间：2026-11-11T11:18:02.980Z
中文译文更新时间：2026-11-15T08:35:02.523Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：975 kB，32 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：0 个
- peer 依赖：zod ^4\.0\.0
- 首次发布：2026-02-17T17:58:11.831Z
- 最新版本发布：2026-11-11T11:18:02.570Z
- 近 30 天下载量：13767（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：21（近 12 个月 21 个）

## 中文简介

Formbricks Hub API 的官方 TypeScript 库

## 安装

```sh
npm install @formbricks/hub
```

也可以使用：`pnpm add @formbricks/hub`、`yarn add @formbricks/hub`、`bun add @formbricks/hub`

## README

# @ formbricks/ hub (英语)

用于此程序的官方类型脚本客户端 [窗砖枢纽](https://hub.formbricks.com/) API——反馈-记录存储,搜索,丰富和网游.

```bash
npm install @formbricks/hub
```

在Node.js上,22岁或更晚. 客户端是建立在标准上 `fetch`,所以它也运行在浏览器和 Bun. 尚未支持Deno:生成的客户端通过 `client` 选项通到 `new Request()`德诺拒绝.

## 使用量

```ts
import { createHubClient, listFeedbackRecords } from "@formbricks/hub";

const client = createHubClient({
  apiKey: process.env.HUB_API_KEY!,
  baseUrl: "https://app.formbricks.com", // or your self-hosted Hub
});

const { data } = await listFeedbackRecords({
  client,
  query: {
    tenant_id: "org-123",
    source_type: ["survey", "review"],
    sentiment: ["negative", "very_negative"],
    limit: 50,
  },
});
```

`baseUrl` 需要而不是默认:Hub是可自我托管的,所以没有单一的正确来源.

每个操作都是独立的功能,因此捆绑者可以摇动你所不叫的树. 如果您需要截取器或额外信头, 请直接使用生成的客户端 `createHubFetch()` 保留如下内容:

```ts
import { createClient, createConfig, createHubFetch } from "@formbricks/hub";

const client = createClient(
  createConfig({ baseUrl, auth: () => apiKey, fetch: createHubFetch() }),
);
```

呼叫回来 `{ data, error, response }` 而不是丢入错误状态; 通过 `throwOnError: true` 来抛出解析出的错误正文。 网络故障和超时返回 `error` 同样的方式.

## 检索和超时

请求被重审并默认超时:最多 **2次复试**, (中文(简体) ), **每次尝试60秒**和服务器的 `Retry-After` 很荣幸 只有在不能两次适用时才再次发出请求——一个例外,见下表:

| 复试 | 打开 |
| --- | --- |
| 任何请求 | `429`页:1 `408` 或者说 `503` 与 `Retry-After`页:1 `409` 谁的问题 `code` 实值 `tenant_write_conflict` |
| `GET`, (中文(简体) ), `HEAD`, (中文(简体) ), `OPTIONS`, (中文(简体) ), `PUT`, (中文(简体) ), `DELETE` (单位:千美元) | `500`, (中文(简体) ), `502`, (中文(简体) ), `504`,任何其他 `408` 或者说 `503`、 网络错误、 超时尝试 |

`POST` 财务报告和审定财务报表 `PATCH` 在一个 `500`, (中文(简体) ), `502` 或者说 `504`页:1 `408` 或者说 `503` 无 `Retry-After`,网络出错或超时,因为 Hub 可能已经应用过它们。 代理如特使或Istio 回答 `503` 当它与枢纽的连接下降和 `408` 当它闲置的时火, 创建已应用的 Hub 将会以 `409` 冲突,或——为网钩——两次被创建。 如果你的电话可以安全地重复的话, 重复那些刻意尝试, 比如语义搜索. 其它 `4xx` 答复既未经过反复审查,也未中止请求,或 `Retry-After` 请求超过60秒 : 该回复将被返回, 您可以采取行动 .

A 类 `DELETE` 失去反应后再审过 就能回答 `404`:第一次尝试已删除。 例外的是房客清洗, `DELETE /v1/tenants/{tenant_id}/feedback-records`:在之前的一次完成后要求的清洗开始新的运行,所以如果第一次清洗的响应丢失了,而且清理在重试前完成,重试中也会删除摄入之间的反馈. 如果有关系,请打电话 `maxRetries: 0` 并检查它的进展.

如果你在自己代理的背后运行Hub, 不要让它变成上游错误 `503` 与 `Retry-After` 这标志着一个要求 赫伯特从来没有见过,所以 `POST`s 将重新批准.

```ts
const client = createHubClient({
  apiKey,
  baseUrl,
  maxRetries: 4, // 0 turns retries off
  timeout: 10_000, // per attempt, in ms; 0 turns it off
});
```

暂停时间涵盖每次尝试,直到其身体被读取为止,所以一个让中体无法挂接的响应;设置 `timeout: 0` 为了长生不老的溪流 对于 `GET`, (中文(简体) ), `OPTIONS`, (中文(简体) ), `PUT` 财务报告和审定财务报表 `DELETE`,虽然重试仍然是可能的,但JSON的身体在尝试中被读取,所以一个滴出或被拖住的中回应像其他失败一样被重试. 重试后的反应体被丢弃,除了 `409`',其中最多64KB读取为: `code`。超时对每次尝试分别适用;将整个呼叫绑定,通过 a `signal`,比如说. `AbortSignal.timeout(30_000)`。 。 。 .

归宿是客户的 `fetch`A级 `fetch` 每个呼叫都通过,或稍后设置 `client.setConfig({ fetch })`,替换它们,除非它是一个 `createHubFetch()` 自己来.

## 运行时间验证

每一个请求和响应形状的 Zod schemas — 带有光谱本身 `minLength`, (中文(简体) ), `maxLength`, (中文(简体) ), `pattern` 和 enum 制约 —— 从一个单独的切入点可以得到, 因此导入客户端本身没有依赖性 :

```ts
import { zFeedbackRecordData } from "@formbricks/hub/schemas";
```

`zod` 是可选的对等依赖;只有在使用此切入点时才会安装.

## 重复查询参数

串行过滤器作为重复参数发送( I)`?source_type=survey&source_type=review`),这是Hub所期望的——它不分割逗号分隔的值. 通过数组,客户端做正确的事情.

## 此软件包是如何构建的

它产生于 [`openapi.yaml`](https://github.com/formbricks/hub/blob/main/openapi.yaml) 在枢纽存储器中 [`@hey-api/openapi-ts`](https://heyapi.dev/),并从该存储库发表在每份稳定的Hub发布中 [npm 来源](https://docs.npmjs.com/generating-provenance-statements)它的版本是Hub发行的: `@formbricks/hub@0.14.0` 是Hub0.14.0的客户端,所以将SDK钉入你运行的Hub版本. 生成的源头没有承诺 `src/`,而出处的证明名称 确切的承诺来自, 所以你可以再生和比较.

要报告问题或请求更改API表面,请在 [窗体砖/圆块](https://github.com/formbricks/hub/issues)。 。 。 .

## 许可证

阿帕奇 - 2.0

## 常见问题

### @formbricks/hub 是什么？

Formbricks Hub API 的官方 TypeScript 库

### 如何安装 @formbricks/hub？

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

### @formbricks/hub 支持 TypeScript 吗？

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

### @formbricks/hub 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @formbricks/hub 需要什么版本的 Node\.js？

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

### @formbricks/hub 可以商用吗？

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

### @formbricks/hub 的下载量有多少？

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

### @formbricks/hub 还在维护吗？

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

