Implementar Maxiful en toda tu organización

Una nota para los equipos de TI que implementan Maxiful en computadoras con Windows y en Mac: cómo se instala en cada una, cómo distribuirlo con Intune, Jamf Pro o una instalación silenciosa, qué deja en la computadora y qué inicia, qué hosts de red hay que permitir, cómo lo ven las herramientas de seguridad, qué ajustes puedes definir de forma centralizada y cómo se actualiza y se desinstala.

Verificado con Maxiful 0.9.60 para Windows y Mac. Donde los dos difieren, cada sección tiene una parte para Windows y otra para Mac.

Cómo se instala

En las dos plataformas, Maxiful es una app de escritorio que cada persona configura para sí misma. En su primer inicio, prepara el entorno de ejecución de los asistentes para esa persona: OpenClaw, el entorno de ejecución de agentes de código abierto, sobre una copia de Node.js que Maxiful instala para esa persona. Un proceso en segundo plano de ese entorno, el gateway, ejecuta los asistentes y vuelve a iniciarse cada vez que la persona inicia sesión en la computadora.

En Windows

Por usuario, sin derechos de administrador. El instalador, Maxiful-x64-setup.exe, se ejecuta como la persona que tiene la sesión iniciada en Windows y se instala en su %LOCALAPPDATA%\Maxiful. Aparece en las aplicaciones instaladas de esa persona, así que cada persona que usa Maxiful en una computadora tiene su propia instalación.

Windows 10 o posterior, de 64 bits. La ventana de Maxiful la dibuja Microsoft Edge WebView2. Si falta WebView2 Runtime, el instalador descarga el instalador de WebView2 de Microsoft desde go.microsoft.com y lo ejecuta de forma silenciosa.

En un Mac

Una sola app en /Applications, configurada por usuario. Maxiful para Mac se distribuye como imagen de disco, Maxiful-arm64.dmg, con Maxiful.app dentro, firmada con un Apple Developer ID y notarizada por Apple (los detalles de la firma están en Mac: Intune y Jamf Pro). Una vez copiada en /Applications, por una persona o por tu gestión de dispositivos, es una sola app para todos los usuarios del Mac; cada persona que la abre inicia sesión y obtiene su propia instalación, con sus asistentes y sus datos en su propia carpeta de inicio.

macOS 13 o posterior, en Apple silicon o Intel. La app es una sola compilación para ambos.

Windows: instalación silenciosa

Maxiful-x64-setup.exe /S
ModificadorQué hace
/SSilenciosa: sin ventana del instalador y sin preguntas del instalador. Añade un acceso directo en el menú Inicio y en el escritorio.
/PPasiva: una barra de progreso y ninguna pregunta. Las actualizaciones de Maxiful se ejecutan así.
/NSSin acceso directo en el menú Inicio ni en el escritorio.
/RAbre Maxiful al terminar la instalación (con /S o /P).
/DEFENDER=managedTu propia directiva de Defender añade las carpetas de trabajo de Maxiful (abajo), así que la instalación no le pregunta nada a Windows sobre ellas.
/DEFENDER=offQuieres que Defender analice esas carpetas, así que la instalación no le pide a Windows que Defender las omita.

Códigos de salida. 0 significa que la instalación terminó; cualquier otro código significa que no. Un 2 puede tener más de una causa; una es que otro programa mantenga en uso uno de los archivos de Maxiful durante 30 segundos, y en ese caso no se cambió nada. El instalador cierra el Maxiful que la propia persona tenga abierto antes de escribir.

Sobre una copia ya instalada. Ejecutar un instalador más nuevo de la misma forma la actualiza en su sitio, y los asistentes y datos de la persona se conservan. Lo medimos en nuestra computadora de pruebas con Windows el 26 de octubre de 2026, de la 0.9.54 a la 0.9.58 firmada.

Las carpetas de Microsoft Defender

Las carpetas de trabajo de Maxiful cambian miles de archivos cada vez que se inicia el equipo de asistentes, así que Maxiful le pide a Windows que Microsoft Defender omita cuatro de ellas. Sin un modificador /DEFENDER, la instalación lo pide después de escribir sus archivos: Windows muestra su propio aviso de permiso y, para una persona sin derechos de administrador, pide las credenciales de un administrador. Si nadie responde, Windows cierra el aviso por sí solo al cabo de unos dos minutos y la instalación termina igualmente. Maxiful vuelve a preguntar la próxima vez que se inicia; un segundo aviso sin respuesta cuenta como un no y no se vuelve a preguntar.

Con /DEFENDER=managed o /DEFENDER=off (exactamente así), ninguna instalación, actualización ni inicio le pregunta a Windows, y los ajustes de Maxiful indican que tu departamento de TI administra Microsoft Defender en la computadora. Con las carpetas analizadas todo funciona, aunque el equipo de asistentes tarda más en iniciarse. Aun así, la persona puede activar las exclusiones por su cuenta más adelante en los ajustes de Maxiful, en Dejar que Defender omita las carpetas de Maxiful, que pregunta a Windows como se describe arriba.

Carpeta que se pide a Defender omitir
%LOCALAPPDATA%\Lanoko\node-v24.21.0\node_modules\openclaw
%LOCALAPPDATA%\Lanoko\node-v24.21.0\openclaw-compile-cache
%USERPROFILE%\.openclaw-*\tmp\plugin-captures
%USERPROFILE%\.openclaw-*\agents\*\agent

Windows: Microsoft Intune (aplicación Win32)

