UStackUStack
latchkey icon

latchkey

Latchkey es una herramienta de línea de comandos que inyecta credenciales guardadas en comandos `curl` para APIs públicas conocidas, ideal para agentes de IA.

latchkey

¿Qué es Latchkey?

Latchkey es una herramienta de línea de comandos que inyecta credenciales en comandos curl para APIs HTTP. En lugar de agregar manualmente cabeceras de autorización u otros parámetros de autenticación a cada solicitud, almacenas las credenciales para servicios compatibles y Latchkey agrega automáticamente los argumentos curl correspondientes.

Está diseñada principalmente para agentes de IA que necesitan realizar llamadas a APIs usando la sintaxis estándar de curl. Los agentes pueden usar credenciales de usuario ya almacenadas o activar un inicio de sesión interactivo en el navegador para recopilar credenciales del usuario.

Características principales

  • Inyección de credenciales para solicitudes curl: latchkey curl <arguments> pasa tus argumentos de solicitud a curl mientras inserta automáticamente las credenciales almacenadas (por ejemplo, eliminando la necesidad de incluir tú mismo una cabecera Authorization).
  • Soporte integrado para APIs públicas conocidas con services list: lista servicios de terceros compatibles de forma nativa (ejemplos de servicios incluyen Slack, Google Workspace, Linear y GitHub).
  • Almacenamiento manual de credenciales con auth set: almacena credenciales como argumentos curl arbitrarios para un servicio nombrado, p. ej., agregar una cabecera Authorization: Bearer ... una vez para reutilizarla en solicitudes futuras.
  • Captura de credenciales basada en navegador con auth browser: abre una ventana emergente de inicio de sesión, extrae credenciales de API de la sesión del navegador, las almacena para reutilizarlas y puede solicitar credenciales al usuario (no todos los servicios admiten esta opción).
  • Flujo de trabajo amigable para agentes sin servicios intermediarios: el proyecto posiciona a Latchkey como inyección directa de credenciales en lugar de un intermediario estilo OAuth o una capa de integración estilo MCP; cuando se usa auth del navegador, las solicitudes se realizan directamente en nombre del usuario.

Cómo usar Latchkey

  1. Instalar Latchkey: npm install -g latchkey (según las instrucciones de instalación del repositorio).
  2. Configurar credenciales para un servicio:
    • Flujo con navegador (requiere un entorno gráfico): latchkey auth browser slack.
    • Flujo manual: latchkey auth set slack -H "Authorization: Bearer xoxb-your-token".
  3. Realizar llamadas a APIs con sintaxis curl estándar:
    • Ejemplo: latchkey curl -X POST 'https://slack.com/api/conversations.create' -H 'Content-Type: application/json' -d '{"name":"something-urgent"}'.

Casos de uso

  • Agente de IA llamando APIs con credenciales del usuario: un agente puede ejecutar latchkey curl ... para servicios compatibles para que los detalles de autenticación sean manejados por Latchkey en lugar de incrustarlos en el prompt o código del agente.
  • Solicitud interactiva de credenciales al usuario: al usar latchkey auth browser <service>, el agente puede activar un flujo de inicio de sesión en navegador que recopila credenciales de la sesión del usuario y las almacena para llamadas posteriores.
  • Pruebas locales de API repetibles: configura credenciales una vez con auth set y reutilízalas para múltiples solicitudes curl sin copiar repetidamente cabeceras de autorización.
  • Extensión de soporte para un nuevo servicio en tiempo de ejecución (en casos simples): usa el enfoque documentado mencionado en la visión general (“services register”) para agregar soporte básico a un nuevo servicio cuando no hay soporte integrado completo.
  • Integración en un flujo de trabajo de habilidades de agente: el repositorio menciona usar Latchkey como una “habilidad” para frameworks de agentes (comandos de ejemplo incluyen el uso de herramientas skills e instalación desde ClawHub).

Preguntas frecuentes

  • ¿Latchkey cambia cómo escribo mis solicitudes HTTP? No. Sigues escribiendo comandos curl típicos; Latchkey inyecta las credenciales almacenadas automáticamente cuando ejecutas latchkey curl <arguments>.

  • ¿Cómo se almacenan y reutilizan las credenciales? Las credenciales se almacenan por servicio usando latchkey auth set (manual) o latchkey auth browser (captura en navegador). Las llamadas futuras a latchkey curl reutilizan las credenciales almacenadas.

  • ¿La opción de autenticación en navegador siempre está disponible? No. La documentación indica que solo algunos servicios admiten la función auth browser.

  • ¿Cuáles son los riesgos de dar acceso a credenciales a los agentes? El proyecto advierte que permitir a agentes de IA acceder a credenciales de API puede ser peligroso, especialmente con auth browser, porque los agentes pueden realizar la mayoría de las acciones que puede el usuario.

  • ¿Qué requisitos previos necesito para la instalación y auth en navegador? El repositorio indica que se deben tener curl, Node.js y npm en versiones recientes. Para auth browser, necesitas un entorno gráfico; también hay un comando ensure-browser que detecta Chrome/Chromium/Edge o descarga Chromium vía Playwright si no se encuentra ninguno.

Alternativas

  • Autenticación directa de API con OAuth o tokens por solicitud: puedes implementar manualmente flujos de OAuth o inyectar tokens en cada solicitud. Esto difiere de Latchkey al requerir una implementación de autenticación o manejo repetido de credenciales en lugar de inyección centralizada de credenciales en curl.
  • Capas de integración estilo MCP / servidores de herramientas para agentes: estas introducen un intermediario entre el agente y el servicio objetivo. El proyecto Latchkey se posiciona como no introduciendo un intermediario en el flujo de trabajo típico.
  • Gestores genéricos de credenciales o almacenes de secretos usados directamente por scripts: puedes almacenar tokens en un gestor de secretos y que los scripts los recuperen. Esto suele significar que la lógica para inyectar cabeceras de autenticación sigue siendo tu responsabilidad en lugar de un comando latchkey curl.
  • Otras herramientas de wrappers de API basadas en CLI: las alternativas pueden ofrecer comandos diseñados específicamente para servicios concretos, pero no necesariamente usan el mismo flujo de paso directo con curl ni admiten patrones amplios de solicitudes estilo curl.
latchkey | UStack