# @formata/limitr 中文文档

规范地址：https://npmcn.com/package/%40formata/limitr/

版本：0\.8\.5
npm 元数据更新时间：2026-11-08T17:02:26.569Z
中文译文更新时间：2026-11-15T08:29:56.343Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：21.3 MB，31 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-02-06T15:52:51.388Z
- 最新版本发布：2026-11-08T17:02:26.385Z
- 近 30 天下载量：2206（2026-10-16 至 2026-11-14，npm 官方下载统计）
- 已发布版本数：63（近 12 个月 63 个）

## 中文简介

限制 信用 和在你的AI产品内计费:一个开源引擎,它决定每个客户能做什么,花费你多少,以及每一次通话,在程序内计费什么.

## 安装

```sh
npm install @formata/limitr
```

也可以使用：`pnpm add @formata/limitr`、`yarn add @formata/limitr`、`bun add @formata/limitr`

## README

# [![Limitr](https://raw.githubusercontent.com/dev-formata-io/limitr/main/content/Green-Transparent-Limitr-ComboMark.svg)](https://limitr.dev/)  
[![npm](https://img.shields.io/npm/v/@formata/limitr?color=darkorange)](https://www.npmjs.com/package/@formata/limitr) [![downloads](https://img.shields.io/npm/d18m/%40formata%2Flimitr?label=downloads&color=darkorange)](https://www.npmjs.com/package/@formata/limitr) [![license](https://img.shields.io/badge/license-Apache%202.0-blue)](https://github.com/dev-formata-io/limitr/blob/main/LICENSE) [![docs](https://img.shields.io/badge/docs-limitr.dev-purple)](https://limitr.dev/docs/introduction) [![stars](https://img.shields.io/github/stars/dev-formata-io/limitr)](https://github.com/dev-formata-io/limitr)

**在你的人工智能产品里 限制 信用和开账单.**  
一个开源引擎,它决定每一次通话,每个客户能做什么,花费多少,以及账单多少. 你以此为基础:你的规则,你的UI,你的编码代理. 限制者云保持每个计划,价格,合同的活性,没有释放.

限制器是用于使用控制和计费的开源引擎. 它测量使用量(AI的代号按型号排列,API调用, 代理运行,座位,任何你计算的东西, 执行计划和限制, 价格每一次调用 花费你和什么 充电,并告诉你的代码 账单。 这是一个图书馆,不是服务: 它运行在你的进程中,在节点,邦,德诺, 或浏览器,所以没有部署或自主机,在请求中间也没有网络呼叫. 已经建成了 对于没有遵循计划的使用, 这是大多数AI的使用.

## 快开始

```bash
npm i @formata/limitr
```

```ts
import { Limitr } from '@formata/limitr';

const limitr = await Limitr.new(`
policy: {
    credits: {
        ai_token: {
            price: { amount: 0.00002 }      // you charge $20 per million tokens
            overhead_cost: 0.000008         // the model costs you $8 per million
        }
    }
    plans: {
        pro: {
            default: true
            entitlements: {
                export_pdf: {}                                                   // a feature flag
                chat: { limit: { credit: 'ai_token', mode: 'soft', value: 1_000_000, resets: true, reset_sch: 'monthly:1' } }
            }
        }
    }
}`);

limitr.addHandler('billing', (name, value) => {
    if (name === 'meter-overage') console.log('bill it:', JSON.parse(value as string).overage_price);
});

await limitr.ensureCustomer(userId);
if (await limitr.allow(userId, 'chat', tokens)) {
    // call the model
}
```

这是一个计划 每月AI的象征性津贴, 超龄账单通过它, 和比值每一次呼叫。 这个 [教程](https://github.com/dev-formata-io/limitr/tree/main/typescript/tutorial) 简而言之,在15年的基础上, 可运行的章节.

## 开你的帐,不是开你的帐

定价从不静坐. 成本、使用和交易 每月改变, 每一个改变 降落在您的代码和 你已经有客户了。 大多数计费平台都很快启动, 并且将您的定价放到他们的系统中: 使用是 发送到一个供应商, 数到他们的服务器, 一个事件一次, 之后它发生。 自己来控制, 并且花费工程时间 每个计划和每笔交易.

限制器是没有构建的控制器. 引擎是你的,就像你的密码:

-   **在你的应用程序里.** 每一次检查都是在工作开始前进行的 没有网络通话.
-   **整个任务都是价钱,一次不打一次电话.** 一项任务是数十次跨模型、工具和供应商通话. 引擎看到每个人与客户,他们的计划, 和任务的成本到目前为止,所以价格和限制 整个任务,它运行.
-   **和你的生意有关.** 计划,价格,成本,限制, 和每个客户的交易在一个政策文件.
-   **扩展像代码.** 您自己的定价功能, 特征条件, 规则, 和工具运行在策略中, 写 内 [楼梯](https://stof.dev/)。 。 。 .
-   **安全在你的流程.** 策略运行沙盒:没有文件或环境,没有网络,除非允许(和 永远不要你的私人网络 除非你列出它, 和时间和记忆限制 每一次通话。 引擎已经密封 当它装入时,所以一个政策可以建立在它之上,但不能改变它.
-   **在每一个呼叫中,** 按你收取的费用和付出的代价定价.
-   **从不分享你的收入,** 和你的,如果你离开: 有限制云或没有它, 它是相同的引擎.

## 你用它来建造什么

-   **一种政策中的任何定价模式:** 按用途、座椅、信用、平面图,或混合图、图和图.
-   **AI的功能保持盈利:** 按型号计算的费用、每个呼叫额、呼叫前的预计使用率和开支 用来停止逃跑的盖子.
-   **特色旗帜和推出:** 杀开关、百分率推出和规则 每一个呼叫,旁边的计划,与 测量它们的事件.
-   **海关交易和合同:** 给一个客户一个他们计划没有的特征, 带走一个,或者改变 他们的界限,随着期限的届满, 没有新的计划 每一笔交易。 很多顾客签的合约 写成一次 在政策中做出规定,并分配给每个人.
-   **属于一起的客户:** 裁判将一个用户放在一个团队和一个团队中,无论你如何模拟它. 一个用户 没有自己的计划是它的org计划, 与org的交易,座位,和共享预算.
-   **预付贷项:** 过期、转帐和转帐的信贷包,按自己的费率在各地使用.
-   **支付使用费后的利率限制 :** 保护你的基础设施,不碰客户付出的代价.
-   **计费活动:** 超龄 限值 和阈值 被传送到你的密码上.
-   **服务人员可以购买:** 将您的 API 出售给代理商和其他服务 限制网络( 下), 由 同样的政策.

## 限制网络:服务代理付费

需要预测,搜索,或翻译的代理通常首先需要账户和API密钥. 与 限制者网络,一个服务机构根据限制者政策公布其计划和路线,以及一个代理商(或任何应用软件,或 带有政策服务) **凭单**(笑声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) (掌声) 服务仪表就像任何 客户,以凭证的花费作为硬帽;代理商获得服务路线作为工具;以及每一个请求和 收据是签名的,所以双方都持有同样的记录. 没有交换密钥, 没有集成工作 。 可选操作员 (Limitr Cloud是一,为您设置在 `Limitr.cloud()` 添加共享状态 服务器、跨服务的预算、身份和发现。 限制网络协议:从 [`src/network`](https://github.com/dev-formata-io/limitr/tree/main/src/network) 编辑 [教程轨道](https://github.com/dev-formata-io/limitr/tree/main/typescript/tutorial/network)。 。 。 .

## 每一笔交易,按书面执行

客户的签名超过他们的计划:每月250 000 API电话,SSO,审计日志 从您的业务计划,没有 出口。 把交易写成一条规则 交给每个签名的客户 其条件适用于下一个 电话,没有新的计划 没有工程票:

```typescript
rules: {
    acme_2027: {
        label: 'Acme 2027'
        given: { sso: {}, audit_log: { plan: 'business' } }
        taken: { exports: {} }
        overrides: { api: { credit: 'request', value: 250_000, resets: true, reset_sch: 'monthly:1' } }
    }
}
```

```ts
await limitr.setCustomerRules('acme', ['acme_2027']);
await limitr.entitlementSource('acme', 'api'); // { access: 'plan', limit: 'rule:acme_2027', customer: 'acme' }
```

对于每个客户来说,顺序是相同的:先是自己的变化,后是规则(最高优先),后是规则 计划。 规则也可以限制开支,一个规则不能发明一种权利:给予总是使用计划的定义. A 类 用户在它的org计划中,也会得到org的规则.

## 为 AI 编码代理制作

Npm包 3个技能 `node_modules/@formata/limitr/skill`数字 : `limitr` (政策参考文献 引擎函数,以及每个事件, `limitr-ts` (类型脚本 SDK),和 `limitr-network` (限额网). 这个 第四个, `stof` (语言政策写入) 与斯多夫在 `node_modules/@formata/stof/skill/stof`。 。 。 . 用你的编码代理来对着它们和它 可以正确写出,审查,调试政策和集成,而不是猜测. 限制技能也被包装为拉链 [`content/`](https://github.com/dev-formata-io/limitr/tree/main/content) 用于上传到代理服务器.

## 自我接待:独自一人,或与限制云

没有可部署的限制服务器 。 引擎是 npm 软件包,运行在你的应用 无论是你的应用运行, 开源 (Apache 2. 0)并免费. "自我接待" 限制是 `npm i @formata/limitr` 还有你的保险单 这个 同样的政策和相同的呼叫 与或不限制云工作, 这样你就可以从一个开始移动到另一个.

**一个人** (单位:千美元)`Limitr.new(policy)`),您拥有发动机周围的部件:

-   **政策** 就像密码一样被审查并部署.
-   **客户状态** 在您的数据库中保存 : 保存每个客户, 如其事件所言, 并恢复它 `loadCustomers` 当你的应用启动。 给客户的裁判(其团队和Org)装入,因为其计划、交易和 共享的盖子通过它们. [在你的应用程序中运行](https://github.com/dev-formata-io/limitr/blob/main/typescript/tutorial/11-running-it-in-your-app.md) 显示整个循环.
-   **计费期** 随您的订阅`setCustomerPeriod`),或日历.
-   **计费** 来自于事件: 超龄,极限,和阈值 到你的代码,随着价格 和每个成本,为花纹 或者任何你开的账单.

**与 [限制云](https://limitr.dev/)** (单位:千美元)`Limitr.cloud({ token })`这些零件随它而来 每张支票 仍在运行中 :

-   **限制分析师,** 每页都有你身边的特工 它写和测试你的政策, 将一个签了合同在 从订单表格中解答有关客户、使用量和边距的问题,以及 显示价格变化会对真实的账单有什么影响,然后公布。 它在草案中发挥作用,并提出其他建议: 在应用之前,任何内容都不会被公布或更改.
-   **政策** 您编辑、审查并发布您的应用程序的每一份运行中的副本, 没有部署, 并滚回.
-   **客户** 留给你的, 顾客们的裁判们 都准备和他们一起上船.
-   **计费:** 分类账,发票通过你自己的花旗, 和帐单 向客户和每个人的帐单 一张发票.
-   **合同:** 规则,包括坡道、收费、承诺和表彰.
-   **分析:** 客户的用途、成本和利润率、账户、特征、模型或任务.

限制者云有一个免费计划, 从来没有分享你账单中的一部分: [开始免费](https://cloud.limitr.dev/?signup) 并让分析员 写你的第一个政策.

## 学多点

-   [教学](https://github.com/dev-formata-io/limitr/tree/main/typescript/tutorial): 可运行的章节,开始为 结束
-   [限制技能](https://github.com/dev-formata-io/limitr/tree/main/skill/limitr): 政策参考,每个引擎 函数,以及每个事件(`limitr-ts` 用于类型脚本 [类型标记/技能](https://github.com/dev-formata-io/limitr/tree/main/typescript/skill)(中文(简体) )
-   [限制网络](https://github.com/dev-formata-io/limitr/tree/main/src/network): 协议、协议 [有线格式](https://github.com/dev-formata-io/limitr/blob/main/src/network/PROTOCOL.md),以及 [技能](https://github.com/dev-formata-io/limitr/tree/main/skill/limitr-network)
-   [技术](https://github.com/dev-formata-io/stof/blob/main/content/SKILL.md): 语言政策用
-   [文档](https://limitr.dev/docs/introduction) 财务报告和审定财务报表 [限制器.dev](https://limitr.dev/)
-   [更改日志](https://github.com/dev-formata-io/limitr/blob/main/CHANGELOG.md)
-   [问题](https://github.com/dev-formata-io/limitr/issues): 错误和特性请求

定价模式你不太合适吗? [和创始人谈谈](https://calendly.com/d/ctjd-5gm-qqc/limitr-demo-with-founders)。 。 。 .

## 许可证

阿帕奇2.0 (英语). 见 [自由主义](https://github.com/dev-formata-io/limitr/blob/main/LICENSE) 详细情况.

  
  
  

### [![Limitr](https://raw.githubusercontent.com/dev-formata-io/limitr/main/content/Green-Transparent-Limitr-ComboMark.svg)](https://limitr.dev/)

## 常见问题

### @formata/limitr 是什么？

限制 信用 和在你的AI产品内计费:一个开源引擎,它决定每个客户能做什么,花费你多少,以及每一次通话,在程序内计费什么\.

### 如何安装 @formata/limitr？

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

### @formata/limitr 支持 TypeScript 吗？

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

### @formata/limitr 支持 ESM 还是 CommonJS？

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

### @formata/limitr 可以商用吗？

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

### @formata/limitr 的下载量有多少？

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

### @formata/limitr 还在维护吗？

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