Medimos la instalación silenciosa y la actualización sobre una copia instalada en nuestra propia computadora de pruebas con Windows. Esta receta sigue la documentación de Microsoft sobre aplicaciones Win32 y no se ha probado en un inquilino de Intune; si el tuyo se comporta de otra forma, avísanos en [email protected].

  1. Crea una carpeta de paquete con Maxiful-x64-setup.exe, descargado desde tu cuenta de Maxiful y verificado con su SHA-256, y un archivo uninstall.cmd, porque Intune no expande las variables de entorno en un comando de desinstalación:
    @echo off
    "%LOCALAPPDATA%\Maxiful\uninstall.exe" /S _?=%LOCALAPPDATA%\Maxiful
    set rc=%ERRORLEVEL%
    del /q "%LOCALAPPDATA%\Maxiful\uninstall.exe"
    rmdir "%LOCALAPPDATA%\Maxiful"
    exit /b %rc%
    _?= hace que el desinstalador se ejecute en su sitio y termine antes de que el script continúe; las dos líneas siguientes eliminan el propio desinstalador y la carpeta vacía. Para eliminar también los asistentes y los datos de la persona, escribe en su lugar /S /REMOVEALL _?=%LOCALAPPDATA%\Maxiful en la primera línea (consulta Desinstalación).
  2. Crea el archivo .intunewin con la Win32 Content Prep Tool de Microsoft:
    IntuneWinAppUtil.exe -c C:\maxiful-package -s Maxiful-x64-setup.exe -o C:\maxiful-intunewin -q
  3. Program: comando de instalación Maxiful-x64-setup.exe /S /DEFENDER=managed si tu directiva de Defender añade las cuatro carpetas anteriores, o Maxiful-x64-setup.exe /S /DEFENDER=off para que se analicen; comando de desinstalación uninstall.cmd; comportamiento de instalación User; comportamiento de reinicio del dispositivo No specific action; los códigos de retorno predeterminados.
  4. Requirements: 64 bits, Windows 10 o posterior.
  5. Detection rule: File, ruta %LOCALAPPDATA%\Maxiful, archivo Maxiful.exe, método File or folder exists.
  6. Assignment: Required o Available, a grupos de usuarios.

Intune espera una instalación que no pregunte nada. Con un modificador /DEFENDER, la instalación de Maxiful no pregunta nada; sin él, el aviso de Defender de Windows es la única pregunta que puede aparecer. Lee Primer inicio antes de asignarla a muchos usuarios.

Mac: Microsoft Intune y Jamf Pro

Tu gestión de dispositivos instala la app notarizada Maxiful.app en /Applications, desde la misma imagen de disco que descargan las personas. Estos son los valores que te pide.

Para tu MDMValor
Identificador de paquete (bundle identifier)ai.maxiful.desktop
Team ID467H9AXX55
La firma de la appDeveloper ID Application: Polytrader ltd (467H9AXX55), notarizada por Apple.
Su requisito de códigoidentifier "ai.maxiful.desktop" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "467H9AXX55"
VersiónCFBundleShortVersionString en /Applications/Maxiful.app/Contents/Info.plist: la versión de Maxiful.
Dónde se instala/Applications/Maxiful.app
Dominio de preferencias administradasai.maxiful.desktop, el identificador de paquete. Sus claves están en Ajustes administrados.

Microsoft Intune (macOS app (DMG))

  1. Apps, All Apps, Create; plataforma macOS, tipo macOS app (DMG); selecciona Maxiful-arm64.dmg, descargado desde tu cuenta de Maxiful y verificado con su SHA-256. Los Mac necesitan el agente de administración de Intune para macOS.
  2. App information: añade un logotipo para que la app aparezca en Company Portal con su icono. Requirements: Minimum Operating System macOS 13.
  3. Detection rules: Included apps ai.maxiful.desktop y su versión. Ignore app version No, para que se instale cada versión que subas. Pon también AutoUpdate en 0 (consulta Ajustes administrados): instalas cada versión con Intune y Maxiful no busca ninguna por su cuenta.
  4. Assignments: Required (se instala en /Applications), Available en Company Portal, o Uninstall.

Intune necesita acceso total al disco para actualizar o eliminar una app DMG, y lo solicita en macOS 13 y posteriores cuando se asigna la app. Para distribuir una versión nueva, sube su imagen de disco a la misma app: las asignaciones Required se actualizan solas y, con Available, cada persona elige Reinstall en Company Portal.

Jamf Pro

Jamf Pro distribuye paquetes desde sus puntos de distribución. Crea uno que contenga /Applications/Maxiful.app con Jamf Composer:

  1. En un Mac, copia Maxiful.app de la imagen de disco a /Applications. En Composer, arrastra /Applications/Maxiful.app desde el Finder a la lista Sources, para que conserve su ubicación en /Applications, y crea un paquete a partir de esa fuente.
  2. Añade el paquete a un punto de distribución y a Jamf Pro.
  3. En Computers, Policies, crea una política nueva. En General, define su activador y su frecuencia de ejecución; en el payload Packages, añade el paquete con la acción Install y elige el punto de distribución.
  4. En la pestaña Scope, elige las computadoras; o pon la política a disposición en Self Service.
  5. Para cada versión nueva, crea su paquete de la misma forma, distribúyelo con una política y pon AutoUpdate en 0 (consulta Ajustes administrados) para que Maxiful no busque ninguna por su cuenta.

Estos pasos siguen la documentación de Microsoft y de Jamf y no se han probado en un inquilino de Intune ni de Jamf; si el tuyo se comporta de otra forma, avísanos en [email protected].

