Sesiones y perfiles
Documentación: v0.25.0
Una sesión es una conexión guardada a tu cuenta MAX. Su token es una clave secreta de autorización: permite al CLI acceder sin pedir un código en cada comando. Se guarda en el llavero protegido del sistema operativo; un archivo independiente recuerda el dispositivo para reutilizar la conexión.
Antes de empezar, abre MAX en el teléfono y entra en la cuenta que quieres conectar. Para la primera conexión, utiliza el QR de abajo; la importación manual de tokens es una alternativa avanzada.
Primer inicio
max setup --agent codex comprueba los directorios locales, guía el acceso con QR, comprueba la cuenta y hasta cinco chats e instala el skill del agente. Opciones: codex, cursor, claude, gemini, all, none. Sin opción pregunta en el terminal; en modo máquina omite el skill. max skill show se puede leer antes de iniciar sesión.
Reserva unos cinco minutos. El historial se descarga aparte, tras elegir el chat y la cantidad; setup no inicia el servicio en segundo plano. Al repetirlo comprueba la sesión existente. --method token|qr|qr-chrome|sms elige el método para una sesión nueva; por defecto usa qr. El QR y el navegador requieren una persona en el terminal local. No pases el token como argumento. Si se interrumpe, repite setup. Si el token caducó, ejecuta explícitamente max session start qr; si el llavero no está disponible, corrige primero el entorno según el aviso.
Cómo obtener el token
max session start <способ> permite iniciar sesión de cuatro maneras. En todos los casos, el token solo se guarda en el llavero después de que MAX lo acepte.
| Método | Qué ocurre | Requisitos |
|---|---|---|
token (predeterminado) | Pegar un token emitido por el cliente oficial o pasarlo mediante una tubería | Ninguno |
qr | Muestra el QR en la terminal para escanearlo con MAX. Si la terminal es estrecha, abre el código en el navegador predeterminado | Unas 70 columnas de ancho o cualquier navegador |
qr-chrome | Abre web.max.ru en una ventana separada; escaneas su QR | Chrome, Chromium, Edge o Brave |
sms | Abre la misma ventana de web.max.ru; elige acceso por teléfono en la página | Chrome, Chromium, Edge o Brave |
max session start qr- Mantén visible el QR en el ordenador, en la terminal o en la ventana del navegador abierta por el comando.
- Abre MAX en el teléfono y selecciona la cuenta que quieres conectar.
- Ve a Ajustes → Dispositivos y abre el escáner de acceso por QR. Los nombres pueden variar según la versión.
- Escanea el QR del ordenador desde MAX y confirma la conexión si se solicita.
- Si MAX pide una contraseña adicional de la cuenta, introdúcela en la terminal; los caracteres se ocultan.
- Espera a que termine el comando, comprueba la cuenta con
max account showy lee algunos chats conmax chats list --limit 5.
Instrucciones oficiales de MAX.
qr-chrome y sms son los métodos más conservadores. El acceso lo realiza web.max.ru en un navegador real: MAX ve su propio cliente web. Se utiliza un perfil temporal separado del tuyo. Cuando termina el acceso, se cierra la ventana y se elimina el perfil, también al pulsar Ctrl-C. Cerrar la ventana no termina la sesión: es como cerrar una pestaña. El navegador se detecta automáticamente; puedes elegir otro con MAX_BROWSER. Los navegadores instalados por snap no sirven porque tienen su propio directorio /tmp.
qr solicita el código a MAX mediante nuestra propia conexión, que se presenta como un cliente web. Funciona sin navegador, pero no es el cliente web oficial.
El acceso por SMS solo funciona desde el navegador. Si nuestra conexión solicita el SMS, MAX exige un CAPTCHA que solo se puede completar en la página.
Tras cualquiera de esos tres métodos, aparece un dispositivo nuevo en la lista de sesiones de MAX. Si la cuenta tiene una contraseña en la nube, qr la solicita sin mostrarla, con hasta tres intentos; después hay que volver a escanear el código.
Los tres métodos necesitan a una persona en la terminal; de lo contrario, el comando termina con código 2. Para scripts y agentes queda token. También se rechazan si está definida MAX_TOKEN: esa variable tiene prioridad sobre el llavero y ocultaría la sesión nueva.
Introducir el token manualmente
max session start sin método importa un token ya emitido por el cliente oficial, como web.max.ru u otro cliente, y lo guarda en el llavero. También funciona si el acceso encuentra un CAPTCHA o un segundo factor poco habitual.
max session start
MAX token: ▏ # ввод не отображаетсяEl token no se pasa como argumento. Cualquier proceso del equipo puede ver los argumentos con ps, y quedan en el historial de la shell. Por eso se solicita sin mostrar lo que escribes o, sin terminal, se lee desde una tubería:
pass show max/token | max session startPara CI y ejecuciones puntuales hay una variable con prioridad sobre el llavero: si defines MAX_TOKEN, se utiliza ese valor y no se escribe en el llavero. Con ella no se inicia max serve en segundo plano: el propio comando se conecta a MAX.
MAX_TOKEN="$(cat /path/to/token)" max chats list --jsonComprobar y olvidar la sesión
max account show # кто вы: id, имя, телефон
max session end # забыть токен на этой машинеsession end elimina el token localmente y no avisa al servidor. La sesión abierta en el navegador sigue funcionando; la respuesta lo indica:
{ "profile": "default", "forgotten": true, "revokedOnServer": false }Es una diferencia importante: olvidar un token que el servidor sigue aceptando no equivale a revocarlo.
Perfiles
Cada perfil guarda su token y estado propios; la copia de mensajes es compartida, con datos separados por cuenta. Se indica como primera palabra, no con una opción:
max chats list # профиль default
max personal chats list # профиль personal
export MAX_PROFILE=personal # или на всю сессию оболочкиRegla: la primera palabra es un perfil si no coincide con el nombre de un comando. No puedes llamar a un perfil chats, runs o session: se rechaza al crearlo, cuando todavía se puede explicar el conflicto. De lo contrario, max chats podría interpretarse como «perfil chats sin comando».
Si la primera palabra no es un comando y tampoco aparece otro después, el programa explica lo ocurrido en lugar de limitarse a mostrar la ayuda:
"nonsense" is not a command, so it was read as a profile name — and no command followed it.
Run `max --help` for the commands, or `max nonsense account show` if "nonsense" is your profile.Dónde se guarda cada dato
| Dato | Ubicación |
|---|---|
| token | Llavero del sistema, servicio max-cli, entrada con el nombre del perfil |
| token del bot | Llavero del sistema, servicio max-cli, entrada bot:<профиль>; o MAX_BOT_TOKEN |
| chats vistos por el bot | ~/.local/share/max-cli/bots/ |
dispositivo, contador de accesos y viewerId | ~/.local/share/max-cli/profiles/<профиль>.json, permisos 0600 |
| configuración | ~/.config/max-cli/config.json |
La identidad del dispositivo se guarda en la primera lectura, antes de utilizarse. Presentarse como un dispositivo nuevo con cada comando no reproduce el comportamiento de un cliente real: las sesiones del servidor están vinculadas a esa identidad.
⚠
MAX_CONFIG_DIR,MAX_STATE_DIRyMAX_CACHE_DIRtambién cambian la entrada del llavero, porque cambia el nombre del servicio. Una sesión guardada con estas variables no es visible para un comando ejecutado sin ellas, y viceversa. Úsalas siempre o no las uses.
Si no hay llavero
Si el equipo no tiene llavero, como suele ocurrir en un contenedor, el token se guarda en credentials.json, junto a la configuración, con permisos 0600. El comando lo indica en una línea en stderr.
En CI es preferible no depender del llavero ni del archivo y proporcionar MAX_TOKEN.
Cuánto dura el token
MAX no informa de una fecha fija de caducidad del token; el CLI no puede prometer un número de días. Cerrar web.max.ru no termina la autorización. Si MAX rechaza el token guardado, vuelve a conectar por QR:
max session start qrPara el perfil laboral, usa max work session start qr. Comprueba después la cuenta con max account show o max work account show. El comando max session start sin método importa un token existente en lugar de mostrar un QR. max doctor muestra el número de accesos del perfil.
Siguiente paso
- Uso cotidiano: los primeros comandos.
- Configuración: ajustes y orden de prioridad.
- Seguridad: qué se guarda en disco y qué nunca se guarda.