UStackUStack
latchkey icon

latchkey

Latchkey 是命令行工具,可将已存凭据自动注入到 curl 调用中,帮助 AI 代理用标准请求语法访问支持的公共 API。

latchkey

Latchkey 是什么?

Latchkey 是一个命令行工具,可将凭据注入到 HTTP API 的 curl 命令中。您无需手动为每个请求添加授权头或其他认证参数,只需为支持的服务存储凭据,Latchkey 即可自动添加相应的 curl 参数。

它主要为需要使用标准 curl 语法的 AI 代理设计。代理可以使用已存储的用户凭据,或触发交互式浏览器登录来收集用户凭据。

主要特性

  • curl 请求注入凭据latchkey curl <arguments> 将您的请求参数传递给 curl,同时自动插入存储的凭据(例如,无需自行包含 Authorization 头)。
  • 通过 services list 内置支持知名公共 API:列出开箱即用的第三方服务(示例服务包括 Slack、Google Workspace、Linear 和 GitHub)。
  • 使用 auth set 手动存储凭据:为命名服务将凭据存储为任意 curl 参数,例如一次性添加 Authorization: Bearer ... 头,以便后续请求复用。
  • 使用 auth browser 基于浏览器的凭据捕获:打开登录弹窗,从浏览器会话提取 API 凭据、存储以供复用,并可提示用户输入凭据(并非所有服务支持此选项)。
  • 无中间服务的代理友好工作流:项目将 Latchkey 定位为直接凭据注入,而非 OAuth 风格的中间层或 MCP 风格的集成层;使用浏览器认证时,请求直接代表用户发出。

如何使用 Latchkey

  1. 安装 Latchkeynpm install -g latchkey(按仓库安装说明)。
  2. 为服务设置凭据
    • 浏览器流程(需图形环境):latchkey auth browser slack
    • 手动流程:latchkey auth set slack -H "Authorization: Bearer xoxb-your-token"
  3. 使用标准 curl 语法调用 API
    • 示例:latchkey curl -X POST 'https://slack.com/api/conversations.create' -H 'Content-Type: application/json' -d '{"name":"something-urgent"}'

使用场景

  • AI 代理使用用户凭据调用 API:代理可运行 latchkey curl ... 调用支持的服务,由 Latchkey 处理认证细节,而非嵌入代理提示或代码中。
  • 交互式用户凭据提示:使用 latchkey auth browser <service> 时,代理可触发浏览器登录流程,从用户会话收集凭据并存储以供后续调用。
  • 可重复的本地 API 测试:使用 auth set 一次性设置凭据,复用于多个 curl 请求,无需反复复制授权头。
  • 运行时扩展对新服务的支持(简单情况):使用概述中提到的文档方法(“services register”)添加对新服务的初步支持,当无完整内置支持时。
  • 集成到代理技能工作流:仓库提及将 Latchkey 用作代理框架的“技能”(示例命令包括使用 skills 工具及从 ClawHub 安装)。

常见问题

  • Latchkey 会改变我编写 HTTP 请求的方式吗? 不会。您仍编写典型的 curl 命令;运行 latchkey curl <arguments> 时,Latchkey 会自动注入存储的凭据。

  • 凭据如何存储和复用? 凭据按服务存储,使用 latchkey auth set(手动)或 latchkey auth browser(浏览器捕获)。后续 latchkey curl 调用会复用这些凭据。

  • 浏览器认证选项始终可用吗? 不是。文档指出仅部分服务支持 auth browser 功能。

  • 让代理访问凭据有哪些风险? 项目警告允许 AI 代理访问 API 凭据可能危险,尤其使用 auth browser 时,因为代理可能执行用户能执行的大多数操作。

  • 安装和浏览器认证需要什么前提条件? 仓库要求 curl、Node.js 和 npm 为较新版本。对于 auth browser,需图形环境;另有 ensure-browser 命令,可发现 Chrome/Chromium/Edge 或通过 Playwright 下载 Chromium。

替代方案

  • 直接使用 OAuth 或每次请求令牌的 API 认证:您可以手动实现 OAuth 流程或为每个请求注入令牌。这与 Latchkey 不同,后者通过集中式凭据注入到 curl 中,而非需要认证实现或重复处理凭据。
  • MCP 风格集成层 / 代理工具服务器:这些在代理与目标服务之间引入中介。Latchkey 项目定位为不在典型工作流中引入中介。
  • 脚本直接使用的通用凭据管理器或密钥存储:您可以将令牌存储在密钥管理器中,由脚本检索。这通常意味着注入认证头的逻辑仍由您负责,而非使用 latchkey curl 命令。
  • 其他基于 CLI 的 API 包装工具:替代方案可能为特定服务提供专用命令,但可能不采用相同的透传 curl 工作流或支持广泛的 curl 风格请求模式。
latchkey | UStack