El ítem de inicio de sesión del gateway

El gateway de los asistentes se ejecuta como LaunchAgent propio de cada persona, con la etiqueta ai.openclaw.<name>. En macOS 13 o posterior, un payload de Service Management (ítems de inicio de sesión administrados) con el tipo de regla Label prefix y el valor ai.openclaw. lo aprueba automáticamente.

Primer inicio: qué hace cada persona

Una instalación silenciosa, o la copia que tu MDM deja en /Applications, deja Maxiful listo para abrir. El primer inicio pide a cada persona estos pasos, igual en Windows que en Mac; TI no puede completarlos por ella.

  • Cada persona inicia sesión con su propia dirección de correo: Maxiful envía un enlace de inicio de sesión por correo y el enlace abre la app. Si el propietario del espacio de trabajo ha configurado el inicio de sesión único para el dominio de correo de tu organización, la persona puede elegir Continuar con tu cuenta de trabajo, que abre en su navegador el inicio de sesión de tu proveedor de identidad (Microsoft Entra ID, Google Workspace, Okta, otro proveedor OpenID Connect o un proveedor SAML 2.0); con Enforce single sign-on activado, el enlace enviado por correo también pasa a tu proveedor.
  • Quien configura un espacio de trabajo nuevo introduce el código de configuración de su cuenta de Maxiful. Cada código funciona en la primera computadora que lo usa.
  • Un compañero invitado a un espacio de trabajo se une a él, y también lo hace una persona de tus dominios verificados que inicia sesión con tu proveedor mientras el ajuste Add people to my workspace when they sign in del propietario está activado. Cada dispositivo nuevo de un compañero espera hasta que el propietario del espacio de trabajo le da acceso en la página Equipo, en Personas.

Después, la configuración instala Node.js y el entorno de ejecución para esa persona e inicia el equipo de asistentes. Necesita los hosts de red que se indican más abajo.

En un Mac: los permisos que pide macOS

Maxiful pide un permiso a macOS solo cuando una función lo necesita por primera vez, y macOS muestra su propia pregunta:

  • Notificaciones, la primera vez que Maxiful tiene una que mostrar, como una respuesta que llega mientras su ventana está en segundo plano.
  • Micrófono y Reconocimiento de voz, la primera vez que una persona dicta un mensaje o habla con un asistente.
  • Accesibilidad, Grabación de pantalla y Monitorización de entrada, cuando el propietario permite por primera vez que los asistentes usen la computadora.

Dónde se ejecuta el equipo de asistentes, y una computadora siempre encendida

El equipo de asistentes se ejecuta en la computadora del propietario: los asistentes, su memoria y sus conversaciones están en la instalación del propietario, y los compañeros se conectan a ella desde sus propios dispositivos. Una oficina que quiera que los asistentes respondan a cualquier hora ejecuta la instalación del propietario en una computadora que permanece encendida:

  • Un Mac con la cuenta de macOS del propietario con la sesión iniciada. El gateway es el LaunchAgent propio de esa cuenta y se inicia cuando la cuenta inicia sesión, así que vuelve a iniciar sesión en la cuenta después de cada reinicio, o activa el inicio de sesión automático, que macOS no ofrece mientras FileVault está activado.
  • Una computadora con Windows que inicie sesión por sí sola en la cuenta de Windows del propietario (el inicio de sesión automático de Windows). Maxiful inicia el gateway cuando la cuenta inicia sesión; para iniciarlo con el arranque haría falta una instalación con privilegios elevados, que Maxiful nunca ejecuta.

Los modelos de IA de la cuenta responden en una sola computadora a la vez. Si el propietario también usa Maxiful en una computadora portátil y allí elige Usar Maxiful aquí, los asistentes de la computadora siempre encendida dejan de responder hasta que el propietario vuelva a elegirla en esa computadora.

Para instalar tú mismo cada actualización en esa computadora, pon AutoUpdate en 0 (consulta Ajustes administrados). Las copias de seguridad de Maxiful son archivos comprimidos que escribe en la misma computadora, en la carpeta de inicio del propietario, en <name>-shared/backups; cópialas fuera de la computadora con tus propias herramientas de copia de seguridad.

Qué deja en la computadora

<name> es, en lo que sigue, el nombre corto de la instalación.

En Windows

DóndeQué
%LOCALAPPDATA%\MaxifulLa app: Maxiful.exe, gateway-launcher.exe (inicia cada comando de los asistentes en su sandbox) y uninstall.exe.
%LOCALAPPDATA%\ai.maxiful.desktopLos datos de la propia app: sus datos de WebView2, sus registros (logs\Maxiful.log, logs\installer.log) y su registro de la pregunta sobre Defender.
%LOCALAPPDATA%\LanokoNode.js 24.21.0 con el entorno de ejecución OpenClaw instalado, y la caché de npm. La carpeta lleva el nombre anterior de Maxiful.
%USERPROFILE%\.openclaw-<name>La instalación en sí: la configuración del entorno de ejecución, los asistentes, sus espacios de trabajo y su memoria, los secretos de la instalación y el navegador propio de los asistentes.
%USERPROFILE%\.stommeLos registros propios de Maxiful para cada instalación, como sus complementos y las decisiones del propietario.
%USERPROFILE%\.lanoko-sandbox\<name>Una descripción en texto sin formato del límite del sandbox del gateway.
Registro de WindowsHKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\Maxiful (la entrada de aplicaciones instaladas) y HKCU\Software\maxiful\Maxiful (la carpeta de instalación).
Se inicia al iniciar sesiónUna tarea programada para la puerta de enlace, la del propio entorno de ejecución (OpenClaw Gateway (<name>)) o la de Maxiful (ai.openclaw.gateway-<name>), o bien, si Windows rechaza la tarea, OpenClaw Gateway (<name>).vbs en la carpeta Inicio de la persona. Cuando la puerta de enlace la ejecuta la tarea programada del propio entorno de ejecución, Maxiful añade además una tarea programada, Maxiful team keeper (<name>), que revisa el equipo de asistentes cada dos minutos; con el script de la carpeta Inicio no hay ninguna. Cada una inicia la puerta de enlace cuando la persona inicia sesión, con la cuenta de esa persona; ninguna la inicia antes de que alguien inicie sesión. El entorno de ejecución pide a Windows una tarea con inicio de sesión S4U y un desencadenador al iniciar el sistema, que Windows solo registra en una instalación con privilegios elevados, y Maxiful nunca ejecuta esa instalación con privilegios elevados: Windows la rechaza y el entorno de ejecución usa entonces el script de la carpeta Inicio, o conserva tal cual una tarea que registró una versión anterior, que se inicia al iniciar sesión. schtasks /query /tn "OpenClaw Gateway (<name>)" /xml muestra la tarea de una computadora.

