{
  "title": "EQUIPITELLO",
  "subtitle": "Acceso móvil vía Tailscale",
  "apps": [
    {
      "id": "bridge-hub",
      "name": "Bridge Hub",
      "subtitle": "Panel 3D · comandos · apps",
      "category": "Dev",
      "color": "#22d3ee",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/hub",
      "healthPath": "/health",
      "order": 0.5
    },
    {
      "id": "chat-mirror",
      "name": "Chat Mirror",
      "subtitle": "Cursor · Bridge · VS Code",
      "category": "Dev",
      "color": "#a78bfa",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/mirror",
      "healthPath": "/health",
      "order": 0.6
    },
    {
      "id": "codex-suite",
      "name": "Codex Suite",
      "subtitle": "Codex App Server · threads · herramientas",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#176b4d",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/codex-suite",
      "healthPath": "/codex-suite",
      "tray": "CursorBridgeTray",
      "order": 0.7
    },
    {
      "id": "alimpiezas",
      "name": "ALimpiezas",
      "subtitle": "FacturaScripts · facturación",
      "category": "Negocio",
      "color": "#22c55e",
      "icon": "/static/apps/icons/alimpiezas.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 80,
      "path": "/ALimpiezas",
      "healthPath": "/ALimpiezas",
      "tray": "ALimpiezasTray",
      "order": 1
    },
    {
      "id": "alimpiezas-ai",
      "name": "ALimpiezas IA",
      "subtitle": "OCR · voz · intenciones",
      "parentAppId": "alimpiezas",
      "category": "Negocio",
      "color": "#16a34a",
      "icon": "/static/apps/icons/alimpiezas-ai.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8090,
      "path": "/docs",
      "healthPath": "/health",
      "tray": "ALimpiezasTray",
      "order": 2
    },
    {
      "id": "royalbroker",
      "name": "Royal Broker",
      "subtitle": "Trading · backtest",
      "category": "Trading",
      "color": "#eab308",
      "icon": "/static/apps/icons/royalbroker.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8086,
      "path": "/",
      "healthPath": "/",
      "tray": "RoyalBrokerTray",
      "order": 3
    },
    {
      "id": "captajaus",
      "name": "CaptaJaus",
      "subtitle": "Scraper inmobiliario",
      "category": "Negocio",
      "color": "#3b82f6",
      "icon": "/static/apps/icons/captajaus.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 3000,
      "path": "/dashboard",
      "healthPath": "/",
      "tray": "CaptaJausTray",
      "order": 4
    },
    {
      "id": "captajaus-ai",
      "name": "CaptaJaus IA",
      "subtitle": "Usuario · misiones y chat",
      "parentAppId": "captajaus",
      "category": "Negocio",
      "color": "#1d4ed8",
      "icon": "/static/apps/icons/captajaus.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 3000,
      "path": "/dashboard/ai",
      "healthPath": "/",
      "tray": "CaptaJausTray",
      "order": 4.3
    },
    {
      "id": "captajaus-ai-admin",
      "name": "CaptaJaus IA",
      "subtitle": "Misiones · learn · ingest RAG",
      "parentAppId": "captajaus",
      "category": "Negocio",
      "color": "#2563eb",
      "icon": "/static/apps/icons/captajaus.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 3000,
      "path": "/dashboard/ai-admin",
      "healthPath": "/",
      "tray": "CaptaJausTray",
      "order": 5
    },
    {
      "id": "chatbot-ia",
      "name": "Chatbot IA",
      "subtitle": "Asistente WhatsApp · supervisor",
      "category": "Negocio",
      "color": "#0d9488",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 80,
      "path": "/chatbot/chatbot-unified/panel/ai_assistant.php",
      "healthPath": "/chatbot/chatbot-unified/panel/dashboard.php",
      "order": 5.2
    },
    {
      "id": "chatbot-panel",
      "name": "Chatbot Panel",
      "subtitle": "Dashboard campañas WA",
      "parentAppId": "chatbot-ia",
      "category": "Negocio",
      "color": "#14b8a6",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 80,
      "path": "/chatbot/chatbot-unified/panel/dashboard.php",
      "healthPath": "/chatbot/chatbot-unified/panel/dashboard.php",
      "order": 5.3
    },
    {
      "id": "panel-bots-royalbroker",
      "name": "Panel Bots RB",
      "subtitle": "Licencias NT8 · prod",
      "category": "Trading",
      "color": "#ca8a04",
      "icon": "/static/apps/icons/royalbroker.svg",
      "scheme": "https",
      "host": "panel-bots.royalbroker.es",
      "port": 443,
      "path": "/",
      "healthPath": "/",
      "order": 3.5
    },
    {
      "id": "crm-royalbroker",
      "name": "CRM Royal Broker",
      "subtitle": "SuiteCRM · prod",
      "category": "Negocio",
      "color": "#b45309",
      "icon": "/static/apps/icons/royalbroker.svg",
      "scheme": "https",
      "host": "crm.royalbroker.es",
      "port": 443,
      "path": "/",
      "healthPath": "/",
      "order": 3.6
    },
    {
      "id": "alimpiezas-agent",
      "name": "ALimpiezas Agente",
      "subtitle": "Misiones supervisor · RAG",
      "parentAppId": "alimpiezas",
      "category": "Negocio",
      "color": "#15803d",
      "icon": "/static/apps/icons/alimpiezas-ai.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 80,
      "path": "/ALimpiezas/MobileAiAgent",
      "healthPath": "/ALimpiezas",
      "tray": "ALimpiezasTray",
      "order": 2.5
    },
    {
      "id": "xzonas",
      "name": "xzonasvalencia (lab)",
      "subtitle": "Portal local :9080 — no produccion",
      "category": "Web",
      "color": "#a855f7",
      "icon": "/static/apps/icons/xzonas.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 9080,
      "path": "/",
      "healthPath": "/",
      "order": 5
    },
    {
      "id": "xzonas-lab-hacs",
      "name": "HACS Console",
      "subtitle": "Approval Inbox · chat objetivo",
      "parentAppId": "xzonas",
      "category": "Web",
      "color": "#f59e0b",
      "icon": "/static/apps/icons/lab.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 9080,
      "path": "/ops/lab-ia-portal/xz-lab-console-9k2m/",
      "healthPath": "/ops/lab-ia-portal/xz-lab-console-9k2m/api/dashboard.php",
      "order": 6.5
    },
    {
      "id": "xzonas-lab-portal",
      "name": "xzonas Lab IA",
      "subtitle": "Login consola · HACS · deploy",
      "parentAppId": "xzonas",
      "category": "Web",
      "color": "#9333ea",
      "icon": "/static/apps/icons/lab.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 9080,
      "path": "/ops/lab-ia-portal/xz-lab-console-9k2m/login.php",
      "healthPath": "/ops/lab-ia-portal/xz-lab-console-9k2m/login.php",
      "order": 7
    },
    {
      "id": "bridge-xzonassite",
      "name": "Bridge xzonas",
      "subtitle": "Agente · propose + continue",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#7c3aed",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=xzonassite&propose=1&continue=1",
      "healthPath": "/health",
      "order": 10.1
    },
    {
      "id": "bridge-captajaus",
      "name": "Bridge CaptaJaus",
      "subtitle": "Agente · autosend misiones",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#2563eb",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=captajaus&propose=1&continue=1&autosend=1",
      "healthPath": "/health",
      "order": 10.2
    },
    {
      "id": "bridge-alimpiezas",
      "name": "Bridge ALimpiezas",
      "subtitle": "Agente · OCR y facturación",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#16a34a",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=alimpiezas&propose=1&continue=1",
      "healthPath": "/health",
      "order": 10.3
    },
    {
      "id": "bridge-chatbot",
      "name": "Bridge Chatbot",
      "subtitle": "Agente WhatsApp",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#0d9488",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=chatbot&propose=1&continue=1",
      "healthPath": "/health",
      "order": 10.4
    },
    {
      "id": "bridge-panel-bots",
      "name": "Bridge Panel Bots",
      "subtitle": "Agente trading NT8",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#ca8a04",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=panel-bots-royalbroker&propose=1&continue=1",
      "healthPath": "/health",
      "order": 10.5
    },
    {
      "id": "bridge-crm",
      "name": "Bridge CRM",
      "subtitle": "Agente SuiteCRM",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#b45309",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=crm-royalbroker&propose=1&continue=1",
      "healthPath": "/health",
      "order": 10.6
    },
    {
      "id": "cursor-bridge",
      "name": "Cursor Bridge",
      "subtitle": "Agente móvil Cursor",
      "category": "Dev",
      "color": "#6366f1",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/",
      "healthPath": "/health",
      "tray": "CursorBridgeTray",
      "order": 10
    },
    {
      "id": "jobsworld",
      "name": "JobsWorld",
      "subtitle": "Ofertas · CV IA · Apply Hub",
      "category": "Dev",
      "color": "#3ecf8e",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8010,
      "path": "/",
      "healthPath": "/api/health",
      "mobileShell": true,
      "order": 10.05
    },
    {
      "id": "bridge-jobsworld",
      "name": "Bridge JobsWorld",
      "subtitle": "Agente Cursor · proyecto JobsWorld",
      "parentAppId": "jobsworld",
      "category": "Dev",
      "color": "#1f8f5f",
      "icon": "/static/apps/icons/bridge.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/?project=JobsWorld&propose=1&continue=1",
      "healthPath": "/health",
      "order": 10.06
    },
    {
      "id": "mock-mission-control",
      "name": "Mission Control",
      "subtitle": "UI F5 vía Bridge → proxy supervisor",
      "parentAppId": "cursor-bridge",
      "category": "IA Servidor",
      "color": "#4f46e5",
      "icon": "/static/apps/icons/mission-control.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/mock/",
      "supervisorAuth": true,
      "healthPath": "/health",
      "order": 11
    },
    {
      "id": "equipitello-ide-local",
      "name": "Equipitello IDE",
      "subtitle": "Puter IDE · pre-flight · Serena-lite",
      "parentAppId": "cursor-bridge",
      "category": "Dev",
      "color": "#a855f7",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 4180,
      "path": "/",
      "healthPath": "/api/health",
      "mobileShell": true,
      "order": 11.1
    },
    {
      "id": "supervisor-mc-premium",
      "name": "MC Premium",
      "subtitle": "Diagnóstico 1-clic · Council · Inbox",
      "parentAppId": "ia-multiagent",
      "category": "IA Servidor",
      "color": "#f59e0b",
      "icon": "/static/apps/icons/mission-control.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 8787,
      "path": "/mc",
      "supervisorAuth": true,
      "mobileShell": true,
      "healthPath": "/health",
      "order": 18.5
    },
    {
      "id": "equipitello-ide-server",
      "name": "Equipitello IDE (.16)",
      "subtitle": "Agente server-side · RAG · export md",
      "parentAppId": "ia-multiagent",
      "category": "IA Servidor",
      "color": "#c084fc",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 4180,
      "path": "/",
      "mobileShell": true,
      "healthPath": "/api/health",
      "order": 18.6
    },
    {
      "id": "equipitello-tools",
      "name": "EQUIPITELLO Tools",
      "subtitle": "PM2 · bandejas · OCR · scripts locales",
      "parentAppId": "cursor-bridge",
      "category": "Sistema",
      "color": "#f97316",
      "icon": "/static/apps/icons/manager.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/equipitello-tools",
      "healthPath": "/health",
      "tray": "CursorBridgeTray",
      "order": 11.5
    },
    {
      "id": "mcp-lab",
      "name": "MCP Lab",
      "subtitle": "Serena remota · mcp.so · migración",
      "parentAppId": "cursor-bridge",
      "category": "Sistema",
      "color": "#8b5cf6",
      "icon": "/static/apps/icons/mission-control.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/mcp-lab",
      "healthPath": "/health",
      "tray": "CursorBridgeTray",
      "order": 11.6
    },
    {
      "id": "ia-ops-center",
      "name": "IA Ops Center",
      "subtitle": "Scripts · RAG · verify · deploy",
      "category": "IA Servidor",
      "color": "#14b8a6",
      "icon": "/static/apps/icons/multiagent.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/ops",
      "healthPath": "/ops",
      "tray": "CursorBridgeTray",
      "order": 13
    },
    {
      "id": "docker-equipitello",
      "name": "Docker (inventario)",
      "subtitle": "Documentación pre-borrado local",
      "category": "Sistema",
      "color": "#0ea5e9",
      "icon": "/static/apps/icons/manager.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/apps/docs?app=docker-equipitello",
      "healthPath": "/health",
      "tray": "CursorBridgeTray",
      "order": 14
    },
    {
      "id": "system-manager",
      "name": "System Manager",
      "subtitle": "PC · servicios · seguridad",
      "category": "Sistema",
      "color": "#64748b",
      "icon": "/static/apps/icons/manager.svg",
      "scheme": "http",
      "host": "127.0.0.1",
      "port": 8095,
      "path": "/manager",
      "healthPath": "/health",
      "tray": "CursorBridgeTray",
      "order": 12
    },
    {
      "id": "ia-mission-control",
      "name": "Mission Control",
      "subtitle": "Project OS · RAG · onboard",
      "category": "IA Servidor",
      "color": "#6366f1",
      "icon": "/static/apps/icons/mission-control.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 8090,
      "path": "/",
      "supervisorAuth": true,
      "healthPath": "/health",
      "order": 19
    },
    {
      "id": "ia-lab-portal",
      "name": "IA Lab Portal",
      "subtitle": "Panel servidor IA",
      "category": "IA Servidor",
      "color": "#0ea5e9",
      "icon": "/static/apps/icons/lab.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 8088,
      "path": "/",
      "healthPath": "/",
      "order": 20
    },
    {
      "id": "supervisor-dashboard",
      "name": "Supervisor UI",
      "subtitle": "Dashboard HTML · token",
      "parentAppId": "ia-multiagent",
      "category": "IA Servidor",
      "color": "#7c3aed",
      "icon": "/static/apps/icons/multiagent.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 8787,
      "path": "/",
      "supervisorAuth": true,
      "healthPath": "/health",
      "order": 21.2
    },
    {
      "id": "ia-multiagent",
      "name": "Multiagent API",
      "subtitle": "Supervisor · RAG · agentes",
      "category": "IA Servidor",
      "color": "#8b5cf6",
      "icon": "/static/apps/icons/multiagent.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 8787,
      "path": "/health",
      "healthPath": "/health",
      "order": 21
    },
    {
      "id": "ia-open-webui",
      "name": "Open WebUI",
      "subtitle": "Chat Ollama remoto",
      "category": "IA Servidor",
      "color": "#10b981",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 3002,
      "labProxy": true,
      "labProxyPath": "/chat/",
      "mobileShell": true,
      "path": "/",
      "healthPath": "/",
      "order": 22
    },
    {
      "id": "ia-portainer",
      "name": "Portainer IA",
      "subtitle": "Docker servidor",
      "category": "IA Servidor",
      "color": "#06b6d4",
      "icon": "/static/apps/icons/portainer.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 9002,
      "labProxy": true,
      "labProxyPath": "/portainer/",
      "mobileShell": true,
      "path": "/",
      "healthPath": "/",
      "order": 23
    },
    {
      "id": "ia-dozzle",
      "name": "Dozzle",
      "subtitle": "Logs contenedores IA",
      "category": "IA Servidor",
      "color": "#f59e0b",
      "icon": "/static/apps/icons/dozzle.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 9999,
      "labProxy": true,
      "labProxyPath": "/logs/",
      "mobileShell": true,
      "path": "/",
      "healthPath": "/",
      "order": 24
    },
    {
      "id": "ia-n8n",
      "name": "n8n",
      "subtitle": "Automatizaciones IA",
      "category": "IA Servidor",
      "color": "#ef4444",
      "icon": "/static/apps/icons/n8n.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 5678,
      "labProxy": true,
      "labProxyPath": "/n8n/",
      "mobileShell": true,
      "path": "/",
      "healthPath": "/",
      "order": 25
    },
    {
      "id": "ia-qdrant-mobile",
      "name": "Qdrant móvil",
      "subtitle": "Colecciones RAG · vista iPhone",
      "category": "IA Servidor",
      "color": "#b91c1c",
      "icon": "/static/apps/icons/qdrant.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 8088,
      "mobileNativePath": "/mobile/qdrant.html",
      "healthPath": "/qdrant/collections",
      "order": 25
    },
    {
      "id": "ia-qdrant",
      "name": "Qdrant",
      "subtitle": "Dashboard vectores (shell móvil)",
      "category": "IA Servidor",
      "color": "#dc2626",
      "icon": "/static/apps/icons/qdrant.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 6333,
      "labProxy": true,
      "labProxyPath": "/qdrant/dashboard",
      "mobileShell": true,
      "path": "/dashboard",
      "healthPath": "/collections",
      "order": 26
    },
    {
      "id": "ia-grafana",
      "name": "Grafana",
      "subtitle": "Métricas · profile observability",
      "category": "IA Servidor",
      "color": "#f97316",
      "icon": "/static/apps/icons/grafana.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 3001,
      "labProxy": true,
      "labProxyPath": "/grafana/",
      "mobileShell": true,
      "path": "/",
      "healthPath": "/",
      "order": 27
    },
    {
      "id": "ia-meilisearch",
      "name": "Meilisearch",
      "subtitle": "Búsqueda full-text",
      "category": "IA Servidor",
      "color": "#0ea5e9",
      "icon": "/static/apps/icons/lab.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 7700,
      "labProxy": true,
      "labProxyPath": "/meili/",
      "mobileShell": true,
      "path": "/",
      "healthPath": "/health",
      "order": 28
    },
    {
      "id": "ia-baileys",
      "name": "WhatsApp Baileys",
      "subtitle": "Bridge WA · webhook supervisor",
      "category": "IA Servidor",
      "color": "#22c55e",
      "icon": "/static/apps/icons/webui.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 3030,
      "path": "/",
      "healthPath": "/health",
      "order": 29
    },
    {
      "id": "ia-ollama",
      "name": "Ollama API",
      "subtitle": "Modelos locales IA",
      "category": "IA Servidor",
      "color": "#334155",
      "icon": "/static/apps/icons/ollama.svg",
      "scheme": "http",
      "target": "remote-ai",
      "useMagicDns": true,
      "port": 11434,
      "path": "/",
      "healthPath": "/api/tags",
      "order": 30
    }
  ]
}
