whet auth
Hay dos superficies distintas bajo whet auth:
login/status— gestiona el agent token que el CLI usa para llamar a/api/agent/v1. Se guarda en~/.whet/config.json(permisos600).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
| Flag | Required | Descripción |
|---|---|---|
--token, -t | sí | Agent 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, -u | no | Base 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
| Flag | Descripció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-open | Saltea 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 connectrequiere 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
11789está en uso (raro), matá el proceso que lo retiene antes de reintentarwhet auth x/grok. El puerto no es configurable hoy; abrí un issue si esto bloquea un flujo.