Procesos en Windows

ProcesoQué es
Maxiful.exeLa app, firmada (ver más abajo). Su ventana se ejecuta en msedgewebview2.exe de Microsoft.
node.exeDesde %LOCALAPPDATA%\Lanoko\node-v24.21.0: la puerta de enlace de OpenClaw y los comandos del propio entorno de ejecución. Es una compilación propia de Maxiful de Node.js 24.21.0, con una corrección para los entornos aislados de Windows, verificada con un SHA-256 fijado en la app antes de usarse.
gateway-launcher.exeDesde la carpeta de la app: inicia cada comando de un asistente dentro de su entorno aislado.
chrome.exeDesde %USERPROFILE%\.openclaw-<name>\browser\chromium\chrome-win64: el navegador propio de los asistentes, una compilación de Chrome for Testing del servidor de descargas de Playwright, verificada con un SHA-256 fijado. Nunca abre el navegador de la persona.
cmd.exe, wscript.exeInicia la puerta de enlace: gateway.cmd, ejecutado por la tarea programada de la puerta de enlace a través de gateway.vbs en la carpeta de la instalación (una tarea de una versión anterior) o directamente, o bien por OpenClaw Gateway (<name>).vbs desde la carpeta Inicio de la persona.

Los comandos que ejecutan los asistentes (un shell, PowerShell, scripts) se ejecutan como procesos secundarios de la puerta de enlace, de forma predeterminada en el entorno aislado de cada asistente. La puerta de enlace escucha en 127.0.0.1 en un puerto a partir del 18800 (el 18800 para la primera instalación), y Maxiful.exe en otros puertos de loopback; en nuestra computadora de pruebas, nada de Maxiful escuchaba en ninguna otra dirección.

En un Mac

DóndeQué
/Applications/Maxiful.appLa app, una sola copia para todos los usuarios del Mac.
~/Library/Application Support/LanokoNode.js 24.21.0 con el entorno de ejecución de OpenClaw instalado, la caché de npm y la carpeta de trabajo de la puerta de enlace. La carpeta lleva el nombre anterior de Maxiful.
~/.openclaw-<name>La instalación en sí: la configuración del entorno de ejecución, los asistentes, sus espacios de trabajo y su memoria, los secretos de la instalación y el navegador propio de los asistentes.
~/.stommeLos registros propios de Maxiful para cada instalación, como sus complementos y las decisiones del propietario.
~/.lanoko-sandbox/<name>El perfil de entorno aislado de macOS de la puerta de enlace, gateway.sb, con el que se inicia la puerta de enlace.
~/Library/LaunchAgents/ai.openclaw.<name>.plistEl LaunchAgent de la puerta de enlace: inicia la puerta de enlace cuando la persona inicia sesión, con la cuenta de esa persona, y la vuelve a iniciar si se detiene.
~/Library/Logs/ai.maxiful.desktop/desktop.noindexEl registro de la app, Maxiful.log.
~/Library/Logs/Lanoko/gateway.noindexLos registros de la puerta de enlace.
LlaveroLa clave de dispositivo de la puerta de enlace, Maxiful Gateway Device Key, en el llavero de la persona.

Procesos en un Mac

ProcesoQué es
MaxifulLa app, desde /Applications/Maxiful.app, firmada y notarizada (ver Mac: Intune y Jamf Pro).
nodeDesde ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node: la puerta de enlace de OpenClaw y los comandos del propio entorno de ejecución, iniciados por launchd, de forma predeterminada a través de /usr/bin/sandbox-exec con el perfil anterior. Es el Node.js 24.21.0 oficial para macOS de nodejs.org, verificado con un SHA-256 fijado en la app antes de usarse.
Google Chrome for TestingDesde ~/.openclaw-<name>/browser/chromium: el navegador propio de los asistentes, una compilación de Chrome for Testing del servidor de descargas de Playwright, verificada con un SHA-256 fijado. Nunca abre el navegador de la persona.

Los comandos que ejecutan los asistentes son procesos secundarios de la puerta de enlace, de forma predeterminada en el entorno aislado de cada asistente. La puerta de enlace escucha en 127.0.0.1 en un puerto a partir del 18800, igual que en Windows.

Hosts de red que hay que permitir

