Dos sesiones, un encargo
Un residente consulta a visual y recibe su informe.
En esta página
Dos instancias de Comal pueden pedirse capacidades. Cada una conserva sus permisos, conversación y recibos; los mensajes no transfieren la autoridad del usuario.
1. Abre visual
Desde la raíz de Comal, con COMAL_OLLAMA_KEY configurada para el perfil de ejemplo:
node bin/comal.mjs --providers-config examples/comal-providers.json --profile vision --name visual
El perfil usa MiniMax M3 a través de Ollama. La clave de Ollama y una suscripción directa de MiniMax son accesos distintos. También puedes crear otro perfil visual compatible.
2. Abre el residente
En otra terminal, con un login Codex ya completado:
node bin/comal.mjs --providers-config examples/comal-providers.json --profile codex --name residente
También puede usar el residente local. Mantén ambas instancias abiertas. La TUI escucha mensajes por defecto; en modo headless usa -p --listen.
3. Pide el encargo
Pídele a la sesión visual que analice screenshot.jpg de este workspace usando su capacidad vision. Pregúntale qué aparece y qué detalles importantes observa. Cuando llegue su informe, incorpóralo a tu respuesta.
El archivo debe existir dentro del workspace del receptor. No se adjuntan archivos ni se copian automáticamente entre workspaces: viaja texto y una capacidad requerida.
Qué ocurre debajo
ListAgents descubre otras sesiones vivas. SendMessage envía a un ID o nombre inequívoco; una sesión ocupada puede aceptar correo para el siguiente límite seguro. Un autoenvío es un error de identidad, no un rechazo por estar ocupada.
La casa prepara capacidades solicitadas y el pack de inspección de lectura. Una respuesta mantiene el request_id original como reply_to. El host devuelve el informe acotado de un turno iniciado por peer, bajo el mismo juez. Entregado no equivale a ejecutado.
Controles útiles
/list-agents
/send visual Describe screenshot.jpg
/inbox
/inbox hold
/inbox release all
/inbox accept
hold conserva mensajes sin iniciar trabajo; refuse rechaza entrada. Para consumir los recibidos durante hold, libera los retenidos con /inbox release all y vuelve a aceptar con /inbox accept. Cambiar a accept por sí solo no libera los anteriores; release por sí solo no cambia el modo hold. Usa IDs si un nombre es ambiguo. Los mensajes son locales entre procesos del mismo usuario; no es un relay entre máquinas ni se conecta al socket privado de Claude.
Comprueba el cierre
Busca el informe recibido y su procedencia en el residente. Un análisis de MiniMax incorporado por Codex sigue siendo un reporte del proveedor, no una verificación visual independiente del residente.
Marca tu lectura para seguir el recorrido.
Ver esta página como Markdown
Fuente editable de esta guía: sesiones.md. Las páginas de referencia se regeneran desde el inventario auditado.