Introduce tu contraseña para acceder
Crea una conversación para empezar. El agente trabaja dentro de este contenedor: puede leer y escribir archivos, ejecutar comandos y usar herramientas.
Terminal real del contenedor (bash como root).
Aquí también puedes usar el CLI claude directamente.
Tus sesiones de claude.ai/code. Puedes
engancharte en vivo (lo que escribas va a esa sesión y su respuesta
vuelve aquí) o traértela para seguirla con el motor de este contenedor.
Cada sesión pertenece a la suscripción que la creó, así que con varias cuentas
elige arriba con cuál miras: lo que hagas aquí queda atado a esa.
Selecciona un repositorio para ver su estado completo: cambios, ramas, commits y pull requests — con commit, push, pull, merge y merge de PRs desde aquí.
Conecta tu vault. Recomendado: instala el plugin comunitario Git (obsidian-git) en tu Obsidian y sincroniza el vault con un repo de GitHub; este panel lo clona y hace pull/commit/push contra el mismo repo. Alternativa: una carpeta local del servidor (sin sincronización).
Elige una nota del árbol, crea una nueva (+) o abre la de hoy (📅).
Prompts programados que se ejecutan solos con el agente (Claude o Codex). Cada ejecución aparece como conversación en el grupo «Rutinas» del chat, en tiempo real.
Se clonan o actualizan antes de cada ejecución y quedan asociados a la conversación, igual que al abrir un chat desde un repo.
Lo que OpenRouter guarda es el desglose por día, modelo y proveedor de los últimos 30 días cerrados — no la lista petición a petición de su web.
Una vez al día el panel pregunta a los registros (npm, Google y xAI) cuál es la última versión de cada CLI y compara los catálogos de modelos con la foto del día anterior. No instala nada por su cuenta: si hay algo nuevo lo dice aquí, en el inicio y en la barra superior, y actualizar es un clic.
Las actualizaciones se instalan en el volumen
(/data/bin), que va delante en el PATH del agente, de los trabajos y de la
terminal, así que sobreviven a los despliegues y tapan a la copia de la imagen sin tocarla.
«Volver a la de la imagen» quita esa copia. Los CLIs de la imagen se instalan sin fijar versión y su
capa queda cacheada: un despliegue normal no los renueva.
Los catálogos de OpenRouter y Ollama se refrescan solos en el selector (30 minutos de caché): aquí no se «actualizan», se comparan con la foto anterior para poder avisar de los modelos nuevos. Con lo que cada CLI dice de sus modelos (más abajo) se hace lo mismo.
La lista de cada motor la dice su propio CLI: el SDK de Claude
(supportedModels, según tu plan), codex app-server, el ACP de Grok Build,
agy models (con sesión) y el bundle del Gemini CLI. Se vuelve a preguntar cada seis horas, con
cada comprobación y con este botón; si un CLI no contesta se sigue enseñando la última lista buena o, si
nunca contestó, la de respaldo del código. Por eso actualizar un CLI trae sus modelos nuevos al selector.
Alternativa sin API key: usa tu suscripción de Claude (Pro/Max).
Abre la pestaña Terminal, ejecuta claude e inicia sesión con el enlace que muestra
(o usa claude setup-token). La sesión queda guardada en el volumen persistente.
Varias suscripciones vivas a la vez —la personal y la del trabajo—, elegibles por conversación desde la barra del chat. Cada cuenta guarda su sesión aparte, así que iniciar sesión en una no cierra la otra. Las skills, subagentes y comandos son comunes a todas: lo único que cambia es con qué suscripción se paga el turno.
Para autenticar una cuenta: créala aquí, abre una Terminal de esa cuenta
(se elige al crearla) y ejecuta claude.
Ojo: si tienes una ANTHROPIC_API_KEY configurada arriba, la usa la cuenta principal
y factura por token; las demás cuentas van siempre por suscripción.
Da acceso a todo el catálogo de OpenRouter (Kimi K3, Gemini, DeepSeek, Llama…)
desde el mismo selector de modelos: aparecen agrupados por proveedor con el prefijo or:.
Se usa su endpoint compatible con Anthropic, así que el agente funciona igual (herramientas, streaming y razonamiento incluidos).
Tu clave de Anthropic no se envía en esos turnos.
Solo para 💰 Consumo. La clave de inferencia deja ver lo que gasta ella misma, pero el saldo de la cuenta y el histórico de actividad los guarda OpenRouter detrás de otra clave, a propósito, para que el historial no quede a la vista de cualquiera que tenga una clave normal. Se crea en openrouter.ai → Settings → Provisioning Keys. No se usa para los turnos.
Desde la v0.14 Ollama sirve /v1/messages, que es la Messages API
de Anthropic: el agente habla con él sin traductor, igual que con OpenRouter. Aparecen en el selector
como ollama:local/… y ollama:cloud/….
⚠ El panel corre en un contenedor, así que 127.0.0.1 es
el contenedor y no la máquina. Para un Ollama en el mismo servidor, pon http://172.17.0.1:11434
(el puente de Docker) y arranca Ollama con OLLAMA_HOST=0.0.0.0. Para uno en otra máquina, su URL completa.
⚠ La ventana de contexto la decide tu servidor de Ollama, no el modelo.
Por defecto son 4096 tokens y recorta el prompt sin decirlo: el system prompt de Claude Code
ya no cabe ahí y el agente contesta como si no hubiera leído nada. Arranca Ollama con
OLLAMA_CONTEXT_LENGTH=65536 (o lo que aguante tu RAM) antes de dar por malo un modelo.
Es un tope de tokens y no de euros a propósito: Ollama no publica el consumo de la cuenta por API, así que un importe sería inventado. Lo medido son los tokens, y se ven en 💰 Consumo. Lo local no lleva tope: no factura. El contador se pone a cero el día 1.
Lo que rige cada conversación nueva salvo que un tipo de uso o un perfil diga otra cosa. Las claves y las cuentas están en Motores y claves.
Panel de deliberación — la herramienta consultar_panel: varios
modelos responden a la vez a la misma consulta y un juez compara las respuestas (consenso,
contradicciones, aportes únicos, puntos ciegos). Cada llamada son N+1 completions
de pago y tarda un par de minutos, así que el agente solo debería usarla cuando
equivocarse salga caro. Un miembro con prefijo agy: (p. ej.
agy:gemini-3.1-pro) va por la suscripción de Antigravity y no cuesta por token.
Es el que más importa: la mayor parte de la mejora viene de la síntesis, no de la diversidad del panel.
Permite usar modelos de OpenAI en el chat (grupo «OpenAI (Codex)» del selector),
con traspaso de contexto al cambiar de modelo. Para autenticarte con tu suscripción de ChatGPT:
abre la Terminal y ejecuta codex login --device-auth (te dará un código para
aprobar desde otro dispositivo). Con API key: codex login --with-api-key.
La sesión queda en el volumen persistente.
Permite usar Grok en el chat (grupo «xAI (Grok Build)» del selector).
Va con tu suscripción SuperGrok o X Premium+: abre la Terminal
y ejecuta grok login --device-auth (te da un código para meter en el navegador, así
que funciona sin salir del contenedor). La sesión queda en el volumen persistente.
No hace falta clave de API: la API de api.x.ai es de pago por token
y una superficie distinta de la suscripción.
Es el CLI ajeno que más hereda del panel, porque lee de fábrica la
configuración de Claude Code: le llegan CLAUDE.md, las skills, la memoria,
ccjob, las herramientas mcp__webui__* y las tarjetas de permiso.
Lo que no: las herramientas de Claude Code (trae las suyas, con subagentes propios en
worktrees) ni los cuadros de plan y de pregunta.
Integración al estilo Claude Code web: clona repos, trabaja en ramas y crea PRs.
Usa un Personal Access Token (fine-grained con Contents: Read/Write y
Pull requests: Read/Write, o classic con scope repo). El agente también dispone
del CLI gh ya autenticado.
Conecta Outlook, SharePoint/OneDrive y el calendario: buzón
lateral, explorador de archivos con edición completa, correos y ficheros como contexto de
una conversación, y herramientas para el agente. Hace falta un
registro de aplicación en Entra ID (Azure). La URL de retorno que debes
dar de alta en el registro es .
ApplicationAccessPolicy.
Conecta Gmail, Google Drive y Google Calendar. Hace exactamente lo mismo que Microsoft 365 y por los mismos sitios: el buzón lateral, la agenda, el explorador de archivos y las herramientas del agente son los mismos — el panel mira de qué cuenta es cada cosa y pregunta a quien toca.
Hace falta un proyecto en Google Cloud con las APIs
de Gmail, Drive, Calendar y People activadas, y un ID de cliente OAuth de
tipo «Aplicación web». La URL de retorno autorizada que debes dar de alta es
.
Vincula tu teléfono y trae tus chats al panel: lista lateral, chats como contexto de una conversación y herramientas de WhatsApp para el agente. Es el mismo papel que tiene Outlook, con tu número real.
Audio a texto para todo el panel: las notas de voz de WhatsApp, los audios que llegan como adjunto de un correo, los ficheros que sueltas en el chat y lo que dictas con el 🎤 del compositor. Los audios largos se trocean solos y cada transcripción se cachea, así que el mismo audio no se paga dos veces.
Viene apagado, pero encenderlo es barato: la opción recomendada es en este servidor, que corre Whisper dentro del contenedor. No necesita clave de nadie, no cuesta por minuto y —lo que más importa con notas de voz de clientes— el audio no sale de la máquina. Solo la primera vez tarda, mientras se descarga el modelo.
es o en. Fijarlo
ayuda cuando el audio es corto o tiene ruido.
El agente puede destilar lo que aprende resolviendo una tarea en una skill reutilizable, y mejorarla cuando le corriges. Las revisas en Recursos → Skills.
.claude/skills,
así que el motor no las carga hasta que las apruebas.
Lo que el agente sabe entre conversaciones. Se inyecta en todas ellas, así que
conviene que sea corto y curado; el propio agente la actualiza con la herramienta recordar.
Cada N minutos el agente repasa esta checklist y solo habla si encuentra algo («mira si hay correo urgente de X», «comprueba que el job nocturno dejó el CSV»). Con la checklist vacía no cuesta nada: ni sesión ni tokens. Se aplaza solo mientras haya turnos en marcha.
Lo que se ofrece al crear una conversación. Cada tipo fija un modelo y un esfuerzo de razonamiento; después puedes cambiar el modelo en la barra del chat sin restricción.
Perfiles con workspace, modelo, esfuerzo, permisos, variables, personalidad, skills propias, aislamiento de credenciales y permisos de red (como en Claude Code web). Asigna un perfil a cada conversación desde la barra del chat: el agente se ciñe a ese entorno y no ve las claves de los demás.
Se clonan o actualizan y quedan adjuntos a la conversación en cuanto le pones este perfil, en la rama que elijas aquí. El clon base lo comparten todas las conversaciones, así que otra puede moverlo de rama: si necesitas aislamiento de verdad, pon rama de trabajo (crea un worktree propio).
/data/config.json
(donde están las claves de los demás entornos) ni el workspace de otro entorno, y
buscar_en_conversaciones se limita a este entorno. Desmárcalo solo si este perfil
debe trabajar con todo lo del panel.
curl,
git, npm, pip, a los trabajos de ccjob y a las
terminales de la conversación. Los endpoints del propio motor (Anthropic, OpenRouter…) se permiten
siempre: sin ellos no habría turno.example.com deja
pasar api.example.com); con *. delante, solo los subdominios.
JSON con los servidores MCP disponibles para el agente. Ejemplo:
{"github": {"command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": {"GITHUB_TOKEN": "…"}}}
Se inyectan al agente y a las terminales. Formato NOMBRE=valor, una por línea.
Memoria/instrucciones del proyecto que Claude Code lee automáticamente.
Habla con este mismo agente desde otros canales. Cada chat externo se convierte en una conversación aquí, visible en tiempo real.
Funciona por long-polling: no necesita webhook. Escribe al bot y te dirá tu chat ID si aún no estás autorizado.
Configura el webhook en Meta: · campo messages.
Esto es el gateway Cloud API: recibe mensajes y el agente contesta solo. Es un transporte distinto del de la vista 📱 WhatsApp (Baileys), que vincula tu número real y trae tus chats al panel. No tiene sentido tener los dos activos sobre el mismo número.
Uso: con JSON {"message": "…", "sessionKey": "opcional"}
Al cambiarla se cierra la sesión en el resto de dispositivos.
Escanea el QR con Google Authenticator, 1Password, Authy… o introduce la clave a mano:
Códigos de recuperación — guárdalos ahora; no se volverán a mostrar. Cada uno vale para un solo acceso si pierdes la app:
Trae aquí una conversación que tengas en Claude Code y sigue con todo su contexto, o llévate una de este panel a tu Claude Code. Se intercambia el propio transcript del motor, no un resumen.
⋯ de cada conversación → ⤴ Exportar a Claude Code.
Los paquetes se instalan en un entorno virtual dentro del volumen
(/data/venv), así no se pierden al reiniciar. Instala con
pip install … desde el chat o el terminal; para apt no hay persistencia.
Son páginas de disco que el kernel guarda en RAM porque las acaba de leer. No hace falta vaciarla: si la memoria hace falta, el kernel la suelta solo. Soltarla a mano solo sirve para bajar el contador que factura el proveedor, y lo único que provoca es que esos ficheros se vuelvan a leer del disco cuando alguien los use.
💾 Consejo: añade un volumen en Railway montado en /data para que
configuración, conversaciones y workspace sobrevivan a los redeploys.
Se importa el transcript de la conversación, así que al escribir aquí el agente continúa con todo su contexto, no solo con el texto.
Conversaciones de Claude Code que ya están en este contenedor: las de la
terminal (claude) y las de este panel. Útil para pasar al panel algo que
empezaste en la terminal.
En tu ordenador (Claude Code de terminal)
Cada conversación es un fichero en
~/.claude/projects/<carpeta-del-proyecto>/<id>.jsonl.
Para localizar la que quieres:
ls -lt ~/.claude/projects/*/ | head # o busca por su contenido: grep -rl "una frase de la conversación" ~/.claude/projects | head
Sube ese .jsonl aquí. También vale desde el móvil si te lo envías.
En Claude Code web (claude.ai/code)
Esa sesión vive en un contenedor de Anthropic; no hay API pública para
descargarla desde fuera. Pídeselo a la propia sesión: que copie su
~/.claude/projects/…/<id>.jsonl al repositorio (o te lo entregue como
fichero) y súbelo aquí.
Para devolverla a Claude Code
En el menú ⋯ de cualquier conversación tienes
⤴ Exportar a Claude Code: te descarga un zip con el transcript, un script que
lo deja donde Claude Code lo busca y las instrucciones.
Se descarga el transcript en el formato de Claude Code, con un script que
lo instala en tu máquina. Después la sigues con claude --resume.
Busca en tus buzones y adjunta los hilos que necesites a esta conversación: quedan volcados como markdown y el agente los lee con el resto del material.
Busca entre tus chats y adjunta los que necesites a esta conversación: quedan volcados como markdown y el agente los lee con el resto del material. Busca por nombre de contacto y también dentro de los mensajes.
Varias firmas con nombre y, por cada buzón, cuál va en los mensajes nuevos y cuál en las respuestas y reenvíos — el mismo modelo que Outlook. Se insertan en los correos que salen de este panel.
No se sincronizan con Outlook. Microsoft Graph no expone las firmas del
buzón por ninguna vía pública (ni mailboxSettings ni beta), y la única que hubo
—EWS— se retira en octubre de 2026. Así que estas firmas viven en el panel: lo que escribas
aquí no aparece en Outlook web ni en el de escritorio, ni al revés.
¿El cambio se aplica solo a esta cita o a toda la serie?
El agente deja de recordar lo hablado y empieza de cero. Los mensajes que ves en pantalla son otra cosa: puedes conservarlos como registro o borrarlos también. Compactar es el término medio: el motor arranca de cero pero con un resumen de lo esencial.
Un grafo es un mapa del código extraído del AST: qué llama a qué, quién importa a quién. Se construye en local y sin coste en tokens. Al adjuntarlo a una conversación, el agente recibe el informe y puede consultar el grafo citando fichero y línea.
graphify no está instalado en el entorno Python del panel.
Si un repo ya trae su grafo hecho (una carpeta graphify-out/,
o un graph.json versionado), se importa tal cual: sin reconstruirlo, al instante y
sin necesitar graphify. A partir de ahí es un grafo más — se adjunta, se ve y se rehace igual.
Fija el modelo y el esfuerzo de razonamiento. Puedes cambiarlos después desde la barra del chat.
Varios modelos responden a la vez y un juez compara: consenso, contradicciones, aportes únicos y puntos ciegos. El agente recopilará antes el contexto del repositorio que haga falta. Elige con qué panel.
El perfil trae su workspace, su modelo, sus permisos, sus claves, su acceso a la red y —si los declara— sus repositorios con su rama y su grupo. Se prepara todo antes de abrir la conversación.
Responde para que pueda continuar (o planificar) mejor.
En el teléfono: WhatsApp → Ajustes → Dispositivos vinculados → Vincular un dispositivo, y escanea este código.
Más cómodo desde el móvil. Escribe tu número con prefijo de país (sin «+» ni espacios) y luego, en el teléfono: Dispositivos vinculados → Vincular con el número de teléfono.
Todo lo que está corriendo en el panel, de todas las conversaciones. Marca lo que quieras para detenerlo o quitarlo del listado.