Todas las conexiones se abren desde la computadora hacia fuera, por HTTPS (el relay también usa WSS). Nada de nuestro lado puede abrir una conexión hacia la computadora.

Para la configuración y el uso diario

HostSe usa para
maxiful.aiEl inicio de sesión, incluidos el inicio y el retorno de un inicio de sesión con una cuenta de trabajo, la cuenta, el canal de actualizaciones, la tienda de complementos y los diagnósticos de configuración.
lanoko.aiLos códigos de configuración, el acceso a modelos durante la configuración, el correo de bienvenida y las membresías de colegas.
proxy.stomme.aiTodas las llamadas a modelos en la nube y las apps conectadas en Más apps de trabajo.
stomme-model-proxy.stomme-ai.workers.devLa lista de modelos.
or-key-worker.stomme-ai.workers.devLa cuota del plan.
mc-cdn.lanoko.ai, mc-cdn.stomme.ai, mc-cdn.maxiful.aiEl índice de complementos y los complementos, la compilación de Node.js de Maxiful para Windows, el modelo local de búsqueda en la memoria y los modelos de voz.
nodejs.orgNode.js, durante la configuración.
registry.npmjs.orgEl entorno de ejecución de OpenClaw, durante la configuración y cuando una actualización incluye un entorno de ejecución más reciente.
cdn.playwright.devEl navegador de los asistentes, durante la configuración.

Solo cuando se usa una función

HostSe usa para
relay.maxiful.aiEl relay (WSS): un teléfono vinculado y los dispositivos de un colega.
relay.lanoko.aiEl mismo relay con su nombre anterior, para instalaciones y teléfonos vinculados antes del 22 de octubre de 2026.
ingress.lanoko.aiPlataformas de chat que entregan mensajes mediante webhook, como Teams y Google Chat.
teamtailor.maxiful.aiLa conexión con Teamtailor.
openrouter.aiLa búsqueda en la memoria, en una computadora que no puede ejecutar el índice de búsqueda local.
github.com, huggingface.coAlternativas para el motor y el modelo locales de búsqueda en la memoria cuando nuestro servidor de descargas no responde. github.com también sirve la herramienta que usa la conexión con Google Workspace.
clawhub.aiEl catálogo de plugins del entorno de ejecución.
connect.composio.dev, backend.composio.devSolo para la tarjeta opcional de Composio en nuestra página de Integraciones.
go.microsoft.comEn Windows, el WebView2 Runtime, solo si falta.
Servicios conectadosCada servicio que conecta una persona (Google, Microsoft 365, Slack y otros), en las direcciones propias de ese servicio.

Cómo lo ven las herramientas de seguridad

En Windows

Firmante. Todos los instaladores que publicamos están firmados con un certificado emitido a PolyTrader Ltd (el sujeto del certificado dice CN=Polytrader LTD), la empresa que publicaba Maxiful antes que Maxiful AB, y también lo está el Maxiful.exe que instalan. Consulta la firma de un archivo con Get-AuthenticodeSignature y compara una descarga con la suma de comprobación de tu página de configuración (Ayuda explica cómo).

Partes sin firmar. El node.exe del entorno de ejecución y el chrome.exe de los asistentes no llevan firma Authenticode; Maxiful verifica cada uno con un SHA-256 fijado antes de usarlo. Para incluirlos en una lista de permitidos, usa la ruta.

Qué incluir en la lista de permitidos: los procesos %LOCALAPPDATA%\Maxiful\Maxiful.exe (firmado) y gateway-launcher.exe, %LOCALAPPDATA%\Lanoko\node-v24.21.0\node.exe y %USERPROFILE%\.openclaw-*\browser\chromium\chrome-win64\chrome.exe; las cuatro carpetas de Defender indicadas arriba; los hosts de red indicados arriba.

En un Mac

Firmante. Maxiful.app está firmada con el Developer ID del equipo 467H9AXX55 y notarizada por Apple, así que Gatekeeper la abre sin excepciones; una lista de permitidos puede identificarla por su requisito de código (en Mac: Intune y Jamf Pro). Consulta su firma con codesign -dvv /Applications/Maxiful.app.

Las partes del entorno de ejecución. El node de la puerta de enlace es el Node.js oficial para macOS y el navegador de los asistentes es Chrome for Testing de Google; Maxiful descarga cada uno y lo verifica con un SHA-256 fijado antes de usarlo. Para incluirlos en una lista de permitidos, usa la ruta.

Qué incluir en la lista de permitidos: /Applications/Maxiful.app (equipo 467H9AXX55), ~/Library/Application Support/Lanoko/node-v24.21.0/bin/node y el navegador en ~/.openclaw-*/browser/chromium; los hosts de red indicados arriba.

En ambos

Comportamiento. Un proceso de Node.js por usuario se inicia al iniciar sesión, hace llamadas HTTPS salientes, ejecuta comandos para los asistentes y copia los archivos de sus plugins en cada inicio, por lo que escribe muchos archivos en la carpeta de la instalación.

CrowdStrike. CrowdStrike publica un paquete de contenido «Search & Removal» de OpenClaw para Falcon for IT. Busca procesos de OpenClaw en ejecución, instalaciones globales de npm, binarios de OpenClaw en rutas habituales, servicios y carpetas de estado y configuración en las carpetas personales. Su flujo de eliminación detiene servicios y procesos, desinstala paquetes de npm, borra carpetas de instalación y configuración, y elimina registros de servicios, tareas programadas y plists de launchd, entre otros. La puerta de enlace de Maxiful es un proceso de OpenClaw en ejecución con su estado en %USERPROFILE%\.openclaw-<name> en Windows y en ~/.openclaw-<name> en un Mac, así que ese paquete puede encontrarla. Si se ejecuta en una computadora con Maxiful, su eliminación podría detener el equipo de asistentes y borrar la configuración y la memoria de los asistentes. Usa su búsqueda para ver dónde se ejecuta Maxiful y no apliques su eliminación en las computadoras donde tu organización usa Maxiful.

