Latchkey icon

Latchkey

Latchkey は、保存済み認証情報を既知の公開 API 向け curl リクエストへ注入するコマンドラインツール。AI エージェントや開発者がローカルの API 認証情報やブラウザログインを再利用できます。

Latchkey

概要

Latchkey は、保存済み認証情報を既知の公開 API 向け `curl` リクエストへ注入するコマンドラインツール。カスタム統合や埋め込みシークレットなしで、エージェントが標準の HTTP API 呼び出しを行えるローカルなエージェントワークフロー向けに作られています。

このプロジェクトは Slack、Google Workspace、Linear、GitHub、GitLab 形式の self-hosted インスタンスなどの組み込みサービスをサポートし、標準で未対応のサービスについては実行時に新しいサービスを登録することもできます。認証は、手動での認証情報入力、対応サービス向けのブラウザベースのログイン、または API が要求するその他のサービス固有の処理から取得できます。

機能

すぐ使えるサービス対応

Slack、Google Workspace、Linear、GitHub などの組み込み公開サービスを認識し、すべてを自分で作る代わりに既知のサービス定義から始められます。

標準的な curl パススルー

`latchkey curl <arguments>` を実行し、指定した引数をそのまま `curl` に渡しつつ、選択したサービスに必要な認証情報を注入します。

複数の認証方式

認証情報を任意の curl 引数として保存する `latchkey auth set` と、一部サービスでブラウザログインフローから認証情報を抽出する `latchkey auth browser` をサポートします。

間接的な認証情報処理

リクエスト固有の署名や URL に埋め込まれたトークンが必要なサービスを含め、単純な静的ヘッダーではない認証情報の扱いにも対応します。

runtime のサービス登録

base API URL を指定してサービスインスタンスを runtime で登録できるため、self-hosted デプロイメントや同様の API パターンを持つ新しいサービスに便利です。

サービス固有のガイダンス

各サービスの動作を呼び出し前に把握できるよう、ドキュメントリンク、注意点、要件、補足メモを含むサービス情報を出力します。

ユースケース

  • エージェント主導の API 呼び出し

    エージェントは対応サービスで一度認証すれば、プロンプトやコードにシークレットを埋め込まずに、使い慣れた `curl` コマンドで公開 HTTP API を呼び続けられます。

  • 再利用可能なローカル認証情報

    開発者は、あるサービス向けの bearer トークンやその他の curl 互換認証情報を保存し、毎回ヘッダーを手動で追加せずに再利用できます。

  • self-hosted サービスへのアクセス

    GitLab のような self-hosted API を運用するチームは、base API URL で自分のインスタンスを登録し、SaaS 専用設定ではなくそのエンドポイントに対して Latchkey を使用できます。

  • ブラウザベースのサインイン

    対応サービスがブラウザログインフローを通じて認証情報を公開する場合、ユーザーはブラウザで認証し、Latchkey にその認証情報を取得させて後続のリクエストに使えます。

  • 非標準の API 認証

    サービスにリクエスト固有の署名やその他の静的でない認証情報処理が必要な場合でも、Latchkey は `curl` に渡す前にサービス固有のロジックを適用できます。

Pros and Cons

Pros

  • カスタム API クライアントではなく、標準の `curl` 構文で動作します。
  • 利用可能な場合は、手動での認証情報保存とブラウザベースの認証の両方をサポートします。
  • 署名付きリクエストや URL に埋め込まれたトークンを含む、一部の非標準的な認証情報パターンを扱えます。
  • 実行時に base API URL を登録できるため、self-hosted サービスをサポートします。
  • 認証情報とブラウザ状態を既定で暗号化してローカル保存します。

Cons

  • ブラウザベースの認証は一部のサービスでのみサポートされています。
  • 組み込みではないサービスは、手動登録または基本的な認証情報保存のみが必要になる場合があります。

FAQ

Latchkey は既存の `curl` ワークフローにどう組み込まれますか?

Latchkey は標準の `curl` コマンドと連携するように設計されています。まずサービスを認証し、その後 `latchkey curl` を実行すると、対象サービスに一致するリクエストへ保存済み認証情報が注入されます。

Latchkey は主に誰向けですか?

ソースでは、Latchkey は主に AI エージェント向けに設計されていると説明されています。ユーザーが提供した認証情報を使うことも、ユーザーに認証を促してから、通常の `curl` 構文で HTTP API 呼び出しを続けることもできます。

Latchkey はすべての API にカスタム統合を必要としますか?

いいえ。リポジトリの説明では、対応サービスは `latchkey auth browser` を使ってブラウザベースのログインを利用でき、未対応サービスは `latchkey services register` で runtime に追加し、`latchkey auth set` による基本的な認証情報保存を使える場合があるとされています。

認証情報はどこに保存されますか?

ドキュメントでは、認証情報とブラウザ状態は暗号化され、既定では `~/.latchkey` 以下にローカル保存されると説明されています。`curl` で呼び出したエンドポイント以外には送信されません。

新しいサービスで Latchkey を使う前に何を確認すべきですか?

開発ドキュメントでは、サービス情報の出力でドキュメントリンク、特別な要件、注意点、ヘルパーを確認することが推奨されています。また、一部のサービスは静的認証情報のみ対応で、他はブラウザベース認証や間接的な認証情報処理に対応するとも記されています。

Quick Facts

カテゴリ
Developer Tool
主な利用者
AI エージェントと開発者
インターフェース
コマンドライン
ワークフロー
`curl` リクエストへの認証情報注入
リポジトリ
github.com/imbue-ai/latchkey
ライセンス
GitHub 上のオープンソースリポジトリ

Latchkeyの代替品

AakarDev AI icon

AakarDev AI

AakarDev AIは、AIプロバイダーのアクセス管理、プロジェクト別設定、ログ、分析を1つのダッシュボードで管理できるチーム向けツールです。BYOKに対応し、OpenAI、Google Gemini、Anthropic、Groq、Mistral AI、Perplexity AIをサポートします。

Arduino VENTUNO Q icon

Arduino VENTUNO Q

Arduino VENTUNO Qは、AI・ロボティクス向けのエッジAIコンピューターです。AI推論と決定論的制御を1枚に集約し、Arduino App Labに対応します。

Devin icon

Devin

Devinは、開発者とエンジニアリングチームが複雑なソフトウェア作業を計画・実行できるAI coding agentです。デスクトップ、クラウド、JetBrains、CLIで利用でき、個人・チーム・企業向けプランを提供します。

ByteAsk icon

ByteAsk

ByteAskは、C/C++向けのターミナル起点AIコーディングエージェント。リポジトリを編集し、コンパイラやデバッガ、サニタイザ、テストで変更を検証してから差分を表示。無料枠あり。

Codex Plugins icon

Codex Plugins

Codex Plugins は、再利用可能なスキル、アプリ連携、MCPサーバーを Codex app や Codex CLI で使えるワークフローにまとめます。接続サービスの作業や共有チームワークフローを拡張できます。

hob icon

hob

hobは、エージェントのセッション、ターミナル、履歴、後続作業を、既存のツールやプロバイダーに合わせて整理できる独立したコーディングエージェント向けワークスペース。ローカルでの制御を重視する開発者に最適。