latchkey
Latchkeyは、既知の公開API向けに保存した認証情報をcurlコマンドへ自動注入するCLIツール。AIエージェントのAPI呼び出しを標準構文で支援します。
Latchkeyとは?
Latchkeyは、HTTP API向けにcurlコマンドへ認証情報を注入するCLIツールです。リクエストごとに手動で認証ヘッダーやパラメータを追加する代わりに、サポートサービス向けの認証情報を保存し、Latchkeyが適切なcurl引数を自動追加します。
主に、標準curl構文でAPI呼び出しを行うAIエージェント向けに設計されています。エージェントは保存済みのユーザー認証情報を使用するか、インタラクティブなブラウザログインをトリガーしてユーザーの認証情報を収集できます。
主な機能
curlリクエストへの認証情報注入:latchkey curl <arguments>で、リクエスト引数をcurlに渡しつつ保存済み認証情報を自動挿入(例:Authorizationヘッダーを自分で追加する必要なし)。services listによる既知の公開APIのビルトインサポート: 最初からサポートするサードパーティサービスを一覧表示(例: Slack、Google Workspace、Linear、GitHub)。auth setによる手動認証情報保存: 名前付きサービス向けに任意のcurl引数として認証情報を保存(例:Authorization: Bearer ...ヘッダーを1回追加して再利用)。auth browserによるブラウザベースの認証情報取得: ログイン用ポップアップウィンドウを開き、ブラウザセッションからAPI認証情報を抽出・保存し、再利用可能(すべてのサービスでサポートされるわけではありません)。- 中間サービス不要のエージェント向けワークフロー: OAuth風中間層やMCP風統合層ではなく直接認証注入として位置づけ。ブラウザ認証時はユーザーの代わりに直接リクエストを実行。
Latchkeyの使い方
- Latchkeyのインストール:
npm install -g latchkey(リポジトリのインストール手順に従う)。 - サービスの認証情報設定:
- ブラウザフロー(グラフィカル環境が必要):
latchkey auth browser slack。 - 手動フロー:
latchkey auth set slack -H "Authorization: Bearer xoxb-your-token"。
- ブラウザフロー(グラフィカル環境が必要):
- 標準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で1回設定し、複数curlリクエストで再利用(認証ヘッダーの繰り返しコピー不要)。 - ランタイムでの新規サービスサポート拡張(簡単な場合): 概要記載の「services register」アプローチでビルトインサポートがない場合に基本サポートを追加。
- エージェントスキルワークフローへの統合: リポジトリでエージェントフレームワークの「skill」としてLatchkeyを使用(例:
skillsツールやClawHubからのインストール)。
FAQ
-
LatchkeyはHTTPリクエストの書き方を変えますか? いいえ。通常の
curlコマンドを書きます。latchkey curl <arguments>実行時に保存認証情報を自動注入します。 -
認証情報はどう保存・再利用されますか?
latchkey auth set(手動)またはlatchkey auth browser(ブラウザ取得)でサービスごとに保存。以降のlatchkey curlで再利用。 -
ブラウザ認証は常に利用可能ですか? いいえ。ドキュメントによると、一部のサービスのみ
auth browserをサポート。 -
エージェントに認証情報アクセスを与えるリスクは? プロジェクトは警告: AIエージェントへのアクセスは危険。特に
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スタイルのリクエストパターンをサポートしない場合があります。
代替品
AakarDev AI
AakarDev AIは、シームレスなベクターデータベース統合を通じてAIアプリケーションの開発を簡素化し、迅速な展開とスケーラビリティを実現する強力なプラットフォームです。
Arduino VENTUNO Q
Arduino VENTUNO Qはロボット向けエッジAIコンピュータ。AI推論とマイコン制御を統合し、Arduino App Labで埋め込み/ Linux/エッジAI開発。
Devin
Devinは、AIコーディングエージェントとして移行や大規模リファクタのサブタスクを並列実行。人が管理し変更を承認。
BenchSpan
BenchSpanはAIエージェントのベンチマークを並列実行し、スコアと失敗を整理した実行履歴に記録。コミット連携で再現性向上。
Edgee
Edgeeは、プロンプトを圧縮してLLMプロバイダーへ送るエッジネイティブAIゲートウェイ。OpenAI互換APIで200+モデルへルーティング。
Codex Plugins
Codex Pluginsでスキル、アプリ連携、MCPサーバーを再利用可能なワークフローにまとめ、Gmail・Google Drive・Slack等のツールにアクセス。