Saltar al contenido principal

whet auth

Hay dos superficies distintas bajo whet auth:

  1. login / status — gestiona el agent token que el CLI usa para llamar a /api/agent/v1. Se guarda en ~/.whet/config.json (permisos 600).
  2. x / grok — maneja los flujos OAuth PKCE que conectan cuentas externas (X, Grok) a la organización activa del backend. El token vive en el vault encriptado del backend; el CLI solo orquesta el handshake del browser.

whet auth login

whet auth login --token <agent-token> --base-url https://your.vps/api/agent/v1
FlagRequiredDescripción
--token, -tAgent token — el valor de AGENT_API_TOKEN del .env.local del deployment. Es un string hex de 64 caracteres sin prefijo, generado por bench-up.sh (openssl rand -hex 32) e impreso en su banner.
--base-url, -unoBase URL del Agent API. Default http://localhost:3000/api/agent/v1.

El token nunca se imprime completo. Si lo pasás por línea de comandos, cuidá que no quede en ~/.zsh_history (usá un password manager o pegá manualmente desde el banner).

whet auth status

Muestra la configuración actual (token enmascarado).

$ whet auth status
Base URL · http://localhost:3000/api/agent/v1
Token · 7a3f4b2c…e2d8 (64 chars hex)

auth status solo lee el archivo local — no hace ping al deployment. Para verificar que el deployment está vivo, llamá cualquier comando real (por ejemplo whet inbox <pipeline_id>) y mirá la respuesta, o corré whet doctor para un diagnóstico completo.

whet auth x

Conecta una cuenta de X (Twitter) a la organización activa del backend vía OAuth 2.0 PKCE. El backend genera la authorize URL; el CLI abre el browser y escucha en http://localhost:11789 el callback. Cuando el exchange se completa, el backend persiste los tokens refresh + access encriptados; el CLI nunca los ve.

whet auth x
FlagDescripción
--backend-base-url <url>Override de BACKEND_BASE_URL (default desde env o http://localhost:3100).
--api-key <key>Bearer key del backend. Fallback a WHET_API_KEY.
--no-openSaltea el auto-open del browser — imprime la authorize URL en su lugar. Útil sobre SSH o cuando se pipea.
--timeout <seconds>Cuánto esperar el callback antes de rendirse. Default 300 (5 min).

Si el callback nunca llega, el CLI sale con código distinto de cero y auth.timeout. El row oauth_state a medio camino en el backend se limpia en el próximo init OAuth.

whet auth grok

Mismo flujo que auth x, pero contra el provider OAuth de xAI / Grok. Mismos flags, mismo puerto de callback (:11789), misma persistencia encriptada.

whet auth grok

Rotar el agent token

Todavía no hay UI para rotación del token (Settings hoy solo expone X accounts + Grok accounts). Para rotarlo, regenerá AGENT_API_TOKEN en el .env.local del deployment y reiniciá el container whet-app para que tome el nuevo valor. Después en el cliente:

whet auth login --token <nuevo-agent-token>

El token viejo deja de funcionar apenas el container reinicia; el nuevo queda activo.

Revocar credenciales OAuth

auth x / auth grok solo agregan credenciales. Para revocar una, usá el endpoint del backend:

curl -X DELETE \
-H "Authorization: Bearer $WHET_API_KEY" \
"$BACKEND_BASE_URL/oauth/credentials/<credential-id>"

Las credenciales revocadas se conservan (soft-delete) para auditoría; dejan de ser usadas por los scrapers inmediatamente.

Notas

  • Todavía no hay soporte de variables de entorno (WHET_TOKEN, WHET_BASE_URL) ni un override --config <path>. El CLI solo lee ~/.whet/config.json.
  • auth connect requiere que la instancia local tenga credenciales OAuth client válidas configuradas para la plataforma que estás linkeando. Configurarlas desde Settings → Connected accounts en el workbench.
  • Si el puerto 11789 está en uso (raro), matá el proceso que lo retiene antes de reintentar whet auth x/grok. El puerto no es configurable hoy; abrí un issue si esto bloquea un flujo.