Decidir si incluirlos en la lista de permitidos le corresponde a tu equipo de seguridad. Estos procesos ejecutan comandos para los asistentes, de forma predeterminada dentro del entorno aislado de cada asistente, con las aprobaciones que se describen en nuestra página de Seguridad.

Configuración administrada

Maxiful lee la configuración administrada a partir de la versión 0.9.60, en Windows y en Mac; las versiones anteriores no la leen.

Un departamento de TI puede definir de forma centralizada algunos ajustes de Maxiful: con directiva de grupo o Intune en Windows, y con un perfil de configuración de Jamf, Intune u otra herramienta de administración de dispositivos en Mac. Maxiful los lee cada vez que los usa; un cambio en uno de los interruptores del propietario llega a los asistentes la próxima vez que se inicia Maxiful, y sus ajustes lo indican hasta entonces. Un ajuste que definió tu organización aparece como Definido por tu organización en los ajustes de Maxiful y no se puede cambiar ahí, y los ajustes de Maxiful muestran todo lo que definiste al principio de Acceso. Sin ninguna directiva, Maxiful funciona igual que en una computadora que ningún departamento de TI administra.

NombreValorQué hace
WorkspaceTextoMaxiful en la computadora abre solo el espacio de trabajo con este ID. El propietario del espacio de trabajo encuentra el ID en los ajustes de Maxiful, al principio de Acceso, como El ID de este espacio de trabajo. Una persona que no es miembro del espacio de trabajo ve que tu organización lo definió y se une al espacio de trabajo por invitación; su propio espacio de trabajo y cualquier otro no se abren en esa computadora.
AutoUpdate0 o 10: Maxiful no busca, descarga ni instala actualizaciones, sus ajustes indican que tu organización las instala y tú distribuyes cada nuevo instalador (ver Actualizaciones). 1: Maxiful se actualiza solo, como sin directiva.
OwnerSwitches0 o 1, cada unoUno de los interruptores del propietario indicados abajo, por su nombre: 0 desactivado, 1 activado, sin importar lo que eligiera el propietario. Un interruptor que no definas sigue siendo decisión del propietario. Si quitas un valor, vuelve la elección del propietario, o el ajuste propio de Maxiful si el propietario nunca eligió; igual que un valor que defines, llega a los asistentes la próxima vez que se inicia Maxiful.

Los interruptores del propietario

NombreEl interruptor en MaxifulDónde está
terminalAbrir un terminal en esta computadoraAcceso (solo Mac)
private-networkPermitir que los asistentes abran páginas de esta computadora y de mi redAcceso
pane-reachDejar que los paneles de los asistentes ejecuten código y accedan fuera de MaxifulAcceso
claude-code-backgroundDejar que Claude Code mantenga comandos largos en segundo planoAcceso
session-reachLos asistentes pueden revisar todas las conversaciones de esta computadora (para aprender del trabajo anterior)Acceso
model-costsMostrar los costos de los modelos en dólaresAvanzado
next-promptSugerir mi siguiente mensajeAvanzado
checkin-whole-conversationLas revisiones leen toda la conversaciónAvanzado
voice-notesTranscribir notas de vozVoz y audio

Además de un número, Maxiful interpreta los textos 0, 1, true y false como 0 o 1. Un valor que no puede leer, como otro texto donde va 0 o 1, otro tipo de registro (REG_QWORD, REG_EXPAND_SZ, REG_BINARY) o un nombre en OwnerSwitches que no conoce, no se aplica, y los ajustes de Maxiful lo indican en Definido por tu organización. En Windows esto vale para todos los valores de la clave de directiva y su subclave, tanto en HKLM como en HKCU.

En Windows

Maxiful lee HKLM\SOFTWARE\Policies\Maxiful y después HKCU\SOFTWARE\Policies\Maxiful; un valor en HKLM prevalece sobre el mismo valor en HKCU. Workspace es un REG_SZ y AutoUpdate un REG_DWORD; cada interruptor del propietario es un REG_DWORD en la subclave OwnerSwitches, con el nombre que figura en la tabla. Este par ADMX y ADML escribe exactamente estos valores: guárdalos como maxiful.admx y en-US\maxiful.adml en tu almacén de definiciones de directivas, o impórtalos en Intune como plantillas administrativas importadas.

