UStackUStack
latchkey icon

latchkey

latchkey는 알려진 HTTP API를 위한 명령줄 도구로, 저장된 인증 정보를 curl 요청에 자동 주입해 AI 에이전트가 표준 문법으로 호출하도록 돕습니다.

latchkey

Latchkey란?

Latchkey는 HTTP API를 위한 명령줄 도구로, curl 명령에 자격 증명을 주입합니다. 모든 요청에 수동으로 인증 헤더나 다른 인증 매개변수를 추가하는 대신, 지원 서비스의 자격 증명을 저장하고 Latchkey가 적절한 curl 인수를 자동으로 추가하도록 합니다.

주로 표준 curl 구문을 사용해 API 호출을 해야 하는 AI 에이전트를 위해 설계되었습니다. 에이전트는 이미 저장된 사용자 자격 증명을 사용하거나 대화형 브라우저 로그인을 트리거해 사용자 자격 증명을 수집할 수 있습니다.

주요 기능

  • curl 요청 자격 증명 주입: latchkey curl <arguments>는 요청 인수를 curl에 전달하면서 저장된 자격 증명을 자동으로 삽입합니다 (예: Authorization 헤더를 직접 포함할 필요가 없습니다).
  • services list를 통한 알려진 공용 API 내장 지원: 즉시 지원되는 타사 서비스 목록을 표시합니다 (예시 서비스: Slack, Google Workspace, Linear, GitHub).
  • auth set으로 수동 자격 증명 저장: 이름 지정된 서비스에 임의 curl 인수로 자격 증명을 저장합니다. 예: Authorization: Bearer ... 헤더를 한 번 추가해 이후 요청에서 재사용.
  • auth browser로 브라우저 기반 자격 증명 캡처: 로그인 팝업 창을 열고 브라우저 세션에서 API 자격 증명을 추출해 재사용을 위해 저장하며, 사용자에게 자격 증명을 요청할 수 있습니다 (모든 서비스가 이 옵션을 지원하지 않습니다).
  • 중개 서비스 없는 에이전트 친화적 워크플로: OAuth 스타일 중개자나 MCP 스타일 통합 계층이 아닌 직접 자격 증명 주입으로 위치지음; 브라우저 인증 사용 시 사용자를 대신해 직접 요청.

Latchkey 사용법

  1. Latchkey 설치: npm 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”)을 사용해 완전 내장 지원이 없을 때 새 서비스에 기본 지원 추가.
  • 에이전트 스킬 워크플로 통합: 리포지토리에서 에이전트 프레임워크의 “skill”로 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