UStackUStack
latchkey icon

latchkey

Latchkey 是指令列工具,可將已儲存的憑證自動注入到 `curl` 指令中,讓 AI 代理用標準請求語法呼叫已知公開 API。

latchkey

Latchkey 是什麼?

Latchkey 是一款指令列工具,可將憑證注入到 HTTP API 的 curl 指令中。您無需手動為每個請求新增授權標頭或其他認證參數,只需儲存受支援服務的憑證,即可讓 Latchkey 自動新增適當的 curl 參數。

它主要設計給需要使用標準 curl 語法的 AI 代理進行 API 呼叫。代理可使用已儲存的使用者憑證,或觸發互動式瀏覽器登入來收集使用者憑證。

主要功能

  • curl 請求的憑證注入latchkey curl <arguments> 會將您的請求參數傳遞給 curl,同時自動插入已儲存憑證(例如,無需自行加入 Authorization 標頭)。
  • 內建支援已知公開 API,透過 services list:列出開箱即用支援的第三方服務(範例服務包括 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 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