关于 llmkit
llmkit 是用于 AI 调用成本归因和预算控制的开源网关及 SDK 套件,面向需要追踪 Agent 支出或限制预算的开发者。它同时提供无需账号或代理的本地追踪方式,以及包含 11 个工具的 MCP 服务。
主要功能
- 01本地估算模型调用成本
- 02预算准入与实际用量结算
- 03追踪 Claude Code 和 Cline 会话
- 04查询支出、预算与密钥
- 05提供定价比较接口
适用场景
- 01汇总本地 Agent 的模型调用费用
- 02在请求派发前限制预算支出
- 03在 MCP 客户端检查编码会话
- 04比较指定模型的参考价格
MCP 相关
提供包含 11 个工具的 MCP 服务:本地工具检查 Claude Code 会话和 Cline 任务,网关工具查询支出、预算、密钥、会话和服务状态。网关工具需要已有的 LLMKit API 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
11收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| period | enum | 否 | 时间段today | week | month |
详细介绍
衡量 AI Agent 的成本。在请求超出预算前将其拦截。
网站 | 文档 | 定价 API | 架构 | 安全 | 保证案例
LLMKit 是一套开源 AI 网关和 SDK 套件,用于成本归属、预算准入和请求取证。网关会在向提供商分发请求前预留预计支出。对于无法纳入当前有效预算的请求,网关会予以拒绝;对于获准请求,则会在响应完成后根据实际用量结算预留金额。
此代码库还提供本地跟踪方式,无需 LLMKit 账户或代理即可使用。
选择使用方式
| 使用方式 | 适用场景 | 软件包 |
|---|---|---|
| Python 传输层 | 你想在现有 SDK 调用中加入本地成本估算 | llmkit-sdk |
| CLI 包装器 | 你的 OpenAI 或 Anthropic 客户端遵循标准的 base-URL 环境变量 | @f3d1/llmkit-cli |
| TypeScript SDK | 你已有密钥,并想通过 TypeScript 使用会话、流式处理和网关 | @f3d1/llmkit-sdk |
| MCP 服务 | 你想在 MCP 客户端中使用支出、预算和本地编码会话工具 | @f3d1/llmkit-mcp-server |
| AI SDK 提供商 | 你使用 Vercel AI SDK 6 | @f3d1/llmkit-ai-sdk-provider |
| 网关和仪表板 | 你需要共享预算、提供商路由、收据和分析功能 | packages/proxy、packages/dashboard |
快速入门
本地 Python 跟踪
pip install llmkit-sdk
from llmkit import tracked
from openai import OpenAI
costs = []
client = OpenAI(http_client=tracked(on_cost=costs.append))
client.chat.completions.create(
model="gpt-4.1",
messages=[{"role": "user", "content": "Summarize this incident."}],
)
print(f"${sum(item.total_cost or 0 for item in costs):.6f}")
传输层会读取提供商的用量元数据,并根据随附的定价目录估算成本。它不会将跟踪数据发送到 LLMKit。
零代码 CLI 跟踪
npx @f3d1/llmkit-cli -- python my_agent.py
使用 -v 查看每个请求的输出,或使用 --json 获取机器可读的结果。
网关模式(使用现有密钥)
网关示例需要现有的 LLMKit API 密钥。身份验证服务正在恢复期间,账户创建和密钥管理暂不可用。如果你还没有密钥,请使用上面的本地跟踪方式之一。
from openai import OpenAI
client = OpenAI(
base_url="https://api.llmkit.sh/v1",
api_key="llmk_your_key_here",
)
response = client.chat.completions.create(
model="gpt-4.1",
messages=[{"role": "user", "content": "Draft a release note."}],
)
预算路径
控制路径围绕三个边界构建:
- 原子准入: 每个预算范围的预留状态由一个 Durable Object 管理。并发请求无法重复花费同一笔剩余余额。
- 感知分发的幂等性: 分发前的确定性失败会释放密钥。分发给提供商后,若无法确定是否已发生分发,失败会保持终止状态,以避免重复花费。
- 有界响应: 非流式响应正文和单个 SSE 帧都有明确的字节数限制。超出限制时,LLMKit 会取消上游读取。
请求回执通过稳定标识符关联准入决策、提供商尝试、结算和分析数据移交。数据库写入使用发件箱,因此分析服务中断不会导致预算凭证被悄然抹去。
MCP 服务
{
"mcpServers": {
"llmkit": {
"command": "npx",
"args": ["-y", "@f3d1/llmkit-mcp-server"]
}
}
}
五个本地工具无需 LLMKit 密钥即可检查受支持的 Claude Code 会话和 Cline 任务数据。六个网关工具可在 LLMKIT_API_KEY 包含现有密钥时,查询支出、预算、密钥、会话和服务健康状态。它们总共提供 11 个工具。
定价数据
固定的目录是打包的参考快照,并非实时报价。一个源文件
packages/shared/pricing.json 记录快照日期,并生成 TypeScript、Python 和 MCP 表格。CI 会检查源文件与生成文件之间是否存在差异。公共网站仅呈现已有数据的提供商表格,并显示来源日期。
公共比较端点无需账号即可使用:
https://api.llmkit.sh/v1/pricing/compare?mode=text-token&models=anthropic%2Fclaude-sonnet-4-6%2Copenai%2Fgpt-4o&input=1000&output=1000&cacheRead=0&cacheWrite=0
该端点只为调用方提供的确切模型密钥定价。它不会搜索或推荐最便宜的模型。定价只是估算,并非提供商账单。提供商的计费规则、模型模态和目录时效性仍属于误差边界的一部分。
证据与当前边界
| 主张 | 此仓库中的证据 | 边界 |
|---|---|---|
| 并发预算准入会被串行化 | Worker 测试夹具会测试竞争预留、重试、结算和恢复 | 确定性的本地 Worker 和数据库验证 |
| 重试行为可避免重复分发 | 幂等性测试涵盖负载不匹配、分发前释放以及分发后状态不确定的情形 | CI 中模拟了提供商行为 |
| 大型提供商响应受到限制 | 成功、错误和未终止的 SSE 测试夹具会验证拒绝行为和流取消 | 限制针对每个缓冲响应或 SSE 帧 |
| 定价构件可复现 | 一个生成器和 CI --check 流程涵盖所有已发布的语言表格 | 目录数值仍需更新来源 |
| 可安全评估托管恢复 | 受保护的暂存部署和验证运行器会绑定隔离的 Worker、数据库、修订版本和清理日志 | 此处不声称已有完整的托管并发及中断恢复回执 |
有关隔离式托管验证契约,请参阅 STAGING_PROOF.md。该契约会明确拒绝生产目标和有未提交更改的工作树。
项目政策与设计
| 文档 | 负责内容 |
|---|---|
| 治理 | 决策权限、角色、争议及当前的连续性缺口 |
| 路线图 | 截至 2027 年 8 月的计划工作与排除项 |
| 架构 | 组件、请求流程、身份、存储、部署及故障边界 |
| 安全 | 安全要求、不作保证的事项、报告方式及受支持版本 |
| 安全保障 | 威胁模型、信任边界、可执行证据、剩余风险及运行时 HOLD |
| 无障碍 | 公共站点控件、验证方法、已知缺口及语言范围 |
| 贡献指南 | 设置、质量门槛、审查预期及 DCO 签署 |
开发
git clone https://github.com/smigolsmigol/llmkit
cd llmkit
corepack [email protected] install --frozen-lockfile
corepack [email protected] build
corepack [email protected] quality:pr
使用仅供开发的绑定在本地运行 Worker:
corepack [email protected] --filter @f3d1/llmkit-proxy dev
此处有意省略通用部署命令。暂存环境和生产环境使用单独的受保护脚本,并要求明确确认目标环境。
安全
服务提供商凭据使用 AES-256-GCM 加密,并采用随机 IV 和绑定所有者与服务提供商的附加认证数据。LLMKit API 密钥在存储前会进行哈希处理。CI 包含机密扫描、静态分析、依赖项审查、CodeQL 和软件包来源验证。
请阅读安全政策与架构以及机器可读的安全洞察快照。请通过 GitHub 私密漏洞报告或发送邮件至 [email protected] 报告漏洞。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。