Claude Terminal

English • Français • Español • Bahasa Indonesia • 简体中文 • Português (Brasil)

Descargas Versión Plataformas Licencia Electron Estado de CI Colaboradores i18n francés i18n español i18n indonesio i18n chino simplificado

Una aplicación de escritorio multiplataforma para gestionar tus proyectos de Claude Code, con terminal integrada, flujos de trabajo de git, gestión de plugins y mucho más.

Sitio web • Descargar • Twitter • Buy Me a Coffee

Claude Terminal - The missing desktop app for Claude Code developers | Product Hunt

Lenguaje principal Número de lenguajes Tamaño del código

--- ## 📊 Salud del proyecto ### Colaboradores Colaboradores ### Actividad [![Actividad de commits](https://img.shields.io/github/commit-activity/m/Sterll/claude-terminal?label=commits%2Fmes)](https://github.com/Sterll/claude-terminal/graphs/commit-activity) [![Último commit](https://img.shields.io/github/last-commit/Sterll/claude-terminal)](https://github.com/Sterll/claude-terminal/commits/main) [![Issues](https://img.shields.io/github/issues/Sterll/claude-terminal)](https://github.com/Sterll/claude-terminal/issues) [![Pull requests](https://img.shields.io/github/issues-pr/Sterll/claude-terminal)](https://github.com/Sterll/claude-terminal/pulls) ### Internacionalización (i18n) | Idioma | Cobertura | Claves | | --- | --- | --- | | 🇺🇸 Inglés (base) | ![100%][i18n-en-badge] | 3641 / 3641 | | 🇫🇷 Francés | ![i18n fr][i18n-fr-badge] | 3641 / 3641 | | 🇪🇸 Español | ![i18n es][i18n-es-badge] | 3641 / 3641 | | 🇮🇩 Indonesio | ![i18n id][i18n-id-badge] | 3641 / 3641 | | 🇨🇳 Chino simplificado | ![i18n zh-CN][i18n-zh-cn-badge] | 3641 / 3641 | > Las insignias de cobertura se actualizan automáticamente en cada push a un archivo de locale. > Consulta [`.github/i18n-coverage.md`](.github/i18n-coverage.md) para los detalles y > para saber cómo añadir un idioma nuevo. [i18n-en-badge]: https://img.shields.io/badge/i18n-100%25-brightgreen [i18n-fr-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_fr.json [i18n-es-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_es.json [i18n-id-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_id.json [i18n-zh-cn-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_zh-CN.json --- ## Índice - [Requisitos previos](#requisitos-previos) - [Instalación](#instalación) - [Funcionalidades](#funcionalidades) - [Uso](#uso) - [Compilación](#compilación) - [Pruebas](#pruebas) - [Atajos de teclado](#atajos-de-teclado) - [Arquitectura](#arquitectura) - [Contribuir](#contribuir) - [Seguridad](#seguridad) --- ## Requisitos previos - [Node.js](https://nodejs.org/) 18+ - [Claude Code](https://github.com/anthropics/claude-code) instalado globalmente - **Windows** 10 u 11 - **macOS** 12+ (Intel o Apple Silicon) - **Linux** Ubuntu 22.04+, Fedora 38+ o equivalente - La AppImage necesita `libfuse2` en Ubuntu 24.04+: `sudo apt install libfuse2` - El almacenamiento del token de GitHub necesita `libsecret`: `sudo apt install libsecret-1-dev gnome-keyring` ## Instalación Descarga el último instalador desde [Releases](https://github.com/Sterll/claude-terminal/releases). > [!IMPORTANT] > **Usuarios de macOS:** si ves *«Claude Terminal está dañado y no se puede abrir»*, ejecuta esto en la Terminal: > ```bash > xattr -cr /Applications/Claude\ Terminal.app > ``` > Hace falta porque la aplicación aún no está firmada. Como alternativa, clic derecho en la app → Abrir. O compila desde el código fuente: ```bash git clone https://github.com/Sterll/claude-terminal.git cd claude-terminal npm install ``` --- ## Funcionalidades ### Interfaz de chat (Claude Agent SDK) - Interfaz de chat integrada, impulsada por el Claude Agent SDK, con respuestas en streaming - Cerrar una pestaña de chat cancela su inicio pendiente y cierra su sesión SDK; los prompts diferidos no pueden reiniciar una pestaña cerrada. - **Renderizado markdown enriquecido**: diagramas mermaid, fórmulas KaTeX, código con resaltado de sintaxis, árboles de archivos, tableros kanban, bloques de diff, vistas previas HTML y más - **Tarjetas de permiso**: Permitir, Permitir siempre o Denegar las solicitudes de uso de herramientas; cuando es una de tus propias reglas `permissions.ask` la que dispara la solicitud, la tarjeta nombra esa regla y oculta «Permitir siempre» para que no se pueda saltar de un clic - **Modo plan**: revisa y aprueba o rechaza los planes del agente antes de ejecutarlos - **Bloques de razonamiento**: secciones desplegables que muestran el razonamiento de Claude - **Tarjetas de herramientas**: tarjetas plegables que detallan la ejecución de las herramientas, con recarga de herramientas MCP, envío de comentarios y propuestas de skills - **Visualización de subagentes**: seguimiento anidado de las tareas delegadas; el resumen de cada subagente muestra su rama de worktree de git y cualquier cambio de modelo a mitad de camino - **Widget de tareas**: lista de tareas persistente encima de la entrada, que desaparece sola al completarse - **Adjuntos**: pegar, arrastrar y soltar o elegir imágenes PNG/JPEG/GIF/WebP (hasta 20 MB), además de archivos de texto y PDF - **Comandos slash**: autocompletado de comandos (/compact, /clear, /help, skills personalizados) - **Menciones @ en línea**: el campo de entrada enriquecido permite escribir menciones @ sin salir del área de redacción - **Rewind de archivos**: vuelve a un estado anterior de los archivos mediante el checkpointing del SDK, útil para deshacer ediciones no deseadas a mitad de sesión - **Seguimiento de costes**: nombre del modelo, número de tokens y coste en USD en la barra de estado - **Ventana de contexto de 1M**: contexto ampliado para bases de código grandes (solo en modo API) - **Cambio dinámico de modelo y esfuerzo**: el selector de modelo se construye en vivo desde el catálogo del propio CLI de Claude, así que los modelos recién lanzados (por ejemplo Fable 5.1) aparecen automáticamente; cambia de modelo y de nivel de esfuerzo (low, medium, high, xhigh) a mitad de conversación sin empezar de nuevo - **Modelo, esfuerzo y modo de permiso por conversación**: cada pestaña guarda sus propios ajustes, así que una elección en una conversación nunca se filtra a la siguiente. Los valores guardados son solo los predeterminados con los que arranca una pestaña nueva, y se cambian desde la fila «Usar para conversaciones nuevas» de cada menú - **Modos de permiso**: alterna entre predeterminado, aceptar ediciones, plan y omitir permisos desde el compositor, a mitad de sesión - **Nivel premium**: los modelos de la familia Fable se marcan en violeta con una insignia «Premium», una etiqueta en la pestaña y un aviso cuando una pestaña nueva lo hereda, porque esa familia consume su propio límite de uso - **Cajón de tareas en segundo plano**: un cajón plegable, propio de la sesión actual, muestra lo que Claude ejecuta en segundo plano para que puedas seguir conversando - **Biblioteca de artefactos y pestaña Documentos**: los archivos y fragmentos que Claude genera se guardan en una biblioteca reutilizable y también aparecen en una pestaña Documentos propia de la conversación, con un panel Artefactos dedicado que lista todo lo publicado para el proyecto - **Búsqueda en la conversación**: pulsa Ctrl+F para buscar en la transcripción actual - **Fijar conversaciones**: mantén las sesiones importantes al principio de la lista - **Bifurcar sesiones**: parte desde cualquier mensaje para explorar caminos alternativos; Claude Terminal avisa en lugar de descartar un turno en cola - **Sugerencias de continuación**: aparecen fichas de sugerencia contextuales tras la respuesta de Claude para guiar la conversación - **Resúmenes de sesión**: resúmenes generados automáticamente para las sesiones terminadas - Escribe @project para adjuntar el README.md y el árbol de archivos de cualquier proyecto como contexto - Escribe **@tab** para compartir tu sesión de terminal actual, o **@conversation** para referenciar otro hilo de chat - Escribe **@context** para inyectar un paquete de contexto, o **@prompt** para insertar una plantilla de prompt guardada - **Mejora del prompt**: reescritura por IA de tu mensaje en un clic mediante Haiku, para instrucciones más claras antes de enviar - Interrumpe el streaming a mitad de turno, nombres de pestaña generados automáticamente por el modelo haiku - Indicador de compactación mostrado durante la compresión del contexto, para saber cuándo ocurre ### Terminales - Varias terminales de Claude Code por proyecto, con interfaz de pestañas - Renderizado acelerado por GPU mediante xterm.js + WebGL (con respaldo DOM) - Alterna entre modo terminal y modo chat en cada pestaña - Reordenación de pestañas arrastrando, renombrado, notificaciones de escritorio - Filtrado de terminales por proyecto - Detección adaptativa de disponibilidad con indicador de estado - Captura de la salida de la terminal, para que las herramientas de lectura y las herramientas MCP devuelvan realmente lo que se ejecutó ### Navegación - Elige cómo navegar por los proyectos: una barra de pestañas arriba, o la columna clásica de proyectos al lado - Se pregunta una vez en el asistente de primer arranque, y se puede cambiar en cualquier momento desde Ajustes ### Archivos - Una pantalla Archivos dedicada muestra cada archivo tocado en una sesión, con diffs por sesión al estilo de GitHub - Revisa rápidamente lo que Claude cambió sin salir del contexto del chat - O mantén el árbol del proyecto anclado junto a la conversación, como estaba antes de la pantalla Archivos ### Cuentas - Vincula una cuenta de Claude distinta a cada proyecto, con su propio almacén de credenciales aislado - Cambia de proyecto sin cambiar de cuenta a mano, y sin que el inicio de sesión de un proyecto afecte al de otro - Uso por cuenta mostrado en Ajustes, y un cambio al alcanzar el límite que continúa la conversación ### Claude Remote Control (claude.ai y móvil) - Pon una sesión de chat en [claude.ai/code](https://claude.ai/code) y en la app móvil de Claude, para seguirla o controlarla desde el teléfono - Se decide **por conversación**, nunca globalmente: una sesión se une cuando lo pides en esa pestaña, mediante el botón del pie o el comando `/remote-control` - Espejo de solo lectura o control completo, a tu elección; prompts, interrupciones y respuestas de permisos vuelven todos al escritorio - `--rc` opcional en las pestañas de terminal para que las sesiones de CLI también se unan - Una pestaña **Conectividad → claude.ai** lista cada conversación compartida con una vuelta a su pestaña - Respeta el interruptor `disableRemoteControl` de los ajustes gestionados de Claude Code, para que una política de organización no pueda levantarse desde la aplicación ### Claude en Chrome - Deja que las sesiones de chat controlen tu navegador mediante la extensión de Chrome de Claude - Añade el servidor MCP `claude-in-chrome` y sus 22 herramientas de navegador a la sesión - Es opcional, y adopta el host de mensajería nativa existente de Claude Code en lugar de sobrescribirlo ### Voz - Dicta mensajes al chat por micrófono (transcripción con Groq) - Modo de dictado literal con enrutado a la pestaña activa, para que tus palabras lleguen a la conversación correcta - Perfil de sesión manos libres para sesiones totalmente por voz - Pronuncia los nombres de proyecto como los dirías, para que las menciones @ por voz se resuelvan bien ### Gestión de proyectos - Organiza los proyectos en carpetas anidadas con arrastrar y soltar - Personaliza cada proyecto con colores e iconos emoji - Barra de acciones rápidas: comandos de un clic configurables por proyecto (build, test, deploy, scripts propios...) - Explorador de archivos integrado con vista de árbol, selección múltiple, búsqueda, indicadores de git y renombrado en línea; clic derecho en cualquier archivo para adjuntarlo como contexto al chat actual - Sistema modular de tipos de proyecto (estándar, FiveM, webapp, Python, API, Minecraft, bot de Discord) - Ventana de ajustes por proyecto ### Integración con Git - **Ramas**: cambiar, crear y borrar, con vista de árbol de ramas locales y remotas - **Sincronización**: pull (rebase), push y merge con detección y resolución de conflictos - **Panel de cambios**: ver archivos preparados, sin preparar y sin seguimiento, preparar/despreparar y hacer commit - **Historial de commits**: grafo de commits al estilo IntelliJ renderizado en SVG, filtrado por rama y autor, desplazamiento infinito - **Cherry-pick y revert**: operaciones avanzadas desde el historial - **Gestión de worktrees**: crear, cambiar y borrar worktrees de git, con insignia de cambio rápido en la barra de herramientas - **Gestión de stashes**: guardar, aplicar, extraer e inspeccionar - **Búsqueda en el historial**: búsqueda de texto completo en el historial de commits - **Descartar cambios**: descarta rápidamente las ediciones sin preparar, archivo por archivo - **Enmendar commits**: edita el mensaje o el contenido del último commit antes de subirlo - **Mensajes de commit por IA**: genera automáticamente mensajes convencionales mediante la API de GitHub Models - **Pull requests**: crea y consulta PR directamente desde la aplicación ### Integración con GitHub - Autenticación OAuth Device Flow (segura, sin copiar y pegar tokens) - **Soporte de GitHub Enterprise**: conexión a instancias autoalojadas de GitHub Enterprise - **Búsqueda de repositorios en el asistente de clonado**: busca repos de GitHub por nombre sin salir de la aplicación - **Píldora de estado CI/CD**: estado en vivo de la última ejecución mostrado en la barra de cabecera de la terminal, con un botón para saltar directamente al paso que falló - Consulta de ejecuciones de CI/CD por repositorio - Ver, crear y revisar pull requests desde la aplicación; soporte multi-forja (GitHub, GitLab) - Token almacenado de forma segura mediante keytar (Administrador de credenciales de Windows, Llavero de macOS, libsecret en Linux) ### Torre de control - Vista en tiempo real de todos los agentes de Claude activos, en todos los proyectos - Mira qué hace cada agente (herramientas en curso, estado actual, última actividad) - Vista de rejilla: una tarjeta por sesión abierta, agrupada por proyecto, con miniaturas de terminal en vivo, insignia de modelo y botones de sesión nueva por proyecto - Filtros y ordenación: por proyecto, por estado, búsqueda de texto, ordenados por tu última interacción - Vista de foco: maximiza cualquier sesión dentro del panel, con una tira de las demás sesiones del proyecto, títulos de sesión editables y salto de un clic a la vista de Claude - Las sesiones terminadas siguen resaltadas hasta que las has visto, para que nada se escape - Interrumpe cualquier sesión en curso directamente desde el panel - Responde a los avisos de AskUserQuestion sin cambiar a la pestaña de chat - Herramientas MCP para la supervisión de agentes y la interrupción remota ### Tareas paralelas - Descompón una funcionalidad en subtareas paralelas y ejecútalas a la vez como agentes de Claude independientes - Cada tarea se ejecuta en su propio worktree y rama de git, manteniendo el trabajo aislado - El modo automático deja que Claude decida el número óptimo de tareas paralelas - Tarjetas de tarea plegables con visor de diff y acceso a terminal por tarea - Agente de fusión automática: Claude revisa y fusiona las ramas terminadas en tu rama principal - Estado completo de la ejecución guardado en disco y restaurado al reiniciar ### Repetición de sesión - Recorre tus sesiones anteriores de Claude Code y repítelas paso a paso - La vista cronológica muestra todos los prompts, llamadas a herramientas y respuestas en orden - Control deslizante estilo reproductor de vídeo para saltar a cualquier punto de la sesión - Tarjetas de preguntas y respuestas que destacan los intercambios para una revisión fácil ### Panel principal - Tres subvistas: **Resumen**, **Kanban** y **Cronología** - Resumen: rama actual, commits por delante/por detrás, commits recientes, colaboradores - Estadísticas de código: líneas por lenguaje, número de archivos, número de commits - Número de terminales activas - Seguimiento del uso de la API de Claude con actualización automática - **Cronología del proyecto**: todos los registros que la aplicación ya guarda, fusionados en una sola vista cronológica — commits, sesiones de Claude, tiempo registrado, ejecuciones de workflows, ejecuciones paralelas y artefactos — filtrable por periodo y por tipo, para que «qué le ha pasado a este proyecto» quepa en una pantalla en vez de seis ### Registro de tiempo - Detección automática de sesiones por proyecto (15 min de inactividad, detección de suspensión/reanudación) - Almacenamiento ligero e independiente (`timetracking.json`) con archivos mensuales - Vista por periodo: hoy, esta semana, este mes, rango personalizado - Estadísticas: media diaria, racha más larga, gráficos de evolución, sesiones recientes - Cambio de día a medianoche y puntos de control periódicos ### Hooks - Se integra con los hooks del CLI de Claude Code para el seguimiento de actividad en tiempo real - Instalación de un clic en `~/.claude/settings.json` (no destructiva, conserva tus hooks) - Tipos de hook: PreToolUse, PostToolUse, Notification, SessionStart, Stop, DirectoryAdded (se dispara con `/add-dir`) y más - Bus de eventos con eventos normalizados para el seguimiento de sesiones, herramientas y subagentes - Respaldo por lectura de la salida de la terminal cuando los hooks no están disponibles ### Plugins - Explora y descubre plugins desde las marketplaces configuradas - Instala plugins directamente desde la aplicación (mediante el CLI de Claude) - Añade marketplaces de la comunidad por URL de GitHub - Filtrado por categoría y búsqueda - Consulta los detalles y el README de un plugin ### Marketplace de skills - Busca y explora los skills disponibles - Instalación y desinstalación de un clic - **Comprobación de actualizaciones**: mira qué skills y plugins instalados tienen versión nueva - Consulta el README y los detalles de un skill - Caché local para una navegación rápida ### Biblioteca - Gestiona **paquetes de contexto** reutilizables (documentos, fragmentos, contenidos de archivos) y **plantillas de prompt** - Inyecta paquetes de contexto y plantillas de prompt directamente en el chat con las menciones @context y @prompt - Inserta una plantilla de prompt en cualquier terminal con un clic desde la barra de herramientas - Genera skills y agentes en segundo plano con el Agent SDK ### Skills y agentes - Explora y gestiona los skills y agentes de Claude Code - Consulta los archivos SKILL.md y las configuraciones de agentes - **Editor con resaltado de sintaxis**: edita archivos de skills y agentes con números de línea y resaltado completo mediante highlight.js - Carga de skills desde `~/.claude/skills`, los plugins y los recursos incluidos ### Servidores MCP - Configura, arranca y detén servidores MCP - Configuración de variables de entorno - **Registro MCP**: explora y busca en el registro público de servidores MCP ### Sesiones - Consulta las sesiones de Claude Code por proyecto - Recorre el historial de sesiones con marcas de tiempo y metadatos - Fija sesiones arriba y renómbralas en línea desde el diálogo de reanudación - Modal de reanudación de sesión modernizado, con búsqueda y sesiones fijadas - Las sesiones muestran el título real de la conversación en lugar de una marca de tiempo, y se pueden buscar por id - **Mover una sesión a otro proyecto**: reubica una conversación sin perder su historial - Los nombres de pestaña personalizados quedan bloqueados y ya no los sobrescribe en silencio el nombrado automático ### Memoria y conocimiento global - Edita los archivos CLAUDE.md globales, de ajustes y propios del proyecto - Inserción de plantillas para los patrones habituales - **Conocimiento global**: un almacén de hechos, convenciones y preferencias válido para todos los proyectos, una entrada markdown cada uno, disponible en todas las sesiones - Fija, activa/desactiva y busca entradas; las activadas se sincronizan en un bloque marcado de `~/.claude/CLAUDE.md`, con vista previa del bloque antes de escribirlo - Herramientas MCP (`knowledge_list`, `knowledge_write`, `knowledge_search`...) para que Claude pueda leerlas y escribirlas él mismo ### Kanban - Un tablero kanban por proyecto, con columnas personalizadas, arrastrar y soltar entre ellas y archivado - Niveles de prioridad, fechas de vencimiento, etiquetas y asignaciones en las tarjetas - Filtrado, búsqueda y estadísticas por columna - Conjunto completo de herramientas MCP para que Claude cree y mueva tarjetas mientras trabaja, más un nodo de workflow `kanban_create_card` ### Registro de errores - Registro centralizado de todos los errores que la aplicación captura: fallos de IPC, errores de servicios, excepciones y rechazos no gestionados - Filtrado por nivel y por dominio, con detección automática de patrones para agrupar fallos repetidos - **Diagnóstico por IA** de una entrada, y exportación para un informe de error - `critical` significa que la aplicación se rompió de verdad (una excepción o rechazo no gestionado), no simplemente que algo se registró - Herramientas MCP para que Claude pueda leer el registro mientras depura ### Ajustes - Color de acento (paletas predefinidas + hex personalizado) - Tamaño de fuente de la terminal (10 a 24 px), aplicado en vivo a las terminales abiertas - Personalización de colores por agente y por herramienta en las tarjetas de herramientas del chat - Idioma: inglés, francés, español, indonesio y chino simplificado, con detección automática - Integración con editores: VS Code, Cursor, WebStorm, IntelliJ IDEA - Atajos de teclado personalizables - Preferencias de notificaciones de escritorio - Comportamiento al cerrar (preguntar, minimizar a la bandeja o salir) - Iniciar al arrancar el sistema - Actualizaciones automáticas con descarga en segundo plano y banner de instalación, seguidas de un panel **Novedades** en el siguiente arranque, que empieza por lo que ha cambiado y luego da las notas de versión completas - **Discord Rich Presence**: muestra el proyecto en el que trabajas en tu estado de Discord (estilo VSCode), con opción de ocultar el nombre del proyecto; se activa en Ajustes - **La telemetría es opcional y está desactivada por defecto**: no se recoge nada, anónimo o no, mientras no la actives en Ajustes ### Automatización de workflows - **Automatizaciones**: un modo simple sin grafo para las tareas habituales — describe qué debe hacer Claude y cuándo, en un formulario claro, sin editor de nodos ni sintaxis cron, con seis preajustes de partida - Las automatizaciones pueden dispararse por eventos en lugar de por horario: actividad de git, cambio en un archivo, fin de un comando, fin de una sesión de Claude, respuesta de Claude (con filtro de texto opcional) o apertura de un proyecto — cada evento vigila el proyecto que le indiques, con independencia de dónde se ejecute Claude - Editor visual de workflows basado en nodos, con motor de canvas propio (estilo Blueprint) - **31 tipos de nodo**: shell, git, HTTP, Claude (prompt/agente/skill), condición, bucle, transformación, switch, subworkflow, base de datos, archivo, proyecto, tiempo, variable, lectura de variable, disparador, código (ejecutar un snippet de JavaScript), plantilla (construir cadenas a partir de variables), terminal, acción rápida, notificación, notificación de Discord, log, espera, reintento, gestor de errores, webhook, lanzamiento paralelo, resumen de sesión, tarjeta kanban, documento de workspace - Pines de datos tipados, con flujo de datos visual entre nodos - Panel de asistente IA para editar el grafo y crear nodos en tiempo real - Deshacer/rehacer, copiar/pegar, ajuste a la rejilla, minimapa, comentarios - Historial de ejecución con progreso de bucles en vivo e inspección de la salida de cada paso - Hub comunitario de workflows para compartir e importar - **12 tipos de disparador**: manual, cron, hook, webhook, sobre-workflow, mensaje de chat, cambio de archivo, evento de git, apertura de proyecto, código de salida de terminal, inicio de sesión de Claude, fin de sesión de Claude - Herramientas MCP para controlar los workflows por completo desde Claude Code ### Conectividad (remoto y nube) - Una pestaña **Conectividad** unificada que reúne el acceso remoto local y la sincronización en la nube - Servidor relé Docker autoalojado para el acceso remoto a los proyectos - Subida de proyectos y sincronización automática con vigilancia de archivos y resolución de conflictos - **Interruptores de sincronización por entidad**: elige exactamente qué se sincroniza (proyectos, ajustes, skills, agentes, configuraciones MCP, atajos, memoria, hooks, archivos históricos) - **Reanudación de sesión desde la nube**: retoma cualquier sesión desde otra máquina - **Notificaciones entre máquinas**: recibe un aviso en tu escritorio cuando termina una sesión en la nube - Sesiones de Claude sin interfaz ejecutándose en la nube - Modal de diff para comparar archivos locales y de la nube - Perfiles de usuario y gestión de sesiones - Script de instalación automatizado con Docker, proxy inverso y SSL ### Proyectos remotos SSH - Abre un proyecto que vive en otra máquina por SSH, al estilo de IntelliJ Gateway: la aplicación sigue siendo la interfaz, mientras terminales, chat de Claude, git y archivos se ejecutan en el host - Usa el cliente OpenSSH del sistema, así que `~/.ssh/config`, las claves, `ssh-agent`, ProxyJump y el reenvío de agente funcionan igual que en una terminal. La aplicación no guarda contraseñas ni claves: una contraseña se escribe en el propio aviso de OpenSSH y nunca se guarda - **Abrir proyecto remoto**: elige un perfil de host guardado, explora sus carpetas y luego abre una, crea una, ejecuta `git init` o clona un repositorio en ella - Una insignia de host en cada proyecto remoto muestra el estado de la conexión. Una conexión perdida se restablece sola, y las pestañas de terminal y de chat siguen donde estaban (dentro de tmux si lo activas) - Claude Code se ejecuta en el host (debe estar instalado allí, y la aplicación te avisa si no lo está), y el historial de sesiones se lee del host - El panel Git, el panel de control, el explorador de archivos, la pantalla Archivos, las pestañas de archivos y los diffs funcionan en el host. VS Code, Cursor y Windsurf abren los archivos remotos con su extensión Remote-SSH - No se instala nada en el host: ni agente ni demonio, solo una sesión `sh` por conexión - Las funciones que solo tienen sentido en local (paneles por tipo de proyecto, tareas paralelas, nodos de workflow que se ejecutan en esta máquina, vinculación de cuenta, subida a la nube, Abrir en el explorador) aparecen desactivadas, con el motivo como descripción emergente ### Panel de base de datos - Soporte multi-driver: SQLite, MySQL, MariaDB, PostgreSQL, MongoDB - **Explorador de Redis**: explorador de claves en árbol, con inspección de valores según su tipo - Navegador de datos a dos paneles con edición en línea - Editor SQL con resaltado de sintaxis, plantillas y ejecución de varias sentencias - Inserción y borrado de filas, filtro de búsqueda - Selector de base de datos propio para cambiar de conexión rápidamente - Pool de conexiones con expulsión de las inactivas ### Workspace - Centros de conocimiento **entre proyectos**: agrupa proyectos relacionados en torno a una base de conocimiento compartida, para que el contexto que abarca varios repositorios tenga dónde vivir - Documentos markdown con etiquetas y búsqueda de texto completo en todo el workspace - **Enlaces de conceptos**: registra relaciones entre entidades (`Web App depends-on API Service`) y visualízalas como un grafo - **Chat asesor**: haz preguntas sobre tu workspace y obtén respuestas basadas en el contenido de tu base de conocimiento - **Mención @workspace**: escribe @workspace en el chat para inyectar tu base de conocimiento como contexto - Herramientas MCP para leer y escribir el contenido del workspace desde Claude Code ### Servidor MCP (claude-terminal) Un servidor MCP unificado, configurado automáticamente por la aplicación, que expone Claude Terminal a Claude Code. **23 módulos de herramientas**, cargados dinámicamente — basta con dejar un `.js` nuevo en `resources/mcp-servers/tools/` para registrarlo. | Módulo | Qué le da a Claude | | --- | --- | | `projects` | Listar proyectos, información de proyecto, detección de TODO/FIXME | | `timetracking` | Hoy, esta semana, por proyecto y estadísticas de resumen | | `sessions` | Listar, repetir, búsqueda por palabra clave entre proyectos, resumen de sesión | | `workflow` | Crear, editar, ejecutar, cancelar, diagnosticar, registros de ejecución, variables | | `automation` | Listar, ver, crear, actualizar, activar/desactivar y borrar automatizaciones | | `parallel` | Iniciar, listar, inspeccionar, cancelar, fusionar y limpiar ejecuciones paralelas | | `kanban` | Columnas y tarjetas: añadir, mover, actualizar, filtrar, estadísticas | | `knowledge` | Hechos entre proyectos: listar, leer, buscar, escribir, borrar | | `workspace` | Listar, información, leer/escribir documentos, buscar, enlaces de conceptos | | `artifacts` | Listar, leer, buscar, versiones, estadísticas, borrar | | `database` | Consultar, listar/describir tablas, esquema completo, estadísticas, exportar | | `terminal` | Crear, listar, enviar un comando, leer la salida, cerrar | | `tabs` | Orquestación de pestañas con control de permisos | | `sidebar` | `ui_navigate` y `ui_state` para controlar y leer el panel visible | | `control-tower` | Listar agentes activos, interrumpir uno de forma remota | | `errorlog` | Entradas, estadísticas, patrones, exportar, limpiar | | `usage` | Leer y actualizar el uso de Claude | | `settings` | Leer y escribir los ajustes de la aplicación | | `marketplace` / `plugins` | Buscar, instalar y desinstalar skills y plugins | | `webapp` / `fivem` / `discord` | Herramientas propias de cada tipo de proyecto | También se incluye un servidor `database-mcp-server.js` especializado para uso exclusivo de bases de datos. ### Vista previa de WebApp - Vista previa en vivo con webview de Chromium (sustituye al iframe) - Comentarios visuales con anotaciones de múltiples chinchetas por página - Comprobador de puntos de ruptura responsive - Escáner de detección automática de problemas visuales - Herramienta de medición de espaciado con regla - Panel de auditoría de accesibilidad con axe-core ### Control remoto (PWA autoalojada) - PWA móvil para controlar desde el teléfono o el navegador, servida por la propia aplicación - Relé en la nube para el acceso fuera de tu red local (mediante servidor autoalojado) - Supervisión de sesión en tiempo real, interacción con el chat y cambio de proyecto - Autenticación con PIN de 6 dígitos y código QR - Totalmente traducida, viene con su propia content-security-policy, y su transcripción sobrevive a más de un turno > [!NOTE] > Este es el control remoto **autoalojado**, distinto de [Claude Remote Control](#claude-remote-control-claudeai-y-móvil), que pone una sesión en claude.ai y en la app móvil oficial de Claude. Puedes usar uno, otro o ambos. ### Personalización de la barra lateral - Arrastra y suelta las pestañas de la barra lateral para ordenarlas a tu manera - Fija las pestañas más usadas; las menos usadas se recogen en un menú «Más» - Personaliza mediante un modal o directamente arrastrando ### Paleta de comandos - Paleta de comandos unificada (Ctrl+P) con búsqueda difusa sobre proyectos, comandos y acciones rápidas - Lanzador inteligente con esqueleto de carga animado y resaltado de coincidencias - Navega a cualquier panel o dispara cualquier acción sin tocar el ratón ### Actualización automática de CLAUDE.md - Al terminar una sesión, Claude analiza la conversación y propone añadidos pertinentes al CLAUDE.md de tu proyecto - Revisa y acepta las sugerencias en un modal estilo diff antes de que se apliquen ### Otros - **Restauración de sesión**: guarda y restaura el espacio de trabajo completo entre reinicios - **Visores de archivos**: visor .md integrado, visor de PDF y visor de modelos 3D (.glb, .gltf, .obj) en el panel de terminal - **Métricas del panel**: insignias de salud del proyecto y mapa de calor de commits - **Vigilante del explorador**: actualización automática del árbol ante cambios en el sistema de archivos - **Menús contextuales de pestaña**: clic derecho en cualquier pestaña para las acciones rápidas - **Persistencia del estado de la ventana**: recuerda posición, tamaño y estado maximizado - Asistente de primer arranque con instalación opcional de hooks - Integración con la bandeja del sistema, con icono en el color de acento - Notificaciones toast personalizadas, apilables, con transparencia que deja pasar el clic y botones de acción - Atajos globales (`Ctrl+Shift+P` / `Cmd+Shift+P` selector rápido, `Ctrl+Shift+T` / `Cmd+Shift+T` nueva terminal) - Bloqueo de instancia única - Instalador NSIS personalizado con imágenes de marca (Windows), DMG (macOS), AppImage (Linux), Snapcraft, Flatpak - Gestión de servidor FiveM (arranque, consola integrada, escaneo de recursos, asistente de creación de recursos) - Tipo de proyecto Minecraft con generador de plugins Java y scripts de arranque adaptados a la plataforma - Gestión de aplicaciones web con detección automática del framework y plantillas de andamiaje - Detección de proyectos Python (versión, venv, dependencias, punto de entrada) - Tipo de proyecto API con probador de rutas integrado, variables y consola - **Tipo de proyecto bot de Discord**: constructor visual de embeds y componentes con vista previa en vivo ## Uso ```bash # Instalar las dependencias una vez npm install # Compilar el renderer y ejecutar la aplicación npm start # Ejecutar con las DevTools abiertas npm run start:dev # Compilar el renderer en modo watch (desarrollo) npm run watch ``` > [!TIP] > Si modificas archivos bajo `src/renderer/`, `src/project-types/` o `renderer.js`, ejecuta `npm run build:renderer` antes de empaquetar o abrir una PR. ## Compilación ```bash # Compilar para la plataforma actual npm run build # Compilar para una plataforma concreta npm run build:win # Windows (instalador NSIS) npm run build:mac # macOS (DMG) npm run build:linux # Linux (AppImage) ``` El instalador se genera en el directorio `build/`. ## Pruebas ```bash # Ejecutar la suite de pruebas (149 suites de Jest, jsdom) npm test # Pruebas en modo watch durante el desarrollo npm run test:watch # ESLint sobre main, renderer, shared, servidores MCP y scripts npm run lint npm run lint:fix # Falla si CLAUDE.md se ha desviado del árbol que describe npm run check:docs # Prueba de humo con Playwright sobre la aplicación Electron real npm run test:e2e ``` La CI ejecuta tres trabajos en cada push y cada PR: `lint` (rápido, falla primero), `test` (Node 18 y 20 en Windows, Linux y macOS) y `e2e` (Ubuntu bajo `xvfb-run`). El trabajo E2E es **bloqueante**: abre la aplicación real, recorre cada pestaña de la barra lateral y falla ante cualquier error de consola del renderer o caída del proceso principal. `npm run test:e2e` se mantiene fuera de `npm test` porque necesita una pantalla y un bundle del renderer compilado. Ejecutarlo en local requiere además los módulos nativos compilados contra la ABI de Electron (`npm run postinstall`). --- ## Atajos de teclado | Atajo | Acción | | --- | --- | | `Ctrl+Shift+P` | Selector rápido de proyecto (global) | | `Ctrl+Shift+T` | Nueva terminal en el proyecto actual (global) | | `Ctrl+Shift+W` | Nuevo worktree (global) | | `Ctrl+Shift+E` | Panel de sesiones | | `Ctrl+T` | Crear terminal | | `Ctrl+W` | Cerrar terminal | | `Ctrl+N` | Nuevo proyecto | | `Ctrl+E` | Mostrar/ocultar el explorador de archivos | | `Ctrl+P` | Selector rápido | | `Ctrl+,` | Ajustes | | `Ctrl+←` / `Ctrl+→` | Cambiar de terminal (izquierda/derecha) | | `Ctrl+↑` / `Ctrl+↓` | Cambiar de proyecto (arriba/abajo) | | `Ctrl+F` | Buscar en la transcripción de la conversación | | `Esc` | Cerrar diálogos | Los atajos se pueden personalizar en Ajustes. --- ## Arquitectura Claude Terminal es JavaScript CommonJS sin más, tipado con JSDoc. Sin TypeScript y sin framework de frontend: el renderer lo empaqueta esbuild en ESM con code splitting. ``` claude-terminal/ ├── main.js # Punto de entrada de Electron, ciclo de vida, bloqueo de instancia ├── renderer.js # Entrada del renderer (empaquetado a dist/renderer.bundle.js) ├── index.html # UI de la ventana principal ├── notification.html # Ventana de notificación toast personalizada ├── quick-picker.html # Ventana de la paleta de comandos ├── setup-wizard.html # Asistente de primer arranque ├── styles/ # 30 archivos CSS modulares, @importados por index.css ├── src/ │ ├── main/ # ── Proceso principal (Node.js) ── │ │ ├── preload.js # Puente de contexto (window.electron_api) │ │ ├── preload-quickpicker.js # Preload de la ventana de la paleta │ │ ├── ipc/ # 34 archivos IPC, 322 handlers │ │ │ ├── index.js # Orquestador, registra cada handler │ │ │ ├── git.ipc.js # 69 handlers, el mayor │ │ │ ├── chat.ipc.js # Sesiones en streaming del Agent SDK │ │ │ ├── github.ipc.js # OAuth device flow, PR, ejecuciones de CI │ │ │ └── ... # terminal, dialog, workflow, remote, database, │ │ │ # accounts, knowledge, artifacts, workspace, │ │ │ # parallel, cloud-*, errorLog, voice, chrome... │ │ ├── services/ # 35 servicios │ │ │ ├── ChatService.js # Puente al Claude Agent SDK │ │ │ ├── TerminalService.js # node-pty, agrupado adaptativo de la salida │ │ │ ├── AccountManager.js # Varias cuentas de Claude │ │ │ ├── RemoteControlService.js # Puente claude.ai / móvil │ │ │ ├── ChromeBridgeService.js # Claude en Chrome │ │ │ ├── WorkflowService.js # + Runner, Scheduler, Storage │ │ │ ├── ParallelTaskService.js # Un worktree por subtarea │ │ │ ├── KnowledgeService.js # Base de conocimiento global │ │ │ ├── ErrorLogService.js # Recogida centralizada de errores │ │ │ └── ... │ │ ├── windows/ # MainWindow, QuickPicker, SetupWizard, Tray, Notification │ │ ├── utils/ # paths, git, shell, fileLock, claudeBridge, sdkCli... │ │ └── workflow-nodes/ # 31 tipos de nodo, un *.node.js cada uno, autorregistrados │ ├── renderer/ # ── Proceso renderer (navegador) ── │ │ ├── index.js # Cargador de módulos y secuencia de arranque │ │ ├── core/ # Contenedor DI, BaseService/Component/Panel, ApiProvider │ │ ├── state/ # 17 módulos de estado observables (clase base State.js) │ │ ├── services/ # 28 servicios │ │ │ ├── MarkdownRenderer.js # + subsistema markdown/ (configure, streaming, │ │ │ │ # postProcess, interactivity, blocks) │ │ │ ├── WorkflowGraphEngine.js # Editor de nodos en canvas propio (sin LiteGraph) │ │ │ ├── DiffRenderer.js # Diffs unificados al estilo de GitHub │ │ │ ├── ProjectTimeline.js # Fusiona seis conjuntos de registros en una cronología │ │ │ ├── VoiceCaptureService.js │ │ │ └── mention-sources/ # Fuentes de @mención y paleta, enchufables │ │ ├── ui/ │ │ │ ├── components/ # 18 componentes (ChatView, TerminalManager, │ │ │ │ # FileExplorer, ProjectList, ProjectBar, Modal...) │ │ │ ├── panels/ # 25 paneles (Settings, GitChanges, ControlTower, │ │ │ │ # ParallelTask, Workspace, Database, Kanban, │ │ │ │ # ErrorLog, Files, Artifacts, Connectivity...) │ │ │ └── themes/ # terminal-themes.js │ │ ├── features/ # KeyboardShortcuts, QuickPicker, DragDrop │ │ ├── events/ # ClaudeEventBus + proveedores Hooks / Scraping │ │ ├── workflow-fields/ # 13 campos de UI propios para los nodos │ │ ├── workflow-triggers/ # 12 tipos de disparador (definición + configurador) │ │ ├── viewers/ # Visor de PDF, visor 3D (three.js) — ESM, carga diferida │ │ ├── i18n/locales/ # en, fr, es, id, zh-CN (3641 claves cada uno, sincronizadas) │ │ └── utils/ # dom, color, format, paths, fileIcons, syntaxHighlight │ ├── shared/ # 12 módulos compartidos por main, renderer y el servidor MCP │ │ ├── artifact-store.js # Usado tal cual por el proceso del servidor MCP │ │ ├── model-options.js # Definición del nivel premium │ │ ├── permission-modes.js # Modos del SDK <-> grafías antiguas de executionMode │ │ └── simple-task.js # Compila una automatización en un grafo de workflow │ └── project-types/ # Sistema de tipos enchufable (base-type.js + registry.js) │ ├── general/ api/ webapp/ python/ minecraft/ fivem/ discord/ │ └── ... # cada uno: main/ servicio+ipc, renderer/ dashboard+wizard, i18n/ ├── resources/ │ ├── mcp-servers/ # Servidores MCP incluidos │ │ ├── claude-terminal-mcp.js # Servidor unificado │ │ ├── database-mcp-server.js # Servidor solo de base de datos │ │ └── tools/ # 23 módulos de herramientas autorregistrados │ ├── bundled-skills/ # create-skill, create-agents │ └── hooks/ # Script de hook, envía los eventos por HTTP ├── remote-ui/ # PWA móvil, incluida como extraResources ├── tests/ # 149 suites de Jest + una prueba de humo con Playwright ├── scripts/build-renderer.js # Empaquetador esbuild └── website/ # Página de inicio, changelog, avisos legales ``` > `cloud/` (el relé) y `hub-worker/` (un Cloudflare Worker) son paquetes independientes > con su propio `package.json`. Ninguno se incluye en la aplicación de escritorio. ### Fronteras La separación main/renderer la impone ESLint, no solo la convención: - El renderer nunca obtiene `child_process`, `fs`, `net` ni `electron` directamente. Habla con el proceso principal únicamente a través de `window.electron_api`. **`child_process` no se expone nunca, deliberadamente**: el renderer muestra markdown escrito por un modelo, así que un puente al lanzamiento de procesos convertiría cualquier inyección de HTML en ejecución de código. - `contextIsolation: true` y `nodeIntegration: false` en las cinco ventanas. - La CSP de `index.html` no tiene `'unsafe-inline'`, así que el HTML inyectado en el chat no puede ejecutar scripts. Todo el markdown renderizado pasa por `dompurify`. Si una de estas reglas salta, el arreglo es un handler IPC nuevo, no un `eslint-disable`. --- ## Contribuir Consulta [CONTRIBUTING.md](CONTRIBUTING.md) para las pautas. Para contribuciones de traducción, consulta la [sección Traducciones (i18n)](CONTRIBUTING.md#translations-i18n). Para contribuir traducciones, consulta nuestra [guía de i18n](.github/i18n-coverage.md). ## Seguridad Consulta [SECURITY.md](SECURITY.md) para informar de una vulnerabilidad. ## Licencia [GPL-3.0](LICENSE) Consulte las [notas de ejecución, protección de datos y recuperación](RUNTIME_RELIABILITY.md) (en inglés) para conocer las condiciones de despliegue y los comandos de validación.