English •
Français •
Español •
Bahasa Indonesia •
简体中文 •
Português (Brasil)
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
---
## 📊 Salud del proyecto
### Colaboradores
### Actividad
[](https://github.com/Sterll/claude-terminal/graphs/commit-activity)
[](https://github.com/Sterll/claude-terminal/commits/main)
[](https://github.com/Sterll/claude-terminal/issues)
[](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.