关于 API Locker
API Locker 是面向开发者的凭据保险库和命令行工具,可存储 LLM、服务 API 及 OAuth 凭据。它能将密钥注入命令环境,并向 MCP 客户端开放保险库管理功能。
主要功能
- 01加密存储 LLM、服务和 OAuth 凭据
- 02将密钥注入子进程环境
- 03通过 .apilockerrc 固定项目凭据
- 04管理设备、令牌和凭据访问
- 05提供审计日志和安全检查
适用场景
- 01运行项目而不将密钥存入 .env
- 02通过 .apilockerrc 声明项目所需凭据
- 03让 AI Agent 管理保险库凭据
MCP 相关
`apilocker mcp` 通过 stdio 桥接程序向兼容 MCP 的客户端开放保险库访问和管理工具,并从本地配置文件读取主令牌。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
API Locker
一个保险库,三种凭据。 大模型 API 密钥、服务 API 密钥和 OAuth 凭据——全部加密,只需一条命令即可注入代码。
API Locker 用一个加密保险库取代 .env 文件。将 OpenAI 密钥、Stripe 密钥、Google OAuth 客户端凭据都存放在一处,然后通过 apilocker run -- npm start 将它们注入任何命令。原始凭据绝不会写入磁盘、留在 shell 历史记录中,也不会被提交到 git。
安装
npm install -g apilocker
需要 Node.js 18 或更高版本。
三条命令即可开始
# 1. Install the CLI (above)
# 2. Register this device — opens your browser for a one-click confirmation
apilocker register
# 3. Run any command with your vault secrets injected as env vars
apilocker run -- npm start
就是这么简单。通常你会放进 .env 文件的所有内容,例如 process.env.OPENAI_API_KEY、process.env.STRIPE_SECRET_KEY、process.env.GOOGLE_OAUTH_CLIENT_SECRET,现在都会在命令运行期间注入子进程。命令退出后,密钥便会消失。
一个保险库,三种凭据
🧠 大模型 API 密钥
OpenAI、Anthropic、Gemini、Groq、Mistral。
apilocker store --name OPENAI_API_KEY --provider openai --key sk-proj-xxxxx
apilocker run -- node my-ai-app.js
⚡ 服务 API 密钥
Stripe、Twilio、Resend、ElevenLabs、Cloudflare、GitHub、Clerk、Sentry、PostHog、Cloudinary、Mux、SendGrid、Vercel、Upstash、LemonSqueezy,以及适用于其他服务的自定义密钥。
apilocker store --name STRIPE_SECRET_KEY --provider stripe --key sk_live_xxxxx
apilocker run -- npm start
🔗 OAuth 凭据
Google、GitHub、Slack、Microsoft、Notion、Spotify、Twitter/X、LinkedIn、Discord、Zoom、Dropbox、Salesforce、HubSpot,以及适用于其他服务的自定义 OAuth。
apilocker store --oauth \
--name google-oauth \
--provider google-oauth \
--client-id 856449...apps.googleusercontent.com \
--client-secret GOCSPX-xxxxx \
--scopes "openid email profile"
# Injects GOOGLE_OAUTH_CLIENT_ID, GOOGLE_OAUTH_CLIENT_SECRET, etc.
apilocker run -- node oauth-app.js
完整命令集
| 命令 | 功能 |
|---|---|
apilocker register | 通过浏览器确认注册此设备。无需粘贴令牌。 |
apilocker store | 存储凭据。多字段 OAuth 使用 --oauth,其他情况使用 --key。 |
apilocker list | 按大模型 / 服务 / OAuth 分类列出凭据。使用 --tag、--provider、--category、--search 筛选。 |
apilocker run -- <cmd> | 运行任意命令,并将保险库密钥作为环境变量注入。 |
apilocker get <alias> | 将单个密钥值输出到 stdout(用于脚本)。OAuth 字段使用 --field。 |
apilocker env | 输出可供 shell 求值的 export 语句。使用 eval "$(apilocker env)" 将其加载到当前 shell。 |
apilocker init | 通过可提交的 .apilockerrc 文件,将指定密钥固定到项目目录。 |
apilocker import .env | 将现有 .env 文件迁移到保险库。自动匹配提供商前缀,并可将 .env 替换为 .apilockerrc。 |
apilocker rotate <alias> | 替换凭据值。已限定范围的令牌仍可继续使用;消费者不会察觉凭据轮换。 |
apilocker rename <old> <new> | 重命名凭据别名。不会造成任何影响——引用旧名称的现有 .apilockerrc 文件仍可通过透明回退机制正常使用。 |
apilocker pause <alias> / resume <alias> | 冻结代理访问,但不删除凭据。暂停的凭据仍可用于 reveal / run / get / env。 |
apilocker delete <keyId> | 永久删除凭据。 |
apilocker devices list / revoke <id> | 管理已注册到你账户的设备。 |
apilocker token create/list/pause/resume/delete | 管理用于应用 / 代理的限定范围访问令牌。 |
apilocker activity | 查看审计日志。添加 --follow / -f 可实时接收新事件。 |
apilocker doctor | 安全健康检查:检查过时的凭据轮换、未使用的密钥、即将过期的令牌以及本地配置权限。 |
apilocker update | 检查 npm 是否有更新版本。 |
.apilockerrc 文件
使用可提交到代码仓库的配置文件,将项目固定到一组特定凭据。运行 apilocker init,按提示创建配置文件:
# .apilockerrc — safe to commit to git, contains only pointers
keys:
- OPENAI_API_KEY
- STRIPE_SECRET_KEY
- google-oauth
运行 apilocker init 后,任何克隆了仓库并运行 apilocker run -- npm start 的人都会获得相同的环境变量,前提是他们可以访问自己保险库中的相应别名。这就像用于凭据的 package.json:文件声明项目需要什么,每位开发者都有自己的保险库。
为什么 CLI 不会要求你粘贴主令牌
与大多数开发者工具不同,apilocker register 不会要求你粘贴来自控制面板的密钥,而是:
- 运行
apilocker register - 浏览器会打开一个只有一张卡片的确认页面
- 点击“Authorize”
- CLI 会通过经过身份验证的轮询通道接收每设备主令牌,不会接触剪贴板、shell 历史记录或屏幕
这是 RFC 8628 设备授权流程(gh、vercel、wrangler、flyctl 和 gcloud 使用的相同模式)。这种方式严格来说比粘贴令牌更安全,因为密钥不会出现在任何可能被人无意泄露的地方。
新用户?同一流程也可用于注册——首次通过 GitHub/Google 进行 OAuth 授权时,系统会自动创建账户。无需另外访问 Web 门户。
MCP 集成——连接 AI 助手
API Locker 提供完整的 Model Context Protocol 服务,包含 25 个工具,让 Claude Code、Claude Desktop、Cursor、Zed、Continue 及其他任何兼容 MCP 的客户端都能直接读取和管理你的保险库。
Claude Code——一条命令
claude mcp add apilocker -- apilocker mcp
运行 claude mcp list 进行验证。你应该会看到 apilocker: apilocker mcp - ✓ Connected。下次启动 Claude Code 会话时,该服务会自动可用。
Claude Desktop、Cursor、Zed、Continue
CLI 自带 apilocker mcp,这是一个可自动处理连接的 stdio 桥接程序。使用以下配置配置任何 MCP 客户端:
{
"mcpServers": {
"apilocker": {
"command": "apilocker",
"args": ["mcp"]
}
}
}
桥接程序会自动从 ~/.apilocker/config.json 读取主令牌。客户端配置中无需放入任何凭据。
打印特定客户端的配置,请使用内置助手:
apilocker mcp config --client claude-desktop # or claude-code, cursor, continue, zed, generic
完整文档: https://www.apilocker.app/docs/mcp — 包含每个客户端的配置文件位置、故障排除信息以及完整的 25 工具目录。
可视化状态: 控制面板设有专用的 MCP 面板,位于 https://www.apilocker.app/dashboard#mcp,其中显示服务状态,提供测试连接按钮、适用于所有主流客户端的可复制粘贴配置,以及近期 MCP 活动的实时动态。
安全态势
- 每项存储的凭据都使用 AES-256-GCM 加密。除向经过身份验证的主令牌持有者(你)展示凭据时外,密钥绝不会以明文形式离开保险库。
- 每设备令牌可单独撤销。笔记本电脑被盗?只需撤销该设备,其他设备仍可正常使用。
- OAuth CSRF 保护使用绑定到 10 分钟 KV 窗口的状态令牌。
~/.apilocker/config.json采用严格的文件权限(0600)。- 所有操作都会记录审计日志:每次展示、代理调用、重命名和轮换都会记录。运行
apilocker activity --follow即可实时查看。 - 无损重命名并支持 previous_names 回退:重命名凭据绝不会导致现有代码失效。旧别名会透明地解析到当前凭据,并温和提示你更新配置。
- 暂停/恢复:在事件响应期间冻结代理访问,同时保留凭据本身。
配置
配置文件位于 ~/.apilocker/config.json(模式 0600)。不要将其提交到代码仓库。
为可自托管的部署覆盖 API 端点:
apilocker register --url https://api.your-locker.example.com
状态
API Locker 可免费使用,提供无限量的密钥、令牌和代理调用。付费套餐推出后,早期用户将永久保留免费的 Pro 权益。
Links
- Website: www.apilocker.app
- Dashboard: www.apilocker.app/dashboard
- API: api.apilocker.app
- Changelog: www.apilocker.app/changelog
License
MIT © 2026 API Locker
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。