Historial de cambios
Documentación: v0.25.0
Cambios destacados de @leemour/max-cli, con una sección por versión, recientes primero. Se utiliza versionado semántico; antes de 1.0.0, la interfaz de comandos todavía puede cambiar.
0.25.0 — 03.10.2026
Novedades
-
max skill show link-conversationsimprime el skill compartido para vincular conversaciones. Disponible sin sesión; sin nombre sigue mostrando el skill principal de MAX. -
bot apicomparte la construcción de comandos y validación de entradas con Telegram. Los generadores siguen en cli-core; se conservan los parámetros, respuestas nativas y permisos actuales de MAX. La opción compartida--store-token <profile>está destinada a operaciones que devuelven credenciales; las demás la rechazan.
Cambios que pueden romper scripts
-
max sends listrespeta ellimitconfigurado, como Telegram. Antes, sin opción siempre seleccionaba 20 intentos. El campo JSONlimitcontiene el límite elegido; se conservanitems,pageyhasMore.--limittiene prioridad sobre la configuración. -
max models audio list --jsonañadedirectory: el directorio de modelos compartido por MAX y Telegram. Los comandos de modelos, directorio y verificación de descargas ahora se comparten; se conservan archivos existentes, orden de modelos y configuracióntranscribeModel. No hace falta descargarlos otra vez. JSONL sigue devolviendo un modelo por línea. -
--mdusa el conversor propio de MAX para send/edit y leyendas: estilos anidados,__жирный__,++подчёркнутый++, enlaces y código. Los bots admiten resaltado, encabezados y citas mediante HTML seguro; el protocolo personal rechaza explícitamente tipos sin confirmar. Telegram tiene otra sintaxis. Los tipos wire desconocidos ya no se envían silenciosamente.
0.24.0 — 03.10.2026
Novedades
max setupguía el primer inicio de una cuenta personal: comprueba directorios, ofrece acceso por QR, comprueba la cuenta y hasta cinco chats e instala el skill del agente elegido. Reutiliza la sesión existente al repetirse. El historial se descarga aparte; setup no inicia el servicio en segundo plano. La ayuda, instalación e instrucciones del agente explican los siguientes pasos y cómo ejecutar en Windows sin PATH.max skill showfunciona antes de iniciar sesión.
Cambios que pueden afectar a scripts
-
max chats checkpasa a sermax chats moderate: reglas y moderación compartidas con Telegram.--since-timeacepta fecha o30m/2h/1d, en lugar de--sincecon un ID de mensaje; JSON devuelve{ chatId, rows }. Lee hasta 1000 mensajes por ejecución. Los niveles sondeny|readonly|ask|allow; los antiguosforbidyflag|confirmse interpretan comodenyyask. El punto guardado se migra de la sesión al archivo de reglas, por lo que la primera ejecución continúa desde él. CLI y MCP personal comparten ese punto; nombres y opciones MCP se conservan. La incorporación por enlace enchats eventsse llamajoin. -
max upgrade --jsonsiempre incluyerestarted. En MAX es un array vacío: la política de inicio de servidores no cambia. Comprobar versiones y no encontrar actualizaciones devuelve el mismo formato que instalar, conservando los campos anteriores. Los scripts que comprueban las claves exactas deben admitir este campo. -
La búsqueda local usa un perfil Lucene estricto: paréntesis, campos, rangos de fechas,
--timezone, patrones y regex limitados. Los prefijos deben indicarse comoслово*; la búsqueda anterior con correcciones está en--language legacy. JSON informa de la cobertura incluso sin resultados. La guía y el skill explican la migración; JS--regexse ejecuta en un worker separado con límites de tamaño y tiempo. -
max commands --jsonincluye la versión del contrato JSON encontract. El valor0coincide con Telegram CLI; conserva los campos anteriores. Los scripts que comparan todo el JSON con una cadena guardada deben admitirlo; leer campos concretos no necesita cambios. -
Las lecturas de grupos comparten opciones y formatos.
chats eventsusa--since-timeen lugar de--sincey--typeen lugar de--event; el límite es temporal, no un ID. La creación se llamacreate, antesnew.chats members listmuestra páginas con--limit,--pagey--all; añade--allpara obtener la cantidad anterior. JSON ya no incluyechatIdnirolesKnown; roles, creación y última conexión permanecen en las filas.chats inspectdevuelveid,kind,title,username,participantsCount,descriptionymember, en lugar de acceso, enlace y ajustes.memberyusernamesonnullsi MAX no los informa. Actualiza scripts y filtros. Se conservan los avisos sobre listas incompletas y roles desconocidos; leer no marca mensajes como leídos. Consulta grupos. -
La gestión de grupos devuelve JSON común con
operationId.chats create,join,updateylink resetguardan la ficha enchat;leavedevuelvechatId.members addincluyeaddedynotAdded;members remove,removed;admins,personIdy, al añadir,rights. Es el formato compartido con Telegram; actualiza el análisis de resultados.link showno cambia. Título y ajustes siguen usando dos solicitudes: si cambia título o descripción pero falla la segunda solicitud, informa deoutcome_unknowny registra el resultado parcial. Consultachats showantes de repetir. Más en gestión de grupos. -
max account updateymax account sessions enddevuelven el formato común conoperationId. Cambiar perfil devuelve{operationId, account}conid,name,username,phone; cerrar sesiones,{operationId, sessions}en lugar de un array. Lee los datos desdeaccountosessions. Tras cambiar el perfil, consulta su descripción conaccount show. El teléfono sigue oculto parcialmente;sessions endaún requiere--others --yes. La foto admite JPG, JPEG, PNG y WebP; convierte los GIF a uno de esos formatos. Consulta perfil y sesiones. -
max chats folders create|update|deleteincluyeoperationId. Crear o modificar devuelve{operationId, folder}; eliminar,{operationId, folderId}, en lugar de la ficha directamente. Los scripts deben leer desdefoldery usarfolderIdal eliminar.updatesin--title,--addni--removeahora rechaza la operación en lugar de reescribir lo mismo. Listar no cambia. Consulta carpetas. -
max contacts add|remove|block|unblock|rename|importdevuelve el formato común conoperationId. Añadir y renombrar devuelve{operationId, person}; eliminar y bloquear,{operationId, personId}; importar,{operationId, sent, recognised}.recognisedcontiene fichas (id,name,username) devueltas por MAX en lugar de teléfonos; sin fichas queda vacío.sentcuenta filas del archivo, incluidos números repetidos. Actualiza el análisis de respuestas. Un teléfono rechazado por MAX ya no indica la fila; los errores de estructura todavía la indican. Consulta contactos. -
Se elimina
max cache clear. Lecturas y nombres usan la copia compartida;max store clear --left --allow-dangerouselimina datos de chats abandonados. No ofrece borrar toda la copia. El archivo antiguo no se migra ni se abre;max doctormuestra su ruta y puedes descargar otra vez el historial conmax store fetch.
Correcciones
-
max conversations embed statuscalcula mejor el tiempo para e5-small. Usa una medición de 31 fragmentos/s, antes 15; en el portátil medido, la estimación anterior era el doble. El tiempo real depende del ordenador y la longitud del texto. Tres workers dieron 1,04–1,1× con más uso de memoria; la distribución de workers no cambió. -
max_messages_searchpor MCP conserva la cobertura del archivo y usa los parámetros de CLI. Admitelanguage,timezone,astversionado, nombre de chat y filtrossource,newest,context. El perfil estándar admite consultas de un carácter. Antes faltaban parámetros y se perdíanquery,coverageycompleteness; una respuesta vacía no explicaba el alcance de la copia. Los campos anteriores y el nombre de herramienta se conservan. -
max runs list --limitsugiere ampliar el límite si faltan registros. Ya no sugiere la opción inexistente--page. Leer la lista o un registro no crea otra ejecución; JSON conservahasMore. -
chats showmuestra un grupo guardado aunque no llegue en la última actualización de acceso. Antes podía fallar con «sin chat». Los ajustes y enlaces desconocidos quedan vacíos; leer no modifica el grupo. -
max messages transcribeencuentra una transcripción guardada por nombre de chat, aunque no esté descargado el modelo. Antes buscaba por nombre en lugar de ID y proponía descargar otra vez el modelo. Un nombre completo o fragmento único devuelve ahora el texto guardado sin descargar el audio ni reconocerlo de nuevo. Consulta mensajes de voz. -
En Windows, el generador usa Node en lugar de ejecutar
.cmddirectamente; las comprobaciones de documentación reconocen rutas Windows. Los tests de permisos Unix no los exigen en Windows, donde se usa ACL. -
Los errores de
max botantes de iniciar una acción respetan los ajustes de registro del perfil bot, incluso con--timeoutdelante. Antes, una opción global anterior abotpodía aplicar ajustes de la cuenta personal. Si el bot tiene desactivado el registro, un error al interpretar la orden ya no crea un registro contra esa preferencia.
0.23.0 — 03.10.2026
Novedades
max servey los comandos de gestión de chats guardan nombres y chats en la base compartida. Ya no abren la caché antigua. Una lista completa marca chats abandonados; una respuesta vacía conserva la lista anterior.- Los comandos de contactos y lectura guardan datos en la base compartida. Buscar personas por nombre y
contacts syncya no requieren la caché antigua. La sincronización sigue devolviendo solo cantidades. Eliminar el archivo anterior no reinicia su progreso; para obtener todos los contactos, ejecutamax contacts sync. max mcplibera el modelo tras 10 minutos sin búsquedas.conversations_searchya no mantiene aproximadamente 1 GB durante toda la sesión del agente. La siguiente búsqueda vuelve a cargarlo en alrededor de un segundo (cli-messaging 0.110.0).- El autocompletado consulta la base compartida de la cuenta elegida. No necesita la caché anterior. Tab sigue sin conectarse a MAX; los bots ofrecen chats de su lista local.
max mcp setup codex|claude-codeymax mcp doctorañaden MCP local al cliente y comprueban inicio y herramientas. Si el perfil ofrece escritura, requiere--allow-writes; esa aprobación no cambia permisos ni verifica el acceso a MAX.max <бот> bot store fetch <чат>descarga historial en la copia del bot, recientes primero, y puede reanudarse.--last,--since-time,--limit,--page-sizey--pausefuncionan comomax store fetch.--yespara cualquier comando aprueba la pregunta del nivelaskantes de escribir;max account sessions end --others --yesfunciona igual.
Cambios que pueden afectar a scripts
messages send --topicypolls create --topicrechazan claramente destinos MAX. La opción compartida corresponde a temas de foros de Telegram, que MAX no admite. No envía mensaje ni encuesta; sin--topic, nada cambia.max doctor --jsondescribe la base compartida enstorey el archivo anterior enlegacyCache. Ya no abre ni comprueba el esquema de la caché antigua. Cambiacacheporstoreen scripts. Puedes borrar el archivo anterior y recuperar historial mediantemax store fetch.- MCP consulta la base compartida. Búsquedas, contactos, recursos y transcripciones usan
messages.dbbajo la cuenta del perfil, sin abrir la caché anterior. Leer historial guarda mensajes para búsqueda. La voz llevakind: "voice". Los nombres y parámetros de herramientas no cambian. inboxyreviewusan formatos compartidos. Sustituye--sincepor--since-time.review --unansweredacepta4h,1d, no horas sin unidad. Los adjuntos de voz usankind: "voice"en lugar de"audio".--allincluye silenciados y archivados. La primera ejecución migra el punto anterior deinbox --new. La revisión retrocede por páginas hasta 300 mensajes por chat e indica si está incompleta. Actualiza comandos y comprobaciones JSON.- Las transcripciones personales se guardan en la base compartida.
messages transcribe,inbox,reviewy MCP usan el mismo texto quemessages listbajo la misma cuenta. No se migran transcripciones antiguas; se regeneran al solicitarlas con--transcribe, con modelo descargado. max <бот> bot people showpasa amax <бот> bot contacts show, herramienta MCPmax_bot_contacts_show. Junto conbot messages search|between, son comandos compartidos contg; opciones y resultados no cambian.max <бот> bot chats checkpasa amax <бот> bot chats moderate, comotg.--sincepasa a--since-time, con2h,1d. JSON cambia de lista a{ chatId, rows }; MCP usamax_bot_chats_moderate. Reglas y progreso mantienen ubicación.flagequivale aconfirm: pregunta o ejecuta con--allow-dangerous.max <бот> bot mcputiliza permisos del perfil, no opciones. Sin opciones puede escribir salvo restricciones porreadOnly: trueoallow. Eliminar muestra formulario;--allow-dangerouslo omite.--allow-send,--allow-deletey--allow-moderatese aceptan con avisos, sin habilitar nada. UsareadOnly: truepara solo lectura. El servidor se comparte contg.max bot messages searchbusca palabras, mejores coincidencias primero, en lugar de fragmentos por fecha.--newestrestaura el orden anterior. Requiere todas las palabras; admite"фраза",-слово,а OR бyfrom:,chat:,after:,before:,has:. Corrige erratas y lo avisa por stderr. Puedes escribir palabras sin comillas;--fromsigue siendo repetible. No admitein:: solo busca en su copia y las autorizadas porreadOtherBots.
Correcciones
- Los rechazos del bot indican un comando válido con
--bot. Para solo lectura propone desactivarreadOnly; si falta un permiso enallow, propone añadirlo conservando los existentes. Antes indicaba el inexistentebot config.
0.22.0 — 02.10.2026
La mayoría de comandos personales se comparten con tg: opciones, resultados --json y base local comunes. Hay muchos cambios de nombres, indicados abajo. No se migra la caché anterior; tras actualizar, ejecuta sin --offline y descarga historiales con max store fetch.
Novedades
max conversations search "<запрос>"encuentra conversaciones por significado en uno o todos los chats. Descarga una vezmax models text download e5-small(135 MB, compartido contg) y calcula vectores conmax conversations embed --chat <чат>.embed statusindica pendientes;embed clearelimina vectores. Con--provider openaiy tu clave (max models text key set openai) usa un servicio externo;embedindica tokens y precio y solicita aprobación.chats list --jsonincluyeproviderMetadata.partnerIden chats individuales, identificando a la otra persona. Permite resolverla porque MAX diferencia identificadores de chat y persona.max messages searchincluye otras cuentas de la base:in:max,in:personal,in:bots,in:allo--source. Sin esas opciones sigue buscando en la cuenta activa.max conversations build|list|showymax messages linksidentifican conversaciones por respuestas, menciones y turnos, localmente sin consultar MAX.conversations batches status|nextyconversations links add|clearproporcionan lotes al agente y reciben sus respuestas.max server logs,max server install,max server uninstall, como tg.installescribe un servicio systemd en Linux o launchd en macOS, sin iniciarlo;max server startystoplo usan después. Si MAX rechaza el acceso, no lo reinicia, evitando nuevos accesos repetidos. Se conservanmax server start --idleyrestart --idle.max store statusindica cantidades y tramos completos por chat.store fetch --backgroundystore jobs list|show|cancelgestionan descargas en segundo plano.store info|check|migrate|backup|restore|reindexmantienen la base.store clear --left --allow-dangerouselimina chats abandonados y mensajes.max bot auth,max bot list,max bot chats list,max bot recipientsymax bot sends listse comparten con tg, con iguales respuestas y ayuda. Token, destinatarios y registro conservan ubicación.max cache clear --leftelimina solo chats abandonados y mensajes de la caché del perfil, sin tocar el resto.max messages search --regexaplica una expresión regular al texto.messages show|context msg:…acepta localizadores sin identificador separado.max polls show <чат> <сообщение>consulta encuesta, identificadores y votos sin cambiar nada.max polls create --send-idreintenta crear una encuesta sin duplicarla tras una respuesta perdida.max messages send --photo <путь>envía.jpg .png .webpcomo foto, igual que tg.sendexpone--no-preview, pero lo rechaza porque MAX no lo admite.max skill installinstala una skill con versión en~/.claude/skills/max-cli/para Claude Code y~/.agents/skills/max-cli/para Codex y Gemini CLI.--for claudeo--for agentseligen un destino.max skill showno cambia.- El agente recibe un aviso sobre la skill. Con
AI_AGENToCLAUDECODE, si falta o es antigua, avisa una vez al día por stderr sobremax skill install, sin cambiar stdout. Desactiva conmax config set skillHint false --defaults. max mcpymax bot mcpofrecenmax://skilly lo mencionan en instrucciones al agente.max messages deletedevuelveoperationId, también enmax sends list. Igual conmax_messages_delete; opciones sin cambios.- Cada registro tiene
operationId, común a filas de un envío, edición, eliminación o cambio de chat, para ver su resultado. En envíos equivale asendId. - Unos 16 MB menos al instalar: la capa de base de datos viene incluida. Los comandos no cambian.
Cambios que pueden afectar a scripts
-
max messages searchbusca palabras, mejores resultados primero.--newestrecupera orden reciente. Admite"фраза",-слово,OR,from:,chat:,after:/before:yhas:. Corrige erratas y lo avisa.--context <n>muestra contexto. JSON añadematchyscore. -
max bot updates watchpasa amax bot watch, como tg ymax watch. Sin--eventsmuestra mensajes; con ella, cada línea indica evento ({ "event": "message" | "edit" | "delete" | "callback" | "joined" | … }), no eventos MAX sin procesar.--timeouttermina normalmente con0. Los bots de solo lectura pueden usarwatchpara recibir actualizaciones. El punto guardado no cambia. -
bot webhooks listdevuelve{ url, types }, no campos propios de MAX.bot callbacks answer --textdeja de leer stdin mediante-.bot commands,bot callbacksybot webhooksse comparten con tg;webhooks set --secret-stdinsolo pregunta tras comprobar permisos. -
Node 22.16 o posterior, o Bun. Si Node en Linux usa SQLite del sistema antiguo,
maxreinicia con@leemour/cli-messaging-sqliteantes de leer o enviar. Node oficial y Bun no requieren cambios. -
max storese comparte con tg.store fetchguarda en la base común y pagina MAX como antes: 30 mensajes, pausas de 5–10 segundos y hasta 40 páginas por ejecución. Asímessages,conversationsystoreleen lo mismo. No se migra la caché; vuelve a descargar. Además:- Rechaza
store fetch --estimate: los identificadores de MAX no permiten contar lo pendiente. store fetch|export --sincepasa a--since-time, solo fechas, no identificadores.store fetch --max-pages <n>pasa a--limit <сообщений>, predeterminado 1200, cuarenta páginas de 30. Tamaño mediante--page-size.store export --format mdpasa a--format markdown;jsonlno cambia. Los huecos se consultan enstore status, no en stderr de exportación. No sobrescribe archivos.store fetchdeja de imprimir el comando de exportación.- Si dos mensajes comparten milisegundo y la página los separa, rara vez puede omitirse el anterior.
- Rechaza
-
max messages list|show|context|searchse comparten con tg.--offlineysearchconsultan la base común con las mismas opciones y respuestas. En esta versión, MCP aún leía la caché anterior y podía diferir. La base se llena tras leer en línea; datos y transcripciones anteriores no se migran. Además:- Voz como
"kind": "voice", no"audio";inboxyreviewaún usan"audio"en esta versión. messages list --beforey--afterse dividen en--before-id,--before-time,--after-id,--after-time;messages context,--before-n,--after-n. Nombres antiguos producen errores.messages list --before-idomite el mensaje de referencia; sin conexión necesita un identificador guardado.messages list --transcribe --jsoneliminatranscribeProblem; stderr explica fallos. Sin conexión,unheardestá vacío. Voz se descarga por conexión separada;--no-serveprovoca un segundo acceso.- Busca modelos en
~/.cache/cli-common/models/audio, compartida con tg; mueve o descarga los de~/.cache/max-cli/models/audio. messages searchbusca palabras y prefijos (квартирencuentra «квартира»), no tres letras cualesquiera.--chatacepta títulos guardados.
- Voz como
-
max chats list|showymax contacts list|showse comparten con tg.--offlineutiliza la base compartida, con igual formato. Se llena tras la primera lectura en línea; antes devuelvenot_found. No migra datos anteriores. Además:chats list --search|--kind|--unreadexamina 200 chats recientes en línea, avisando de anteriores; sin conexión, todos los guardados.chats show --offlineno incluyedescription,accessnisettings, conocidos solo por MAX.--kindincorrecto devuelve--kind is one of dialog, group, channel, saved.cache cleartambién elimina esta cuenta de la base compartida;contacts syncrecupera todo allí.
-
max messages send|edit|forwardse comparten con tg.senddevuelve{sendId, operationId, message}, conscheduledForsi usa--at-time;forward,{sendId, operationId, message};edit,{operationId, message}, en lugar del mensaje sin envolver. Igual enmax_messages_send,max_messages_edit,max_messages_forward.max_messages_editeliminamarkdown;max_messages_forward,send_id. Leemessageen lugar de la raíz.sendadmite un--filey un--photo, no varios archivos. Los programados de resultado desconocido indicanmessages scheduledsin nombre de chat. -
max pollsse comparte con tg.polls vote|close --jsondevuelve{operationId, poll}, dondepollcontiene{chatId, messageId, question, answers: [{id, text, voters, chosen}], closed, multiple, anonymous, voters};polls create,{sendId, operationId, message}. Igual conmax_polls_vote,max_polls_close,max_polls_create.max_polls_createcambiarevoteporsilent. -
Reacciones, fijados y lectura usan el JSON de tg, con
operationId:reactions add|remove:{operationId, chatId, messageId, reaction}, reacción propia onull, sin cantidades (están enmessages list).messages pin|unpin:{operationId, chatId, messageId, pinned}, conpinnedcomotrueofalse.chats mark-read:{operationId, chatId, until}, connullpara el más reciente.
Igual en
max_reactions_add,max_reactions_remove,max_messages_pin,max_messages_unpin,max_chats_mark_read. -
max messages unpin <чат> <сообщение>requiere identificador, como tg y pin. MAX conserva un único fijado y lo retira con cualquier identificador.max_messages_unpinrequieremessage. Añade un identificador amessages unpin <чат>. -
Desaparecen
max serve --detachymax serve --stop: utilizamax server startymax server stop.servetrabaja en primer plano;max servergestiona el segundo. Actualiza scripts y servicios manuales. -
max server status --jsonusa el formato tg:byHandpasa aby:hand, manual;command, iniciado por comando;server, pormax server start;unit, servicio. Añadelog,unitystalesi quedó una marca de un servidor caído.max server start,stopyrestartdevuelven{ started, by, pid, startedAt, log }y{ stopped, by, pid }, sinsocket. -
max messages send --atpasa a--at-time; el nombre anterior--atproduce error; reemplázalo por--at-time.atdemax_messages_senden MCP no cambia. -
Solo
--md, desaparece--markdownen envío,messages edity demás formato. Cambia los scripts antiguos. -
max sends list --jsoncambiacidporsendId, cadena en lugar de número, comooutcome_unknowny--send-id. También muestra así registros antiguos. -
Los registros (
--trace,--record,max runs show) usan formato común. El envío se llamasend, nocid; errores MAX,providerError, nomaxError, en eventos,run.jsonydetails. -
max botdevuelveoutcome_unknown, código14, en escrituras con respuestas 502, 503 o 504, antesprovider_unavailable, código12. El intermediario no demuestra si MAX ejecutó la petición. Reintentar12podía duplicar; con14, comprueba primero. Las lecturas siguen reintentándose y devuelvenprovider_unavailable. -
Los comandos de bot adoptan nombres tg sin alias.
max bot messages get <сообщение>pasa amessages show <чат> <сообщение>;messages edit|deletetambién reciben chat primero.bot chats getpasa achats show;bot chats pin|unpin, amessages pin|unpin <чат> <сообщение>.--format markdown|htmlpasa a--mdo--html; desaparece--type: usa--photo,--voiceo--as-filepara vídeos como archivo.chats actionaceptatyping,photo,video,voice,file. Enviar y editar devuelve{ operationId, message }. Eliminar pregunta;--allow-dangerousaprueba. MCP:max_bot_chats_show,max_bot_messages_show,max_bot_messages_pin,max_bot_messages_unpin. -
max bot membersymax bot adminspasan amax bot chats membersymax bot chats admins.admins addutiliza--canen lugar de--permissions, conmax chats admins add:read,members,admins,info,pin,link,edit,delete;--titlesustituye--alias. No hay permisos de llamadas ni estadísticas.admins listdevuelve{ id, name, username, role, rights, title }. MCP:max_bot_chats_members_list|add|remove,max_bot_chats_admins_list. -
Los cambios locales se clasifican como escrituras.
config setyunset,chats rules setyunset,recipients add,remove,clear, yauth set,remove,chats rules set,unset,recipients add,remove,cleardel bot modifican configuración, reglas, destinatarios o almacén, no MAX. La referencia indica que solo cambia el equipo;max commandslo muestra enwrites. Los filtros de solo lectura mediantemax commands --jsonahora los excluyen.
Correcciones
max store fetchpor fecha ya no omite mensajes en límites de página y se detiene si MAX repite páginas.max messages list --before-timeexcluye mensajes del mismo milisegundo: «antes» es estrictamente anterior.max messages list --after-id(0.21.0:--after <id>) indica si hay página siguiente, en lugar de negar siempre al avanzar.max messages send --voicefunciona mediantemax serve. Antes perdía la forma de onda y MAX rechazaba conproto.payload, código11. Con--no-serveya funcionaba.max chats listymax chats showeliminan chats abandonados al recibir una lista completa en el siguiente acceso. Antes permanecían con cantidades obsoletas. Sus mensajes quedan hastamax cache clear --left;max servedetecta la salida en el siguiente acceso completo.max serveno confunde respuestas tras uso prolongado. Los números de dos bytes reinician tras 65 536 peticiones; ahora se omiten los que aún esperan respuesta.
0.21.0 — 30.09.2026
Cambios que pueden afectar a scripts
Los comandos siguen sustantivo y acción. Los nombres anteriores devuelven «unknown command» o «unknown option», código 1, sin actuar.
max backup messagespasa amax store fetch. Descarga inmediatamente;--estimatesolo calcula (antes requería--run). Conserva máximo--max-pagesde 40 páginas y pausas.--pauseexige duración (5s,500ms), no número sin unidad.--sincey--lastson opcionales; sucesivas ejecuciones llegan al inicio, reanudando.max export messagespasa amax store export.--cidpasa a--send-idenmessages sendymessages forward.outcome_unknownusasendId;max_messages_sendymax_messages_forwardcambiancidporsend_id.max chats readpasa amax chats mark-read;max_chats_read, amax_chats_mark_read.- Desaparece
max chats settings. Consultasettings,description,accessmediantemax chats showe invitaciones conmax chats link show; cambia ajustes conmax chats update <чат> --all-can-pin on|offy demás opciones. max updatepasa amax upgrade, también en avisos.max recipients offpasa amax recipients clear, respuestaoffacleared;max bot recipients off, amax bot recipients clear.max account sessions end-otherspasa amax account sessions end --others; sin--othersrechaza.
Novedades
max completeaparece enmax --help, para encontrar cómo activar Tab.- Acceso desde navegador: ChatGPT o Claude, con proxy de contraseña y dirección pública Tailscale sin dominio propio. Basado en documentación, sin prueba completa.
0.20.0 — 30.09.2026
Cambios que pueden afectar a scripts
- La base compartida pasa al esquema 6 (cli-messaging 0.49.0). El primer
maxactualizamessages.db; tg anterior al publicado ese día rechaza el archivo y pidenpm install -g @leemour/tg-cli@latest. Los comandos MAX no cambian. --all-botsnecesita autorización para leer otros bots. DefinereadOtherBotsenbot:max <имя> config set --bot readOtherBots trueo lista de perfiles. Sin ella, código5y comando para permitirlo.- Las personas ambiguas se ordenan por nombre, primero quienes no tienen nombre, en lugar del orden de caché. El texto del error no cambia.
Novedades
--bots news,supportenbot messages search,bot people show,bot messages betweenconsulta solo esos perfiles autorizados porreadOtherBots.bot messages searchtambién admite--all-bots.bot mcpofreceall_botsybotsen esas tres herramientas solo si se autorizan lecturas entre bots.- Cada bot conserva sus personas. Las vistas por uno no aparecen en otro sin
--all-botso--bots. - La búsqueda del bot encuentra fragmentos de tres letras (
вартирencuentra «квартиру»), igual que la búsqueda personal en esta versión.
0.19.0 — 28.09.2026
Cambios que pueden afectar a scripts
- Cerrar encuestas mediante
max mcprequiereedit, antesreaction. Cerrar edita el mensaje ymax polls closeya lo exigía. Siallowrestringe acciones, añadeeditpara ofrecermax_polls_close. Sin lista nada cambia. Consulta MCP.
Correcciones
max mcp --confirm-sendinicia si solomcpToolshabilita escrituras. Antes exigía--allow-*, por lo que contactos, grupos y perfil podían cambiarse sin formulario. Sin--confirm-sendnada cambia; añádela para aprobar cada acción.max <бот> bot messages search --limit Nindica más resultados. Antes siempre devolvíahasMore: falseylimitde configuración en lugar deN, deteniendo scripts y agentes que compruebanhasMoreantes de tiempo. Ahora devuelvehasMore: truesi superaN.
0.18.1 — 28.09.2026
Correcciones
max contacts renamese refleja inmediatamente encontacts showy título del chat. Antes esperaba hasta quemax serveiniciara sesión porque no aplicaba el contacto devuelto. Si sigue obsoleto, el primer comando 0.18.1 sustituye el servidor anterior.
0.18.0 — 28.09.2026
Novedades
- Herramientas de cuenta en
max mcp: añadir, eliminar, renombrar y bloquear contactos; cerrar tu encuesta; entrar, salir y crear grupos; gestionar administradores; cambiar nombre y descripción. Antes solo leía y enviaba mensajes. Solo tú las habilitas mediantemcpTools, por ejemplomax config set mcpTools contacts,polls; no mediante opciones del agente. Todas pasan porreadOnly,allowy registro. Consulta MCP. - Las subidas del bot aparecen en
--tracey registros.bot messages send --fileybot uploads putmuestran tipo, tamaño, estado HTTP y duración en dos líneas. Nunca muestran ni guardan dirección o nombre del archivo.
Correcciones
max contacts renamecambia realmente el nombre. Antes MAX indicaba éxito sin cambiarlo si faltabalastName; ahora lo envía siempre,nullsi no hay apellido, como el cliente web. Repite los cambios hechos con el comando de renombrado en 0.17.x.
0.17.1 — 28.09.2026
Correcciones
- Los errores de
--limit,--lasty--max-pagesrepiten el valor introducido. Afecta amessages list,inbox,backup,sends listy comandos del bot. Antes,--limit abcaparecía comoNaN; en 0.17.0 solo se corrigieron las listas paginadas. runs listysends listtruncadas por--limitindicanhasMore: true. Antes devolvíanhasMore: falsey unlimitdistinto al solicitado. Los scripts que seguíanhasMorepodían detenerse en la primera página.- Los contactos renombrados usan el nombre que les has dado, como MAX. Antes
maxmostraba el nombre propio aunque lo cambiaras mediantecontacts renameo en la aplicación.
0.17.0 — 28.09.2026
Cambios que pueden afectar a scripts
- Todas las listas con
--jsonson objetos{items, page, limit, hasMore}, no arrays. Incluyeaccount sessions list,chats members list,chats folders list,messages scheduled,messages download,messages context,models audio list,recipients list,sends list,runs list,chats check,chats eventsy listas del bot. Antes algunas eran arrays ychats eventsdevolvía{events, more}. Motivo: había tres formatos distintos que los scripts y agentes debían recordar. Ten en cuenta: lee.itemsen vez del array. Sin paginación,pagees 1 ylimitel número de filas.bot members listybot admins listañadenmarker;user_ides una cadena.bot messages getdevuelve el mensaje, no un array de uno.--jsonly las tablas no cambian. MCP usa el mismo formato.
Novedades
max doctorymax config showincluyen bots. Enumeran todos los perfiles del equipo indicando cuenta personal, bot o ambos.doctormuestra la procedencia del token sin revelarlo, chats vistos y rutas;doctor --onlineconsulta a Bot API quién es el bot. Para perfiles de bot, ya no recomiendasession start, sinomax <имя> bot ….- Herramientas MCP
max_statusymax_bot_status. Indican el perfil, la existencia de token y herramientas de escritura activas. No envían nada;max_statusni inicia sesión. - Tab conoce los bots. Sus comandos completan chats vistos por el bot, no por la cuenta personal; la primera palabra ofrece todos los perfiles.
- Los comandos del bot tienen registros como los personales.
max <имя> bot … --tracemuestra peticiones Bot API en stderr: operación, chat/mensaje, estado HTTP y duración.--recordguarda ejecuciones; los fallos se guardan solos con sus peticiones. Consultamax runs list,max runs show. Las cargas--fileaún no se registraban; se añadieron en 0.18.0. - Ajustes separados para cuentas y bots. Secciones
personalybot, condefaultsyprofilespropias.max config set --personal|--botescribe la sección;max config show --botindica la clave de origen, comoconfig file: bot.profiles.test. Motivo: necesitan reglas diferentes. Prioridad: perfil de sección, perfil general, sección,defaultsgenerales. Los archivos antiguos siguen funcionando. Consulta Configuración. - Límite por hora para bots.
max <имя> config set --bot sendsPerHour 200lo define. Por defecto sigue sin límite. max config set defaultProfile <имя>selecciona el perfil cuando la primera palabra no lo indica; antes siempredefault.- Foto, nombres propios y bloqueo.
max account update --photo <файл>cambia la foto.max contacts rename <кто> <имя> [фамилия]cambia el nombre solo para ti.max contacts block <кто>yunblockbloquean incluso a quien no está en contactos. Aplican los controles deaccount updateycontacts add.contacts renameaún no cambiaba realmente el nombre; corregido en 0.18.0. - Canales.
max chats create <название> --channelcrea un canal privado. Invita mediantemax chats link show: MAX puede rechazar añadir personas directamente. - Permisos de lectura y enlace.
max chats admins add <чат> <кто> --can read,linkpermite leer la historia y cambiar la invitación. Un bot administrador sinreadno ve mensajes del grupo. - Tiempos relativos.
--since,--before,--afteradmiten30m,2h,1d:max review --since 1d. Antes exigían tiempos exactos.
Correcciones
- Los cambios propios de chats se ven inmediatamente. Tras
max chats update,chats settings,chats link reset,chats showychats listmostraban el nombre antiguo durante minutos. MAX no devuelve el cambio como evento; ahoramax serveaplica el chat de la respuesta, como los mensajes enviados. max export messagesya no avisa de un hueco hasta 1970-01-01 tras unbackupcompleto. Antes seguía indicando que faltaba el inicio.- Errores de
--limity--pageconservan el valor introducido, en vez de llamarNaNa--limit abc. - Una invitación revocada en
chats inspectochats joindanot_found, código 6, en vez de un rechazo MAX con número de operación. Los scripts deben esperar 6. max config showymax doctorno inventan<имя>.moderationcomo perfil. Antes confundían el archivo de reglas con uno.- Errores de subcomando nombran la palabra desconocida, no el perfil.
max work bot auth statusculpaba aworken lugar destatus. max config showincluyetranscribeModel, antes ausente.
Eliminaciones
- Solicitudes de ingreso:
max chats requests list|accept|decline, reglarequests, nivelesconsent.acceptyconsent.decline. MAX permite grupos abiertos o mediante invitación, sin aprobación de solicitudes; los comandos prometían algo inexistente. Los archivos antiguos siguen leyéndose y pierden esas claves al escribirse. Los scripts conchats requestsreciben «comando inexistente».
0.16.0 — 27.09.2026
Novedades
- Personas e historial del bot.
max <имя> bot people show <кто>muestra dónde escribió y su chat privado.bot messages search --from <кто>encuentra uno o varios autores;bot messages between <кто> <кто>muestra sus mensajes en chats comunes. Solo usa lo visto en el equipo;--all-botsincluye todas las copias. - Moderación del bot por reglas.
max <имя> bot chats check <чат>comprueba lo nuevo segúnbot chats rules show|set|unset, borrando mensajes o expulsando personas. Ingresos mediantebot updates watch. Sin--no-ban, quien es expulsado no vuelve por enlace; Bot API no puede deshacerlo. Tampoco conoce la antigüedad de cuentas. - Encuestas.
max messages listmuestra pregunta, opciones con IDs en[скобках], votos y ✓ en tu opción.max polls vote <чат> <сообщение> <вариант>…vota,--retractretira,max polls closecierra,max polls createcrea. MCP:max_polls_vote,max_polls_createcon--allow-send. Los estados inválidos se rechazan antes de enviar: encuesta cerrada, opciones sobrantes o segundo voto no permitido. web.max.ru no muestra encuestas ypolls createlo recuerda. max <имя> bot mcppara agentes. Solo lectura por defecto; escritura con--allow-send,--allow-delete,--allow-moderate,--confirm-send. Ejecuta los mismos comandos con destinatarios y registro. Acciones que requieren consentimiento se muestran en un formulario. Consulta MCP del bot.
Cambios que pueden afectar a scripts
timeoutdemax bot api get-updatespasa a--poll-timeout. Antes--timeoutno llegaba a MAX porque limita toda la ejecución. Los scripts de long polling deben usar--poll-timeout.
Correcciones
- La primera orden de una versión nueva sustituye al
max serveantiguo. Antes seguía rechazando operaciones nuevas, como votos, hastamax server stop. - También se sustituye una compilación distinta con igual versión. Un servidor iniciado a mano rechaza operaciones desconocidas sugiriendo
max server stop. max bot api get-updates --limit …funciona. Antes--limitse interpretaba como configuración global y fallaba.
0.15.0 — 27.09.2026
Novedades
max chats check <чат>modera por reglas. Lee mensajes y participantes nuevos desde la última revisión, aplicamax chats rulesy avisa, borra o expulsa. Por defecto solo informa;--dry-runplanifica; máximo 10 acciones. Los cambios pasan los controles habituales. Las solicitudes solo estaban previstas aquí y se eliminaron en 0.17.0 porque MAX no las tiene. Consulta Grupos.- Moderación mediante agente.
max mcp --allow-moderateofrecemax_chats_check; siempre se ofrecen los lectoresmax_chats_events,max_chats_members,max_chats_rules. Sin el indicador no hay herramienta de actuación. Los cambios pendientes de consentimiento se muestran juntos en un formulario. - Roles e invitaciones.
max chats members listindicaowner,admin,member.max chats link show <чат>muestra la invitación. - Vídeos y voz personales.
max messages send <чат> --file ролик.mp4reproduce vídeo en el chat (.mp4 .mov .webm .mkv);max messages send <чат> --voice заметка.oggenvía voz con onda y duración. Antes el vídeo era archivo;--as-fileconserva ese comportamiento. Voz solo Ogg Opus; otro audio sugiereffmpeg. Consulta Uso. - Transcripciones en listas.
max messages list <чат> --transcribe,max inbox --transcribereconocen localmente; 🎤 bajo el mensaje,transcripten--json. MCP:transcribe: trueenmax_messages_list,max_inbox. El texto ya reconocido aparece sin indicador; hace falta modelo descargado. - Más comandos de bot.
max <имя> bot messages send --file <путь>adjunta imagen/vídeo/audio/archivo;bot uploads putsolo carga.bot members list|add|remove,bot admins list|add|remove,bot comments list|get|send|edit|delete,bot callbacks answer,bot commands list|set|clear,bot webhooks list|set|delete. Consulta Bots.webhooks setrechaza otro destino porque MAX mantendría ambos, en lugar de sustituirlo. - Copia local del bot. Lo leído/enviado/recibido se conserva.
max <имя> bot messages list <чат> --offline,messages get --offlineleen sin red;bot messages search <текст>busca. El borrado propio u observado porupdates watchretira el mensaje; la copia contiene texto. max <имя> bot updates watchmuestra eventos hasta Ctrl-C, guarda mensajes y reanuda desde la posición anterior. No funciona con webhook; consume los eventos de otros lectores: ejecútalo solo si nadie más necesita el bot.- Personas en la copia.
max <имя> bot people show <кто>muestra chats y últimos mensajes privados;--refreshrelee desde MAX.bot messages search --from <кто>filtra autor;bot messages between <кто> <кто> …compara autores en chats comunes.--all-botsincluye todas las copias. Persona: número,@usernameo parte del nombre.
Cambios que pueden afectar a scripts
max bot messages listordena de antiguos a nuevos, comomax messages list. Los envíos del bot se marcan propios. Los scripts que tomaban la primera fila como la más reciente deben adaptarse.
Correcciones
max review --transcribecierra MAX antes de reconocer. Primero descarga grabaciones, cierra y ejecuta el modelo.max bot api edit-my-commands,subscribe,unsubscribe,get-upload-urlfuncionan. Antes fallaban con «an account change without a known action» sin enviar nada.- Un destinatario positivo sin
user:se identifica como probable persona y sugiereuser:<номер>. - Los ejemplos de Bots usan identificadores reales, explicando cómo obtenerlos.
0.14.0 — 27.09.2026
Novedades
max botusa el Bot API oficial.max bot auth setvalida y guarda el token separado de la cuenta personal. Perfil primero:max рабочий bot me.max bot memuestra el bot;max bot api <операция>ejecuta las 33 operaciones con parámetros y cuerpo JSON, generadas desde la especificación oficial. IDs mayores que 2^53 son cadenas para conservar dígitos; los scripts deben tratarlos así.- Comandos cómodos.
max <имя> bot messages send <чат> <текст>escribe a ID,user:<номер>o nombre visto. Tambiénedit,delete,list,get.max <имя> bot chats list,chats get|pin|unpin|leave|action,max bot list. MAX no lista chats del bot: el CLI recuerda los vistos. - Destinatarios y registro del bot.
max <имя> bot recipients add|list|remove|off,max <имя> bot sends list. Se comprueban todas las escrituras, incluidasbot api. Aún no hay límite por hora; llega en 0.17.0. Consulta Bots. - Actividad de grupos.
max review --unanswered [часы]encuentra preguntas sin respuesta tuya ni de administradores;max review --chat <чат>revisa un chat.max chats events <чат>muestra ingresos, salidas, altas y expulsiones.max chats members list <чат>lista miembros con registro y última actividad.max chats rules show|set|unset <чат>guarda reglas juntas, comoconfig set.
Correcciones
- Cuando MAX cierra la conexión, el error indica código y motivo.
0.13.0 — 26.09.2026
Novedades
max reviewrevisa obligaciones. Todos los mensajes, también tuyos, desde la última revisión (tres días sin--since).--transcribereconoce voz. Termina indicando dónde iniciar la siguiente revisión. Si falta lectura, señala resultado incompleto: no lo consideres completo (Uso).max_reviewy/reviewen MCP. El agente separa mis obligaciones, esperas y dudas; revisa grupos antes de declarar retrasos y prepara recordatorios. Solo envía con tu aprobación (MCP).max mcp configimprime configuración para Claude Desktop, Cursor y otros. Rutas absolutas para Windows y clientes sinPATHdel terminal (Conexión).max doctorcomprueba la instalación: entorno, ruta, disponibilidad en un terminal nuevo, almacén de claves, SQLite y modelo de voz. Si faltaPATH, muestra la solución PowerShell oexport. Si no encuentrasmax, ejecutanpx @leemour/max-cli doctor(Problemas).max doctor --onlinerealiza un inicio, lee un chat y arranca MCP sin enviar.max models audio downloadprueba el modelo descargado. Si falta, indica idioma y alternativas con tamaños.
Cambios que pueden afectar a scripts
max_messages_attachmentpasa amax_messages_photo. Renueva permisos guardados del cliente MCP.- No se admite el perfil
review, ahora una orden; renombra perfiles existentes.
Seguridad
- Los informes Windows ocultan el directorio personal con cualquier escritura. Antes el nombre del usuario seguía visible en ciertas rutas.
0.12.0 — 26.09.2026
Novedades
- Más MCP:
max_inboxreúne lo nuevo; respuestas y formato, reacciones, fotos como imagen visible al agente (Herramientas). /catch-up,/reply,/findy chats mediante@en Claude Code (Comandos).
Correcciones
max servefunciona en Windows mediante canal con nombre, no archivo.- Sockets demasiado largos en macOS/Linux dan un error claro, no
EINVAL; pueden alargarse por perfil oMAX_STATE_DIR.
0.11.0 — 26.09.2026
Novedades
max watch --eventsmuestra ediciones, borrados y reacciones con campoevent; sin indicador conserva formato (Eventos).- Informes mediante incidencias GitHub, no correo.
max doctor report createimprime enlace con título y plantilla; se adjunta el informe. Incidencia y archivo son públicos (Problemas). - Todos los errores guardan una ejecución, incluso indicadores inválidos, comprobaciones previas y órdenes sin MAX (
models,server,watch). Antes solo los que alcanzaban MAX. Solo se guardan palabras de comando, no argumentos ni mensajes (Diagnóstico). max backup messages --runindica ubicación y siguiente paso. Conserva en copia local;max export messagescrea archivo. La orden aparece al final y enexport.max servecomprueba permisos y registra envíos: lectura, acciones, destinatarios y límite.config setse aplica sin reiniciar. No se inicia conMAX_TOKEN.max servepide lo mismo que web.max.ru al entrar: carpetas, banners, llamadas, stickers y reacciones. Al reconectar envía la hora anterior y pide solo chats cambiados. Motivo: reducir diferencias frente al cliente web. Solo lectura; no muestra ni guarda respuestas. Las órdenes puntuales no lo hacen (Seguridad).- El servidor tolera un mensaje entrante malformado, lo omite y registra una línea en vez de detenerse.
Cambios que pueden afectar a scripts
-
Más protección para agentes.
max mcp --confirm-sendconfirma cualquier escritura —edición, reenvío, fijado, lectura y borrado—; aprobación única durante cinco minutos.sendsPerHourincluye ediciones, fijados con aviso y cada persona añadida. Los programados cuentan a la hora de salida. Dos envíos simultáneos ya no superan juntos el límite.- Con destinatarios activos, crear grupo o añadir personas exige que el chat privado de cada una esté autorizado.
chats members addno muestra historia sin--history; se elimina--hide-history.MAX_PROFILE_LOCKfija el proceso en un perfil.--filerechaza archivos ocultos y propios demaxsin--allow-any-file.
Ten en cuenta: el límite se consume antes. Retira
--hide-historyde scripts; añade--allow-any-filesi debes enviar archivos ocultos.
Correcciones
max watchno confunde ediciones/borrados con mensajes nuevos, aunque MAX los envíe con el mismo formato marcado.- Un nombre exacto no gana en silencio. Si también forma parte de otro chat, enumera ambos y exige ID: un envío al destinatario equivocado no puede deshacerse.
Seguridad
MAX_TOKENpermanece solo en la variable. Un token renovado no se escribe a claves/archivo; se avisa en stderr.max doctorindicacredentials.jsoncuando es la fuente.max session startoculta el teléfono, comomax account show. Ctrl-C al pedir token termina con130.- El servidor no entrega tokens a comandos que consultan su sesión; verifican el almacén.
- Límites de red. Tramas MAX descomprimidas hasta 32 MiB; conexión y descargas no esperan indefinidamente.
max messages downloadsolo HTTPS, sin equipo local ni red privada, incluso tras redirecciones; máximo 4 GiB, voz para transcripción 32 MiB. Los enlaces provienen de terceros y pueden apuntar a cualquier lugar. - Permisos locales. Base y
-wal,-shmcon0600, directorio0700; se corrigen los existentes al abrir. Los informes sustituyen IDs por etiquetas. - Texto ajeno en una línea y controles visibles en conversaciones, tablas, candidatos, Markdown y rutas de
messages download. Se limpian caracteres de control/dirección en nombres. Solohttp,httpsse convierten en enlaces Markdown. - Autocompletado inserta solo números de chat/persona, mostrando nombre aparte: títulos y
@имяpertenecen a terceros y no deben ejecutarse en la shell. max cache clearsin perfil limpia el predeterminado y respetaMAX_PROFILE.- Publicación más estricta. Dependencias exactas; compilación limpia sin auxiliares de pruebas; publicación separada sin instalar ni ejecutar dependencias.
0.10.0 — 25.09.2026
Novedades
max doctor report,max doctor report createpreparan informes. La primera explica contenido; la segunda crea archivo sin texto y pasos de envío. Aquí por correo; desde 0.11.0 por GitHub (Problemas).max backup messages <чат> --since <дата> | --last <n>completa historia local. Sin--runsolo estima. Con él, páginas de 30, pausas, máximo 40 páginas por ejecución; reanuda (Archivo).max doctorindica la versión web que representamax, avisando si tiene más de 60 días: MAX puede rechazar clientes antiguos (Problemas).max server start|stop|status|restartadministra el servidor como entidad separada, igual quemax session.statusmuestra actividad, inicio, versión y conexión, sugiriendorestartsi está atrasado.max serve --detach,--stopsiguen funcionando (Servidor).- Lectura con los cinco campos de la web e inicio con 15 chats, resto en una petición; antes 40 y un campo extra. Reduce diferencias frente al navegador. El listado no cambia; comprobado en canal no leído: leer no marca leído.
- Dispositivo según el equipo: zona, idioma y SO propios como el navegador; antes todos eran Chrome/Linux/Madrid.
max serveenvía un evento de servicio como una pestaña oculta: lista de chats mostrada, 20 segundos después de entrar. Solo número de cuenta y hora, sin títulos/textos. Las órdenes puntuales no lo envían (Seguridad).- Nombres de carpeta mayores de 20 caracteres se rechazan localmente, antes llegaban a MAX y fallaban.
Cambios que pueden afectar a scripts
- Un rechazo por demasiados inicios no provoca nuevos intentos. Código
8y pausas de 1 minuto, 5, 30, una hora, 6 horas, un día. El servidor se detiene ante cualquier rechazo; antes repetía cada minuto indefinidamente. Scripts reciben8hasta acabar la pausa: respeta el plazo del error (Problemas).
Correcciones
- Un almacén inaccesible no se confunde con falta de sesión. Si ya hubo entrada pero falta token, por ejemplo en cron,
maxymax doctorseñalan las claves, no recomiendan otra sesión que añadiría otro dispositivo (Recetas). - Fallos guardados sin
--record. Incluyen clave MAX (p. ej.login.token), códigos de aviso, punto del fallo, entorno y SO; sin textos. Servidor: JSON con hora (Diagnóstico). max chats read --untilsolo marca hasta el mensaje indicado, no hasta ahora ni mensajes más nuevos. Igual paramessages list --mark-read. Antes podían aparecer leídos mensajes no vistos.
0.9.0 — 25.09.2026
Novedades
maxhabla como la web: dirección, tramas binarias, compresión y dispositivo con versiones nuevas de app/navegador; antes texto en formato antiguo. Reduce diferencias; voz y videonotas requieren bytes que el formato antiguo no podía transmitir. Órdenes y resultados iguales. Voz aún futura. El inicio sigue recibiendo todos los chats, no solo cambios, con tráfico extra.max serveiniciado por comando se reinicia tras actualizar. El iniciado a mano conserva código antiguo hastamax serve --stopy nuevo inicio.
0.8.0 — 25.09.2026
Novedades
max messages transcribe <чат> <id>reconoce voz localmente. La grabación no sale.max models audio listmuestra idiomas;max models audio download <id>descarga y verifica. MCP:max_messages_transcribe(Voz). Descarga única a petición; texto en la copia, sin necesidad de repetir red o modelo.- Una conexión por perfil. Comandos,
max mcp,max watchcompartenmax serve, reduciendo inicios con un token y cierres por MAX.max session startdetiene, entra y reinicia (Servidor). max serve --detachinicia en segundo plano y responde tras conectar;max serve --stopdetiene. Uno iniciado a mano solo se detiene con Ctrl-C/--stop;max session endno lo toca.allowlimita acciones.max work config set allow send,reactionpermite enviar y reaccionar. Doce nombres desendasessions. Sin lista todo permitido. Lo prohibido falla con5antes de conectar, indicando cómo permitirlo.max mcpoculta herramientas prohibidas (Permisos).max messages send … --at <время>programa. MAX envía aunque el equipo esté apagado;2026-09-25T09:00local,30m,2h,1d.max messages scheduled <чат>lista espera; MCPatdemax_messages_send,max_messages_scheduled. Cancelación solo en MAX (Programar).max chats read <чат>,max messages list … --mark-readmarcan explícitamente. MCP:max mcp --allow-mark-read. El otro ve la marca; lectura ordinaria no la cambia (Lectura).max export messages <чат> --format jsonl|mdexporta localmente, con--since,--output, sin MAX. Lo ausente se avisa en stderr;--outputcrea archivo privado (Exportación).max messages delete <чат> <id…> --allow-dangerousborra hasta 10, solo para ti salvo--for-everyone; MCPmax mcp --allow-delete, solo personal. Sin--allow-dangerousfalla; cada mensaje consumesendsPerHour(Borrar).
Correcciones
- Actualizar
maxconserva la historia. Antes un cambio de estructura borraba todo; ahora migra mensajes. Este lanzamiento también cambia la estructura y conserva historia; chats/personas se renuevan al entrar. - Tras rechazo del servidor, los comandos esperan 10 minutos sin crear otro. Antes cada orden reiniciaba intentos rechazados.
max session startelimina la espera. max watchve los envíos propios demax. MAX no los devuelve a la conexión emisora; antes se perdían.- Comandos concurrentes no pierden el registro de entrada. Antes dos de tres mostraban «the local record did not take this login» sin guardar chats/personas/sincronización. Ahora esperan a la primera escritura.
Seguridad
- Los errores no controlan el terminal. Tras mensajes, nombres y tablas en 0.7.0, los errores muestran
\x1bvisible. Pueden repetir entrada del usuario o respuestas MAX.
0.7.0 — 24.09.2026
Novedades
max reactions remove <чат> <id>retira tu reacción.- Grupos y canales bajo
max chats: inspeccionar invitación, entrar, salir, crear, añadir/expulsar, administrar, renombrar, ajustes y renovar enlace. Las solicitudes se retiraron en 0.17.0 porque MAX no las tiene. Los cambios son visibles y pasan los controles de envío (Grupos). max updateactualiza con el gestor de instalación,--checksolo comprueba. Aviso diario solo para personas en terminal, nunca agentes/scripts. Desactiva conupdateCheck: falseendefaults(Actualizar).- Tab en zsh/bash/fish/PowerShell:
source <(max complete zsh), órdenes, indicadores, valores, chats/personas locales sin MAX (Autocompletar). max mcpconecta el perfil por MCP para clientes sin terminal, como Claude Desktop, o mediante MCP en Cursor (MCP). Solo lectura sin--allow-send; envío con controles demax messages send.max mcp --allow-send --confirm-sendmuestra destino y texto antes de enviar. Sin tu sí no envía; cliente sin formularios falla (Confirmación).max messages send … --file <путь>envía fotos/archivos, varias fotos en un mensaje.
Seguridad
- El texto ajeno no controla el terminal. Mensajes, nombres, títulos, archivos o reacciones podían borrar líneas y sobrescribir salida de
max. Ahora controles como\x1bse muestran visibles en conversaciones, tablas, errores y Tab. JSON no cambia: ya los escapaba.
0.6.0 — 24.09.2026
Novedades
max commands --jsondescribe órdenes, argumentos, indicadores y códigos en una respuesta, cambios MAX conmutates: true. Evita pedir--helppor comando. Funciona sin sesión incluso con ajustes rotos.max messages send … --reply-to <id>responde.max messages send … --markdowno--mdda formato:**жирный**,_курсив_,~~зачёркнутый~~,`код`. Sin indicador, literal.max reactions add <чат> <id> <эмодзи>sustituye tu reacción.- Reacciones en lectura:
messages list,show,contextmuestran👍 3 🔥 1 (you: 🔥), JSONreactions. Una petición adicional por página, solo lectura.--offlineno tiene reacciones (null) porque no se guardan. - Registro y destinatarios. Cada intento sin texto en
max sends list. Lista opcionalmax recipients add|remove|list|off; destinatario no autorizado código7, perfilreadOnlycódigo5. Alcance: Seguridad. max session start qr | qr-chrome | sms | tokenpermite entrar sin copiar token.qrdibuja en terminal o abre navegador si es estrecho.qr-chrome,smsabren web.max.ru en ventana aparte de Chrome/Chromium/Edge/Brave. Sin método sigue token manual o stdin.
Cambios que pueden afectar a scripts
- Límite por hora: 30 mensajes por defecto (
sendsPerHour).max messages sendfalla con8al excederlo; antes no había límite. Aumenta el ajuste si un script necesita más.
0.5.0 — 24.09.2026
Novedades
max messages download <чат> <id> [--output <каталог>]guarda foto, archivos, vídeo/audio sin sobrescribir.max config set <настройка> <значение>,max config unset <настройка>editan ajustes,--defaultspara todos; nueva seccióndefaultspara perfiles sin valor propio.max chats list --unreadfiltra no leídos.max messages list <чат> --after <id|время>lee hacia delante, después de mensaje/tiempo; próxima página con--after <id самого нового>.max chats show <чат>ymax contacts show <человек>muestran chat con miembros o persona por ID/@username/nombre y chats comunes. Nombres ambiguos enumeran candidatos, no se adivinan.- Todo lo nuevo aquí solo lee, sin enviar ni marcar.
Correcciones
--offlinefunciona. Antes no llegaba a comandos y leían MAX;max --offline messages sendenviaba realmente. Ahora lectura local; envío/descarga offline prohibidos. Si usaste--offline messages senden 0.4.0 o anterior, el mensaje se envió.- Errores de configuración claros: ajuste desconocido, disponibles y valores admitidos, no mensajes de biblioteca.
- Un fallo de
--recordno derriba la orden. Aviso stderr, respuesta/código sin cambios; visible incluso con--quiet.
Seguridad
- Publicación desde GitHub Actions con procedencia npm, para verificar el repositorio de compilación.
0.4.0 — 23.09.2026
Novedades
max messages show <чат> <id>muestra uno;max messages context <чат> <id>con--before,--aftermuestra contexto. Marcado◀y"anchor": true. Si falta, «no encontrado», no el vecino.max skill showimprime instrucciones incluidas:max skill show > ~/.claude/skills/max-cli/SKILL.md.max config showexplica perfil/origen, archivo/existencia, todos los perfiles incluso solo de estado, ajustes y fuente (indicador, variable, archivo, integrado).MAX_CONFIG_DIRy similares avisan de entrada de claves distinta.- Texto mediante pipe:
echo "текст" | max messages send <чат>, sin argumento lee stdin. Evitaps/historial y permite saltos de línea. --timeout <срок>limita toda la ejecución, conexión, entrada y solicitud, no una respuesta.max doctorrevisa dependencias sin MAX: fuente del token sin revelarlo, número/último inicio, perfiles, estructura de base y entrada de claves. Funciona con todo roto; falta de sesión es dato, no error.
Cambios que pueden afectar a scripts
--querypasa a--search. Ya cambió en 0.3.0 sin anotarlo. Los scripts deben sustituirlo.
Correcciones
messages list --before <id>no requiere lectura previa, obtiene tiempo del ID.- Miembros con nombres, no números. Antes solo contactos tenían nombre; ahora una petición obtiene y guarda todos, incluidos autores de respuestas/reenvíos.
- La publicación no se detiene antes de crear el tag. Ocurrió dos veces; ahora verifica npm sin caché y espera hasta tres minutos.
0.3.0 — 22.09.2026
Novedades
- Conversaciones como transcripción: divisores diarios,
время автор, texto alineado y ajustado al terminal.выeres tú; sin nombre aparece ID.↳responde,↪reenvía; MAX entrega originales completos y se guardan. -v,-vvañaden detalle: IDs de mensaje/autor/chat y URLs; después todo lo conocido.--jsonlda objeto JSON por línea, para streaming yjq.- Adjuntos como enlaces:
📎 photo,📎 photo ×3 1 2 3,📎 файл.pdf · 24 MB; JSONurl,width,height,title. El enlace de foto no requiere sesión: quien lo recibe puede verla. senderColors: trueda color por autor, desactivado por defecto.
Cambios que pueden afectar a scripts
-vsignifica detalle; versión conmax -V.--trace, antes--verbose, activa peticiones stderr. Los scripts que usabanmax -vpara la versión deben cambiar a-V; adapta también el antiguo--verbose.--querypasa a--search, inicialmente no anotado.- La copia local pasa a estructura 4 y se reconstruye. Esta versión no conserva la historia leída: debe leerse de nuevo.
Correcciones
- Nombres ambiguos enumeran candidatos con ID, JSON
candidates. - El aviso local indica estructura y solución, antes solo
Error. - Continuación de
messages listsugiere--before <id>, no el inexistente--page.
0.2.0 — 22.09.2026
Novedades
max messages send --silentenvía sin aviso. Aún no se comprobó el comportamiento real porque exigiría escribir a una persona.- Intercambio del token al primer inicio. MAX devuelve su token;
maxlo guarda en claves en lugar del pegado. Solo una vez.
Correcciones
max session startno destruye el token válido. Antes guardaba antes de validar y una errata lo sustituía; ahora valida y luego guarda.- Perfil vinculado al mismo usuario. Token de otra cuenta se rechaza explicando por qué: evita actuar como otra persona.
- La sugerencia tras envío incierto usa una orden real, no
max send. - No se descartan mensajes de la respuesta de entrada por estructura mal descrita.
0.1.0 — 21.09.2026
Primera versión que se puede compartir.
Novedades
- Siete órdenes sobre MAX real:
session start|end,account show,chats list,contacts list,messages list,messages send. - Perfil primero:
max personal chats list. Cuentas independientes con token, estado y copia propios; tambiénMAX_PROFILE. - Token en el almacén del sistema, no archivo ni argumento. Aún sin entrada por teléfono:
max session startobtiene el del cliente oficial. - Modo máquina:
--jsonda un valor en stdout, también automáticamente sin terminal. Error stderr, stdout vacío. Decide por código de salida: Referenciadocs/commands.md. - Diagnóstico sin contenido:
--verbosepetición por línea;--recordconserva 30 días;max runs list|show|pathlee. Por defecto nada registrado. - Copia local: lecturas guardadas;
--offlinesin conexión;max cache clearelimina. ~/.config/max-cli/config.json, prioridad indicador → variable → archivo → integrado. Erratas son errores explícitos.- Node 22+ y Bun 1.3+, ambos comprobados en CI.
- Leer no marca leído. Obtener historia y marcar son operaciones distintas; la segunda nunca se envía, verificado con prueba.
- Resultado de envío honesto: sin respuesta
outcome_unknown(14), sin afirmar fallo/éxito. Repite solo con el mismo--cidpara evitar doble envío. - Protocolo MAX no oficial por ingeniería inversa, separado de Bot API. Puede cambiar sin aviso; se informa con una línea stderr, no falla en silencio.
- Aún sin teléfono, adjuntos, reacciones, ediciones, grupos, historias ni llamadas: solo texto. No habrá envíos masivos con la cuenta personal.