maxiful.admx
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
  <policyNamespaces>
    <target prefix="maxiful" namespace="Maxiful.Policies" />
  </policyNamespaces>
  <resources minRequiredRevision="1.0" />
  <supportedOn>
    <definitions>
      <definition name="SUPPORTED_Maxiful" displayName="$(string.SUPPORTED_Maxiful)" />
    </definitions>
  </supportedOn>
  <categories>
    <category name="Maxiful" displayName="$(string.Maxiful)" />
    <category name="OwnerSwitches" displayName="$(string.OwnerSwitches)">
      <parentCategory ref="Maxiful" />
    </category>
  </categories>
  <policies>
    <policy name="Workspace" class="Both" displayName="$(string.Workspace)" explainText="$(string.Workspace_Explain)" presentation="$(presentation.Workspace)" key="SOFTWARE\Policies\Maxiful">
      <parentCategory ref="Maxiful" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <elements>
        <text id="Workspace" valueName="Workspace" maxLength="128" required="true" />
      </elements>
    </policy>
    <policy name="AutoUpdate" class="Both" displayName="$(string.AutoUpdate)" explainText="$(string.AutoUpdate_Explain)" key="SOFTWARE\Policies\Maxiful" valueName="AutoUpdate">
      <parentCategory ref="Maxiful" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_PrivateNetwork" class="Both" displayName="$(string.OwnerSwitch_PrivateNetwork)" explainText="$(string.OwnerSwitch_PrivateNetwork_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="private-network">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_PaneReach" class="Both" displayName="$(string.OwnerSwitch_PaneReach)" explainText="$(string.OwnerSwitch_PaneReach_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="pane-reach">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_ClaudeCodeBackground" class="Both" displayName="$(string.OwnerSwitch_ClaudeCodeBackground)" explainText="$(string.OwnerSwitch_ClaudeCodeBackground_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="claude-code-background">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_SessionReach" class="Both" displayName="$(string.OwnerSwitch_SessionReach)" explainText="$(string.OwnerSwitch_SessionReach_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="session-reach">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_ModelCosts" class="Both" displayName="$(string.OwnerSwitch_ModelCosts)" explainText="$(string.OwnerSwitch_ModelCosts_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="model-costs">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_NextPrompt" class="Both" displayName="$(string.OwnerSwitch_NextPrompt)" explainText="$(string.OwnerSwitch_NextPrompt_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="next-prompt">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_CheckinWholeConversation" class="Both" displayName="$(string.OwnerSwitch_CheckinWholeConversation)" explainText="$(string.OwnerSwitch_CheckinWholeConversation_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="checkin-whole-conversation">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
    <policy name="OwnerSwitch_VoiceNotes" class="Both" displayName="$(string.OwnerSwitch_VoiceNotes)" explainText="$(string.OwnerSwitch_VoiceNotes_Explain)" key="SOFTWARE\Policies\Maxiful\OwnerSwitches" valueName="voice-notes">
      <parentCategory ref="OwnerSwitches" />
      <supportedOn ref="SUPPORTED_Maxiful" />
      <enabledValue><decimal value="1" /></enabledValue>
      <disabledValue><decimal value="0" /></disabledValue>
    </policy>
  </policies>
</policyDefinitions>
en-US\maxiful.adml
<?xml version="1.0" encoding="utf-8"?>
<policyDefinitionResources xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" revision="1.0" schemaVersion="1.0" xmlns="http://schemas.microsoft.com/GroupPolicy/2006/07/PolicyDefinitions">
  <displayName>Maxiful</displayName>
  <description>The settings an IT department sets for Maxiful.</description>
  <resources>
    <stringTable>
      <string id="Maxiful">Maxiful</string>
      <string id="OwnerSwitches">The owner's switches</string>
      <string id="SUPPORTED_Maxiful">Maxiful for Windows</string>
      <string id="Workspace">Open only this workspace</string>
      <string id="Workspace_Explain">Maxiful on this computer opens only the workspace with this ID. The workspace's owner finds the ID in Maxiful's settings, under Access. A person who is not a member of the workspace is asked to join it by invitation, and no other workspace opens on this computer.</string>
      <string id="AutoUpdate">Let Maxiful update itself</string>
      <string id="AutoUpdate_Explain">Disabled: Maxiful does not look for, download or install updates, and you install each new version yourself. Enabled or not configured: Maxiful updates itself.</string>
      <string id="OwnerSwitch_PrivateNetwork">Let assistants open pages on this computer and my network</string>
      <string id="OwnerSwitch_PrivateNetwork_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_PaneReach">Let assistants' panes run code and reach outside Maxiful</string>
      <string id="OwnerSwitch_PaneReach_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_ClaudeCodeBackground">Let Claude Code keep long commands running in the background</string>
      <string id="OwnerSwitch_ClaudeCodeBackground_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_SessionReach">Assistants can look through all conversations on this computer (so they learn from past work)</string>
      <string id="OwnerSwitch_SessionReach_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Access.</string>
      <string id="OwnerSwitch_ModelCosts">Show model costs in dollars</string>
      <string id="OwnerSwitch_ModelCosts_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
      <string id="OwnerSwitch_NextPrompt">Suggest my next message</string>
      <string id="OwnerSwitch_NextPrompt_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
      <string id="OwnerSwitch_CheckinWholeConversation">Check-ins read the whole conversation</string>
      <string id="OwnerSwitch_CheckinWholeConversation_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Advanced.</string>
      <string id="OwnerSwitch_VoiceNotes">Transcribe voice notes</string>
      <string id="OwnerSwitch_VoiceNotes_Explain">Enabled: on. Disabled: off. Not configured: the owner decides, in Maxiful's settings under Voice and audio.</string>
    </stringTable>
    <presentationTable>
      <presentation id="Workspace">
        <textBox refId="Workspace">
          <label>Workspace ID</label>
        </textBox>
      </presentation>
    </presentationTable>
  </resources>
</policyDefinitionResources>

En un Mac

Maxiful lee las preferencias administradas de su propio dominio, ai.maxiful.desktop, que un perfil de configuración instala como ajustes forzados (la carga útil de preferencias administradas de Apple, com.apple.ManagedClient.preferences). Solo cuenta un valor que defina el perfil: uno escrito de otra forma, por ejemplo con defaults write, no se lee. Workspace es una cadena, AutoUpdate un entero (o un booleano) y OwnerSwitches un diccionario con los nombres de la tabla. Este perfil de ejemplo limita la computadora a un espacio de trabajo, deja las actualizaciones en tus manos, desactiva los interruptores del terminal y de la red privada, y muestra los costos de los modelos; sustituye el ID del espacio de trabajo, y los identificadores y UUID, por los tuyos.

maxiful.mobileconfig
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PayloadType</key><string>Configuration</string>
  <key>PayloadVersion</key><integer>1</integer>
  <key>PayloadIdentifier</key><string>com.example.maxiful</string>
  <key>PayloadUUID</key><string>00000000-0000-0000-0000-000000000001</string>
  <key>PayloadDisplayName</key><string>Maxiful</string>
  <key>PayloadScope</key><string>System</string>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadType</key><string>com.apple.ManagedClient.preferences</string>
      <key>PayloadVersion</key><integer>1</integer>
      <key>PayloadIdentifier</key><string>com.example.maxiful.settings</string>
      <key>PayloadUUID</key><string>00000000-0000-0000-0000-000000000002</string>
      <key>PayloadDisplayName</key><string>Maxiful settings</string>
      <key>PayloadContent</key>
      <dict>
        <key>ai.maxiful.desktop</key>
        <dict>
          <key>Forced</key>
          <array>
            <dict>
              <key>mcx_preference_settings</key>
              <dict>
                <key>Workspace</key><string>YOUR-WORKSPACE-ID</string>
                <key>AutoUpdate</key><integer>0</integer>
                <key>OwnerSwitches</key>
                <dict>
                  <key>terminal</key><false/>
                  <key>private-network</key><false/>
                  <key>model-costs</key><true/>
                </dict>
              </dict>
            </dict>
          </array>
        </dict>
      </dict>
    </dict>
  </array>
</dict>
</plist>

Actualizaciones

Maxiful busca una nueva versión en maxiful.ai al iniciarse y cada seis horas. La persona elige Actualizar y reiniciar o Más tarde. Una nueva versión de Maxiful puede incluir un entorno de ejecución de OpenClaw más reciente; en ese caso, Maxiful actualiza el entorno de ejecución para esa persona con npm, desde registry.npmjs.org.

Para instalar tú cada nueva versión y que Maxiful no busque ninguna, en Windows o en Mac, define AutoUpdate en 0 (ver Configuración administrada): Maxiful indicará entonces que tu organización instala sus actualizaciones.

En Windows

Una nueva versión es un instalador firmado, verificado con una clave integrada en la app antes de ejecutarse, y la actualización ejecuta el instalador en modo pasivo. También puedes distribuir tú cada nuevo instalador con /S, como se indica arriba.

En un Mac

Una nueva versión es un archivo firmado de la app, verificado con una clave integrada en la app antes de usarse, y reemplaza la app en su sitio cuando la cuenta de la persona puede modificar esa copia.

Una copia que la persona no puede modificar. Cuando /Applications/Maxiful.app pertenece al sistema (su propietario es root) y la cuenta de la persona no puede modificarla, Maxiful no la actualiza por sí mismo: no descarga nada, nunca pide la contraseña de un administrador, no ofrece Actualizar y reiniciar e indica, donde muestra las actualizaciones, que hay una versión más reciente disponible y que tu organización instala las actualizaciones de este Mac. Distribuye cada nueva versión con tu MDM: en Intune, sube su imagen de disco a la misma app; en Jamf Pro, crea su paquete con Composer e impleméntalo como se indica arriba. Una copia que la cuenta de un administrador puede modificar se actualiza sola para esa cuenta, como en cualquier Mac.

Quitar Maxiful

Todo, desde la propia persona: en los ajustes de Maxiful, Quitar Maxiful de este equipo. Detiene el proceso en segundo plano y lo que lo inicia al iniciar sesión (sus tareas programadas en Windows, su LaunchAgent en un Mac), elimina los datos y las credenciales de la instalación y quita el entorno de ejecución de Node.js que instaló, salvo que otra instalación de la computadora aún lo use. En Windows, después inicia el desinstalador cuando Maxiful se cierra; en un Mac, mueve la app a la Papelera si la cuenta de la persona tiene permiso. Los documentos de la persona no se tocan.

En Windows

Todo, en modo silencioso: %LOCALAPPDATA%\Maxiful\uninstall.exe /S /REMOVEALL ejecuta Quitar Maxiful de este equipo para la persona a la que pertenece la instalación, sin nadie frente a la pantalla, y después quita la app. No se puede deshacer. Lo que eliminó, y lo que no pudo eliminar, queda en removal-report.json, en %LOCALAPPDATA%\ai.maxiful.desktop\logs.

Sin /REMOVEALL: %LOCALAPPDATA%\Maxiful\uninstall.exe /S, que es lo que ejecuta la receta de Intune anterior, quita la app, sus accesos directos, la tarea que mantiene el equipo y las exclusiones de Defender que añadió Maxiful (Windows puede volver a mostrar su aviso para estas). También detiene el proceso en segundo plano de los asistentes y quita lo que lo inicia al iniciar sesión, pero conserva el entorno de ejecución y los datos de la instalación. installer.log, junto a los demás registros de la app, indica si quedó algo en ejecución.

En un Mac

Primero, ejecuta Quitar Maxiful de este equipo para cada persona: si solo quitas la app, la puerta de enlace en segundo plano de esa persona sigue en ejecución con todo lo que contiene. Después, quita /Applications/Maxiful.app con tu MDM, por ejemplo con una asignación Uninstall de Intune.