SSH que se queda donde lo dejó
meshTerm es un cliente de terminal pensado para personas que dependen de sus sesiones. Empareje un host una vez, inicie una tarea larga en marcha, llegue a la oficina y continúe el mismo shell desde otro dispositivo. Su scrollback, su entorno y su comando a medio escribir, exactamente donde los dejó.
Qué incluye
Contenedores 2.3
Vea y gestione las cargas de trabajo de Docker, Podman, nerdctl y Apple container en sus propios servidores, con el SSH que ya tiene. Una vista de todos sus hosts, estado en directo, registros y un shell, Nuevo contenedor y Nueva pila, plantillas listas para usar, un Vault para secretos, un mapa de topología, servidores Portainer y Preguntar a un agente para averiguar por qué algo falla. Función Pro, con vista previa gratuita.
Hosts con Windows 2.3
Instalar clave escribe su clave en el archivo que lee el servidor SSH de Windows, y con herdr 0.9.4 o posterior un host Windows puede mantener las sesiones en marcha cuando usted se desconecta.
tmux nativo 2.2
meshTerm se comunica directamente con tmux. Sus paneles de tmux pasan a ser paneles nativos: uno junto a otro, con divisores que puede arrastrar, en el iPad, y de uno en uno en el iPhone. Una página de tmux en la paleta cambia de ventana, divide, amplía y redimensiona los paneles. Al reconectar, vuelve a la misma sesión y con el mismo tamaño.
herdr, integrado 2.2
Mantenga Claude, Codex, Gemini y otros agentes en marcha en su host con herdr y vea cada sesión desde el teléfono: qué le necesita, el estado en directo y las aprobaciones que puede responder sin abrir un terminal. Gratis en su host: una sesión de herdr a la vez, con agentes, pestañas y espacios de trabajo ilimitados dentro. Pro añade más hosts y sesiones en paralelo.
Roam: sesiones persistentes
Un pequeño asistente de código abierto, mtroamd, se ejecuta en su servidor y mantiene su shell abierto entre reconexiones, segundos planos y cambios de dispositivo. Instálelo con el gestor de paquetes de su servidor.
Elija la persistencia
Elija tmux, mtRoam o Ninguna para cada host, y use Comprobar persistencia para ver qué hay ya instalado en el servidor, dónde y en qué versión.
Sesiones con nombre y multi-cliente
Mantenga varias sesiones nombradas por host: control exclusivo, observación de solo lectura o seguimiento pasivo. Cambie entre ellas con un toque.
Eco predictivo
Escribir se siente nativo incluso en conexiones lentas. Una superposición consciente del prompt refleja sus pulsaciones localmente y las reconcilia cuando llega el eco del daemon.
Historial del shell a la mano
Explore el historial del shell del host remoto en una hoja, o acepte sugerencias coincidentes desde la barra de chips de predicción sobre el teclado.
Volver al prompt en TUI
Una pequeña píldora flotante detecta cuándo se aleja con el scroll del prompt de Claude Code o Codex CLI y ofrece un salto de vuelta con un toque.
Paleta de teclado
Una paleta sobre el teclado: una página de funciones para archivos, búsqueda, snippets, túneles y agentes, una página de teclas creada con sus propios grupos de teclas, una página de sesiones para cambiar con un toque y una página de tmux para ventanas y paneles. Minimícela para devolver la pantalla al terminal.
Botones físicos
Asigne Subir volumen y Bajar volumen a acciones de terminal: flechas, Borrar, Ctrl-C, mostrar/ocultar teclado, con franjas independientes para toque corto y pulsación larga.
Recuperación de bloqueos
Si una TUI de Claude Code queda atascada tras un cambio de tamaño, una banda superior ofrece guardar el contexto y reiniciar la sesión con un solo toque.
SSH con Tailscale
Inicie sesión con su cuenta de Tailscale -sin claves que gestionar-, explore su Tailnet, elija un nodo y añádalo como host. Los nodos con Tailscale SSH se conectan sin contraseñas ni claves.
Explorador SFTP
Navegue, suba, descargue, renombre y elimine archivos en cualquier servidor. Se integra con la app Archivos de iOS para arrastrar y soltar de extremo a extremo.
Privacidad por diseño
El contenido del terminal nunca sale de sus dispositivos. Las credenciales SSH viven en el Llavero de iOS. Sin análisis, sin telemetría, sin SDK de seguimiento.
Notificaciones 2.3.3
Recibe un aviso cuando un agente tiene preguntas, necesita aprobación o termina un turno, aunque meshTerm esté en segundo plano o cerrado. Toca el aviso para volver a la sesión.
En Linux y macOS, los avisos llegan desde sesiones de tmux y mtRoam gestionadas por meshTerm, paneles de herdr y chats de la pestaña Agentes. En Windows, llegan desde sesiones de psmux y paneles de herdr. Una pestaña SSH simple o una sesión de tmux que hayas iniciado fuera de meshTerm no puede dirigir un aviso a tu teléfono porque no tiene un registro de sesión de meshTerm que la vincule a tu dispositivo.
- Linux y macOS: Claude Code y Codex avisan cuando tienen preguntas, necesitan aprobación o terminan un turno; agy (Gemini), al terminar un turno. En macOS, inicia Codex en el terminal con
codex --no-daemon, también dentro de herdr; los chats de Codex de la pestaña Agentes no necesitan esta opción. - Windows: Claude Code y Codex avisan cuando tienen preguntas, necesitan aprobación o terminan un turno en sesiones de psmux; agy (Gemini), al terminar un turno. Codex en paneles de herdr avisa a través de herdr. Activa Avisos de agentes de herdr para recibir avisos de Claude, Codex, Gemini y otros agentes que herdr reconoce.
Codex en Windows y Linux: cuando dos ventanas de Codex comparten una carpeta, meshTerm solo puede identificar una, así que la otra puede quedarse sin avisos. Si inicias una ventana con codex resume <id>, meshTerm siempre identifica su sesión para dirigir los avisos. Si tienes más de un dispositivo (teléfono o tableta) configurado para recibir avisos del host, solo las ventanas iniciadas con codex resume <id> envían los avisos de Codex en segundo plano. Usa carpetas distintas o reanuda la sesión concreta; meshTerm omite el aviso si no puede identificar la ventana.
Avisos de preguntas: cuando Claude hace una pregunta (AskUserQuestion) o te pide aprobar un plan, o Codex te pide información (request_user_input), el aviso dice, por ejemplo, «Claude has questions.» (Claude tiene preguntas). El texto del aviso sigue en inglés. Tócalo para abrir la sesión y responde en el terminal, nunca desde el aviso. Las aprobaciones normales mantienen el texto de aprobación («needs approval»). agy no tiene avisos de preguntas. El plugin de herdr no distingue las preguntas de las aprobaciones, así que los avisos que envía el plugin mantienen el texto de aprobación.
Configurar y probar un host
En Editar host, activa Notificar a este iPhone (Notificar a este iPad en un iPad) y guarda. Se activa por host y por dispositivo; no se sincroniza. La fila de estado muestra Instalado en este host, Aún sin comprobar o lo que falta, con la última comprobación cuando está disponible. «Aún sin comprobar» significa que no hay un resultado guardado, no que la instalación haya fallado.
Toca Instalar ahora para configurar el host, o deja que meshTerm lo haga al conectar a una sesión gestionada o iniciar un agente desde la pestaña Agentes. Toca Enviar aviso de prueba para comprobar el envío desde ese host a este teléfono, incluso antes de la primera comprobación. Guarda primero cualquier cambio. La fila explica los problemas y ofrece la reparación correspondiente.
La instalación añade hooks de notificación a la configuración de los agentes. Sal y vuelve a iniciar cualquier agente que ya estuviera en marcha para que cargue los hooks; puedes dejar abierta la sesión de terminal. Para herdr, activa también Avisos de agentes de herdr. En Ajustes > Agentes > Notificaciones, El agente necesita aprobación controla los avisos de aprobación y de preguntas; Turno terminado controla los de fin de turno.
Si instalaste el plugin de meshTerm fuera de meshTerm y no hay ningún dispositivo configurado para recibir avisos, herdr puede mostrar «meshTerm alerts aren't set up» y «Open this host in meshTerm» como máximo una vez por semana. La acción Set up meshTerm alerts del plugin muestra las instrucciones cuando la eliges; en Windows usa un aviso emergente que depende de los ajustes de herdr. En meshTerm, el panel de herdr del host ofrece Activa los avisos de herdr en este iPhone (o iPad / dispositivo). Toca Activar para recibirlos o Ahora no para descartar la tarjeta en este dispositivo.
Requisitos del host
- Linux y macOS: Python 3.5 o posterior y
curl. meshTerm buscapython3en PATH y en/usr/bin,/opt/homebrew/biny/usr/local/binde Homebrew,~/.local/bin,~/.pyenv/shimsde pyenv,~/.asdf/shimsde asdf y las carpetas de conda~/miniconda3/bin,~/anaconda3/bin,~/miniforge3/biny/opt/conda/bin. Los hooks usan el Python comprobado durante la instalación. Si el único Python de tu Mac es/usr/bin/python3, instala las herramientas de línea de comandos de Apple conxcode-select --install; sin ellas esa ruta es solo un marcador. - Windows: no necesitas instalar nada más para los avisos: usan Windows PowerShell 5.1 y el
curl.exeincluido. PowerShell restringido (Constrained Language Mode) bloquea la configuración. La app muestra PowerShell está restringido y «PowerShell está restringido en HOST, así que meshTerm no puede activar las notificaciones allí». Consulta la política de PowerShell con quien administra el host.
Los avisos de terminal llegan al último dispositivo que usó la sesión con los avisos activados; los de chats, al que envió el mensaje; y los de herdr, a todos los dispositivos con sus avisos activados. Viajan por conexiones cifradas a través de nuestro relay y del servicio de notificaciones push de Apple (APNs). Solo llevan una etiqueta de sesión opaca, el tipo de aviso y el nombre del agente, nunca prompts, salida del agente, nombres de host ni comandos. Tu teléfono identifica la sesión localmente. Consulta la privacidad.
No llegan las notificaciones
Primero abre Editar host y toca Enviar aviso de prueba. Si hace falta, activa Notificar a este iPhone o Notificar a este iPad y guarda. La prueba comprueba el envío desde ese host a este teléfono; que llegue no demuestra que un agente en marcha haya cargado sus hooks.
- Aún sin comprobar: toca Enviar aviso de prueba o Instalar ahora. Si aparece Instalado en este host, prueba el envío. Si la prueba detecta que faltan los archivos de notificaciones, toca Instalar ahora.
- Falta Python o curl: ejecuta en el host el comando de instalación que muestra la fila y toca Reintentar. El aviso del chat también ofrece Ejecutar en Terminal. Python 2 o una versión anterior a 3.5 no basta: «Las notificaciones necesitan Python 3.5 o posterior en HOST. Su Python es más antiguo». En un Mac que solo tenga
/usr/bin/python3, instala las herramientas de línea de comandos conxcode-select --install. - Python no arranca: si usas pyenv o asdf, configura una versión global y toca Reintentar. Si la prueba dice que los hooks no encuentran o no pueden iniciar Python, toca Reinstalar. Si no encuentran curl al iniciar fuera de una shell de inicio de sesión, instala el curl del sistema en
/usr/bino/bin. - «No se pudo instalar:» o falla la última comprobación: corrige la causa indicada y toca Reintentar. Comprueba el acceso SSH. Si la carpeta no es privada de tu usuario, corrige su propietario y sus permisos. Los archivos de inicio del shell no deben imprimir texto ni leer la entrada en conexiones SSH no interactivas.
- «El registro de este dispositivo ha cambiado. Toca Reinstalar para actualizar este host.» o «El registro de este dispositivo en el host está desactualizado.»: toca Reinstalar.
- «El relay de notificaciones ya no tiene el registro de este dispositivo.»: toca Registrar de nuevo para registrar el teléfono y actualizar los datos del host.
- «Los avisos de Codex empiezan cuando Codex confíe en el hook. Toca Reintentar.»: toca Reintentar.
- «El relay de notificaciones rechazó el formato del aviso de prueba. Toca Reinstalar.»: toca Reinstalar. Si el host no puede conectar con el relay o no confirma la prueba, toca Reintentar; si el relay está ocupado, espera antes de reintentarlo.
- El relay aceptó la prueba, pero no llega: toca Abrir Ajustes, permite las notificaciones de meshTerm y comprueba que ningún modo Concentración las oculte. Revisa también los dos interruptores de Ajustes > Agentes > Notificaciones.
- Windows restringido: «PowerShell está restringido en HOST, así que meshTerm no puede activar las notificaciones allí». Consulta la política con quien administra el host; reintentar no la cambia.
- Windows sin curl.exe: actualiza Windows y toca Reintentar. Windows 10 versión 1803 y posteriores lo incluyen. Si es anterior a curl 7.68, los avisos siguen funcionando, pero llegan a tus teléfonos de uno en uno. Actualizar Windows o curl puede acelerar el envío a varios dispositivos.
Si llega la prueba pero no los avisos del agente, sal y vuelve a iniciar el agente después de instalar los hooks. Usa una de las sesiones compatibles, no una pestaña SSH simple ni una sesión de tmux iniciada fuera de meshTerm. En Windows, usa psmux para Claude, Codex o agy (Gemini). Codex en paneles de herdr avisa a través de herdr; activa Avisos de agentes de herdr para esos avisos. En Windows y Linux, si dos ventanas de Codex comparten carpeta, solo se puede identificar una; codex resume <id> siempre identifica la sesión para dirigir los avisos. Si tienes varios teléfonos o tabletas configurados para recibir avisos del host, solo las ventanas iniciadas con ese comando envían los avisos de Codex en segundo plano. En macOS, usa codex --no-daemon en el terminal, también dentro de herdr, o inicia el chat desde la pestaña Agentes.
Si faltan los avisos de preguntas, activa El agente necesita aprobación en Ajustes > Agentes > Notificaciones. Este interruptor controla tanto las preguntas como las aprobaciones. Toca el aviso de pregunta para abrir la sesión y responde en el terminal.
Documentación
Guía del usuario EN
Configurar su primer host, tmux y el daemon Roam, la paleta de teclado, barra de macros, snippets, SFTP, sesiones múltiples y resolución de problemas. Actualmente solo en inglés.
Leer la guíaSolución de problemas EN
Encuentre el mensaje que ve, por qué ocurre y cómo arreglarlo: conexión, claves, tmux y mtRoam, archivos, agentes, notificaciones, herdr y contenedores, con comandos para cada sistema. Solo en inglés.
Resolver un problemaDocker 101 EN
¿Nuevo en los contenedores en su propio servidor? Docker, Podman, imágenes y stacks, puertos y volúmenes, instalación en Ubuntu, Debian, Fedora, Alpine y macOS, y cómo usarlos con seguridad. Solo en inglés.
Empezar con DockerConfiguración de Tailscale EN
Inicie sesión con su cuenta de Tailscale (o use una clave de autenticación) para conectarse y explorar su Tailnet -sin token de API mientras está conectado- y habilite Tailscale SSH para acceso sin contraseña en todos sus dispositivos.
Configurar TailscalePolítica de privacidad
Lo que no recopilamos, lo que se queda en su dispositivo y dónde reside el scrollback de Roam en su servidor remoto.
Ver privacidadContrato de licencia (EULA)
El acuerdo legal que regula su uso de meshTerm en dispositivos Apple iOS e iPadOS.
Leer el EULAComentarios y sugerencias
Informe de un error, pida una función o haga una pregunta en nuestro repositorio público de GitHub, o desde la app: Ajustes > Comentarios y sugerencias. El repositorio es público, así que no incluya nombres de host, direcciones IP, claves ni registros. Para asuntos privados: meshterm@gmail.com.
Enviar comentarios