Cuando mi compañero de trabajo empezó a usar mi instancia de OpenClaw, descubrí que el multiusuario no era solo una casilla de configuración. Era un rediseño de cómo el agente piensa sobre el contexto, los permisos y la privacidad.
El momento en que me di cuenta de esto: mi compañero le pidió al agente que verificara “el proyecto”, y el agente mostró mi proyecto personal — no el proyecto del equipo al que se refería. El agente tenía un contexto, una memoria y ningún concepto de que diferentes usuarios podrían tener distintos proyectos con el mismo nombre.
Configurar el multiusuario adecuadamente me tomó tres intentos. Esto es lo que aprendí.
Intento 1: Compartir Todo
Mi primer enfoque: ambos usamos el mismo agente con la misma configuración. Configuración fácil. Terrible en la práctica.
Problemas:
– El agente confundió nuestros contextos (“Mencionaste querer pizza para la cena” — eso fue mi compañero, no yo)
– Los permisos eran idénticos (mi compañero podía ver mis automatizaciones personales y viceversa)
– La memoria era compartida (cualquier cosa que una persona le dijera al agente, la otra persona podía acceder)
– Las tareas programadas se ejecutaban para ambos sin importar la relevancia
Esto funciona si no tienes requisitos de privacidad y los casos de uso son idénticos. En la práctica, nadie tiene requisitos de privacidad nulos.
Intento 2: Instancias Separadas
Mi segundo enfoque: cada usuario tiene su propia instancia de OpenClaw corriendo en el mismo servidor. Aislamiento completo. Sin contexto compartido.
Problemas:
– Duplicación en el uso de recursos (dos procesos, dos conjuntos de memoria)
– Sin conocimiento compartido (teníamos que informar a ambos agentes sobre los procesos del equipo por separado)
– Configuración duplicada (cualquier cambio tenía que hacerse dos veces)
– Habilidades instaladas dos veces, actualizadas dos veces, mantenidas dos veces
Esto funciona si los usuarios son completamente independientes. Pero compartimos un equipo, trabajamos en los mismos proyectos y necesitamos algún nivel de contexto compartido.
Intento 3: Lo Que Realmente Funciona
La solución: una instancia con sesiones orientadas al usuario y memoria compartida pero separada.
Sesiones de usuario. Cada usuario tiene su propia sesión con su propio historial de conversación y contexto. Cuando le envío un mensaje al agente, carga mi contexto. Cuando mi compañero le envía un mensaje, carga su contexto. Sin contaminación cruzada.
Memoria con alcance. Tres alcances de memoria:
– Alcance personal: solo visible para el usuario propietario (preferencias, proyectos personales, notas privadas)
– Alcance del equipo: visible para todos (procesos del equipo, detalles de proyectos compartidos, decisiones grupales)
– Alcance global: información del sistema (direcciones del servidor, configuraciones de herramientas)
Cuando le cuento al agente sobre mi proyecto personal, se va a mi alcance personal. Cuando le cuento sobre el proceso de despliegue del equipo, se va al alcance del equipo.
Permisos basados en roles. Soy el administrador — puedo configurar el sistema, gestionar habilidades y acceder a todos los alcances. Mi compañero es un usuario estándar — puede usar el agente y gestionar su propio alcance personal, pero no puede cambiar la configuración del sistema.
Configurándolo
Paso 1: Configurar la autenticación del usuario. Cada plataforma de mensajería tiene su propia identificación de usuario. Discord usa IDs de usuario, Slack usa IDs de miembros, Telegram usa IDs de usuario. OpenClaw los mapea a identidades internas de usuario.
Paso 2: Configurar el aislamiento de sesiones. Configura OpenClaw para mantener sesiones separadas por usuario. Cada sesión tiene su propio historial de conversación y ventana de contexto.
Paso 3: Configurar los alcances de memoria. Define qué alcances existen (personal, equipo, global) y el alcance predeterminado para nuevas memorias. Yo predetermino el alcance personal — todo es privado a menos que se comparta explícitamente.
Paso 4: Establecer permisos. Define lo que cada rol de usuario puede hacer. Usuarios estándar: interactuar con el agente, gestionar la memoria personal, usar habilidades aprobadas. Administradores: todo lo anterior más la configuración del sistema y acceso a todos los alcances.
Las Trampas
Tareas programadas compartidas. Una tarea programada que publica un informe matutino: ¿debería ejecutarse para cada usuario o una vez para todos? La respuesta depende del trabajo. Los informes matutinos son personales (calendarios diferentes, prioridades diferentes). Las verificaciones de salud del servidor son compartidas (mismos servidores para todos). Configura cada trabajo con el alcance apropiado.
Permisos de habilidades. Algunas habilidades son apropiadas para todos (búsqueda en la web, resumir). Algunas son solo para administradores (gestión de servidores, configuración del sistema). Revisa las capacidades de cada habilidad y asígnala al nivel de permiso adecuado.
Conflictos de memoria. Dos usuarios pueden guardar información contradictoria en el alcance del equipo. “Usamos PostgreSQL” y “Estamos migrando a MySQL.” El agente no reconcilia esto automáticamente — almacena ambos y podría mostrar cualquiera de los dos. Una revisión regular de la memoria atrapa estos conflictos antes de que causen confusión.
Atribución de costos. Con múltiples usuarios compartiendo una clave API, el seguimiento individual de costos se vuelve importante. Sin ello, el uso intensivo de un usuario se subsidia con el presupuesto de los demás. Agregué el seguimiento de costos por usuario a mi panel de monitoreo.
Consideraciones de Escala
Esta configuración funciona bien para 2-5 usuarios. A esa escala, la gestión manual de memoria es práctica, la configuración de permisos es manejable y una única instancia de OpenClaw soporta la carga.
Para equipos más grandes (10+ usuarios), querrás: gestión automática de alcances de memoria (en lugar de manual), control de acceso basado en roles más granular, balanceo de carga entre múltiples instancias y un panel administrativo adecuado para la gestión de usuarios.
No he necesitado escalar más allá de 5 usuarios, así que no puedo hablar de los detalles de implementaciones más grandes. Pero la arquitectura central (sesiones aisladas, memoria con alcance, permisos basados en roles) debería escalar si la infraestructura lo hace.
🕒 Published: