Claude Terminal

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

Downloads Version Platform License Electron CI Status Contributors i18n francês i18n espanhol i18n indonésio i18n chinês simplificado

Um aplicativo desktop multiplataforma para gerenciar projetos Claude Code com terminal integrado, fluxos de trabalho git, gerenciamento de plugins e muito mais.

Site • Baixar • Twitter • Buy Me a Coffee

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

Top language Languages count Code size

--- ## 📊 Saúde do projeto ### Contribuidores Contributors ### Atividade [![Commit activity](https://img.shields.io/github/commit-activity/m/Sterll/claude-terminal?label=commits%2Fmonth)](https://github.com/Sterll/claude-terminal/graphs/commit-activity) [![Last 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) ### Internacionalização (i18n) | Idioma | Cobertura | Chaves | | --- | --- | --- | | 🇺🇸 Inglês (base) | ![100%][i18n-en-badge] | 3641 / 3641 | | 🇫🇷 Francês | ![i18n fr][i18n-fr-badge] | 3641 / 3641 | | 🇪🇸 Espanhol | ![i18n es][i18n-es-badge] | 3641 / 3641 | | 🇮🇩 Indonésio | ![i18n id][i18n-id-badge] | 3641 / 3641 | | 🇨🇳 Chinês simplificado | ![i18n zh-CN][i18n-zh-cn-badge] | 3641 / 3641 | > Os selos de cobertura são atualizados automaticamente a cada push nos arquivos de idioma. > Veja [`.github/i18n-coverage.md`](.github/i18n-coverage.md) para detalhes e > instruções sobre como adicionar um novo idioma. [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 --- ## Sumário - [Pré-requisitos](#pré-requisitos) - [Instalação](#instalação) - [Funcionalidades](#funcionalidades) - [Uso](#uso) - [Compilação](#compilação) - [Testes](#testes) - [Atalhos de teclado](#atalhos-de-teclado) - [Arquitetura](#arquitetura) - [Contribuindo](#contribuindo) - [Segurança](#segurança) --- ## Pré-requisitos - [Node.js](https://nodejs.org/) 18+ - [Claude Code](https://github.com/anthropics/claude-code) instalado globalmente - **Windows** 10 ou 11 - **macOS** 12+ (Intel ou Apple Silicon) - **Linux** Ubuntu 22.04+, Fedora 38+ ou equivalente - O AppImage exige `libfuse2` no Ubuntu 24.04+: `sudo apt install libfuse2` - O armazenamento do token do GitHub exige `libsecret`: `sudo apt install libsecret-1-dev gnome-keyring` ## Instalação Baixe o instalador mais recente em [Releases](https://github.com/Sterll/claude-terminal/releases). > [!IMPORTANT] > **Usuários de macOS:** se aparecer *"Claude Terminal is damaged and can't be opened"*, execute isto no Terminal: > ```bash > xattr -cr /Applications/Claude\ Terminal.app > ``` > Isso é necessário porque o app ainda não tem assinatura de código. Como alternativa, clique com o botão direito no app → Abrir. Ou compile a partir do código-fonte: ```bash git clone https://github.com/Sterll/claude-terminal.git cd claude-terminal npm install ``` --- ## Funcionalidades ### Interface de chat (Claude Agent SDK) - Interface de chat integrada, baseada no Claude Agent SDK, com respostas em streaming - Fechar uma aba de chat cancela a inicialização pendente e encerra a sessão do SDK; prompts atrasados não conseguem reabrir uma aba fechada. - **Renderização rica de markdown**: diagramas mermaid, matemática KaTeX, código com realce de sintaxe, árvores de arquivos, quadros kanban, blocos de diff, pré-visualizações HTML e mais - **Cartões de permissão**: Permitir, Sempre permitir ou Negar pedidos de uso de ferramentas; quando uma das suas próprias regras `permissions.ask` dispara o pedido, o cartão cita essa regra e esconde o Sempre permitir, para que ela não seja descartada com um clique - **Modo de planejamento**: revise e aprove/rejeite os planos do agente antes da execução - **Blocos de raciocínio**: seções expansíveis que mostram o raciocínio do Claude - **Cartões de ferramenta**: cartões recolhíveis que mostram a execução das ferramentas com detalhes formatados, incluindo atualização de ferramentas MCP, envio de feedback e ações de proposta de skill - **Visualização de subagentes**: acompanhamento aninhado das tarefas dos agentes criados, com o resumo de cada subagente mostrando o branch do seu git worktree e qualquer troca de modelo durante a execução - **Widget de tarefas**: lista de tarefas persistente acima do campo de entrada, que some sozinha ao concluir - **Anexos**: cole, arraste e solte ou escolha imagens PNG/JPEG/GIF/WebP (até 20MB), além de arquivos de texto e PDFs - **Comandos de barra**: comandos com autocompletar (/compact, /clear, /help, skills personalizadas) - **@menções inline**: o campo de entrada contenteditable permite digitar @menções inline sem sair da área de composição da mensagem - **Retrocesso de arquivos**: reverta o contexto do chat para um estado anterior dos arquivos via checkpoints do SDK, útil para desfazer edições indesejadas no meio da sessão - **Controle de custos**: nome do modelo, contagem de tokens e custo em USD na barra de status - **Janela de contexto de 1M**: contexto estendido para bases de código maiores (somente no modo API) - **Troca dinâmica de modelo e esforço**: o seletor de modelo é montado em tempo real a partir do catálogo do próprio Claude CLI, então modelos recém-lançados (por exemplo, Fable 5.1) aparecem automaticamente; troque o modelo e o nível de esforço (low, medium, high, xhigh) no meio da conversa sem abrir uma nova sessão - **Modelo, esforço e modo de permissão por conversa**: cada aba guarda suas próprias configurações, então uma escolha em uma conversa nunca vaza para a próxima. Os valores salvos são apenas os padrões com que uma nova aba começa, alterados pela linha "Usar em novas conversas" de cada menu - **Modos de permissão**: alterne entre padrão, aceitar edições, planejamento e ignorar permissões direto do compositor, no meio da sessão - **Nível de modelo Premium**: os modelos da família Fable são destacados em violeta com um selo "Premium", uma marcação na aba e um aviso quando uma nova aba herda um deles, porque a família consome seu próprio limite de uso - **Gaveta de tarefas em segundo plano**: uma gaveta recolhível, restrita à sessão atual, mostra o que o Claude está executando em segundo plano, para você continuar conversando enquanto ele termina - **Biblioteca de artefatos e aba Documentos**: arquivos e trechos gerados pelo Claude são salvos em uma biblioteca de artefatos reutilizável e também aparecem em uma aba Documentos por conversa para acesso rápido, com um painel Artefatos dedicado listando tudo o que foi publicado para o projeto - **Busca na conversa**: pressione Ctrl+F para buscar na transcrição da conversa atual - **Fixar conversas**: mantenha sessões importantes no topo da lista - **Bifurcar sessões**: crie um ramo a partir de qualquer mensagem para explorar caminhos alternativos; o Claude Terminal avisa em vez de descartar se um turno na fila fosse ser perdido - **Sugestões de continuação**: chips de sugestão sensíveis ao contexto aparecem depois que o Claude responde, para ajudar a guiar a conversa - **Resumos de sessão**: resumos gerados automaticamente por IA das sessões concluídas - Digite @project para anexar o README.md e a árvore de arquivos de qualquer projeto como contexto - Digite **@tab** para compartilhar sua sessão de terminal atual ou **@conversation** para referenciar outra conversa - Digite **@context** para injetar um pacote de contexto ou **@prompt** para inserir um modelo de prompt salvo direto na sua mensagem - **Aprimoramento de prompt**: reescrita da sua mensagem por IA com um clique, usando o Haiku, para instruções mais claras antes de enviar - Interrompa o streaming no meio do turno; nomes de abas gerados automaticamente pelo modelo haiku - Indicador de compactação exibido durante a compactação da conversa, para você saber quando o contexto está sendo comprimido ### Terminais - Vários terminais Claude Code por projeto, com interface em abas - Renderização acelerada por GPU via xterm.js + WebGL (com fallback para DOM) - Alterne entre modo terminal e modo chat em cada aba - Reordenação de abas por arrastar e soltar, renomeação, notificações na área de trabalho - Filtre terminais por projeto - Detecção adaptativa de prontidão com status em spinner - Saída do terminal capturada, para que as ferramentas de leitura de terminal e as ferramentas MCP realmente retornem o que foi executado ### Navegação - Escolha como navegar pelos projetos: uma barra de abas de projeto no topo ou uma coluna clássica de projetos na lateral - Perguntado uma vez no assistente de configuração inicial, e alterável a qualquer momento nas Configurações ### Arquivos - Uma tela Arquivos dedicada mostra cada arquivo tocado em uma sessão, com diffs por sessão renderizados no estilo do GitHub - Revise rapidamente o que o Claude mudou sem sair do contexto do chat - Ou mantenha a árvore do projeto encaixada ao lado da conversa, como era antes da tela Arquivos ### Contas - Vincule uma conta Claude separada a cada projeto, com seu próprio armazenamento de credenciais isolado - Troque de projeto sem trocar de conta manualmente, e sem que o login de um projeto afete o de outro - Uso por conta exibido nas Configurações, e uma troca por limite de uso que leva a conversa junto ### Claude Remote Control (claude.ai e celular) - Coloque uma sessão de chat no [claude.ai/code](https://claude.ai/code) e no app móvel do Claude, para acompanhá-la ou conduzi-la pelo celular - Decidido **por conversa**, nunca globalmente: uma sessão entra quando você pede naquela aba, pelo botão do rodapé ou pelo comando `/remote-control` - Espelho somente leitura ou controle total, você escolhe; prompts, interrupções e respostas de permissão voltam todos para o desktop - `--rc` opcional nas abas de terminal para que as sessões do CLI também entrem - Uma aba **Conectividade → claude.ai** lista cada conversa compartilhada, com um caminho de volta para cada aba - Respeita a chave de desligamento `disableRemoteControl` das configurações gerenciadas do Claude Code, para que uma política da organização não possa ser suspensa pelo app ### Claude in Chrome - Permita que as sessões de chat controlem seu navegador pela extensão Claude para Chrome - Adiciona à sessão o servidor MCP `claude-in-chrome` e suas 22 ferramentas de navegador - Opcional, e adota o native messaging host já existente do Claude Code em vez de sobrescrevê-lo ### Voz - Dite mensagens para o campo do chat pelo microfone (transcrição via Groq) - Modo de ditado literal com roteamento para a aba em foco, para que suas palavras caiam na conversa certa - Perfil de sessão mãos-livres para sessões totalmente guiadas por voz - Pronuncia os nomes dos projetos do jeito que você os diria, para que as @menções por voz sejam resolvidas corretamente ### Gerenciamento de projetos - Organize projetos em pastas aninhadas com arrastar e soltar - Personalize cada projeto com cores e ícones emoji - Barra de Ações rápidas: comandos de um clique configuráveis por projeto (build, test, deploy, scripts personalizados...) - Explorador de arquivos integrado com visualização em árvore, seleção múltipla, busca, indicadores de status do git e renomeação inline; clique com o botão direito em qualquer arquivo para anexá-lo como contexto no chat atual - Sistema modular de tipos de projeto (padrão, FiveM, webapp, Python, API, Minecraft, bot do Discord) - Modal de configurações por projeto ### Integração com Git - **Branches**: alterne, crie e exclua, com visualização em árvore dos branches locais/remotos - **Sincronização**: pull (rebase), push, merge com detecção e resolução de conflitos - **Painel de alterações**: veja arquivos staged/unstaged/untracked, faça stage/unstage e commit - **Histórico de commits**: grafo de commits no estilo IntelliJ com renderização SVG, filtro por branch/autor, rolagem infinita - **Cherry-pick e revert**: operações avançadas de commit a partir do histórico - **Gerenciamento de worktrees**: crie, alterne e exclua Git worktrees, com um selo de troca rápida na barra de ferramentas - **Gerenciamento de stash**: salve, aplique, faça pop e inspecione stashes - **Busca no histórico**: busca de texto completo no histórico de commits - **Descartar alterações**: descarte rapidamente edições unstaged por arquivo - **Amend de commits**: edite a mensagem ou o conteúdo staged do último commit antes do push - **Mensagens de commit com IA**: gere automaticamente mensagens de commit convencionais via GitHub Models API - **Pull Requests**: crie e visualize PRs direto do app ### Integração com GitHub - Autenticação por OAuth Device Flow (segura, sem copiar e colar token) - **Suporte ao GitHub Enterprise**: conecte-se a instâncias auto-hospedadas do GitHub Enterprise - **Busca de repositórios no assistente de clone**: busque repositórios do GitHub pelo nome sem sair do app - **Pílula de status de CI/CD**: status em tempo real da última execução de workflow, exibido direto na barra de cabeçalho do terminal, com um botão Corrigir para ir direto à etapa que falhou - Veja as execuções de workflows de CI/CD por repositório - Veja, crie e revise pull requests pelo app; suporte a várias forjas (GitHub, GitLab) - Token armazenado com segurança via keytar (Windows Credential Manager, macOS Keychain, Linux libsecret) ### Control Tower - Visão geral em tempo real de todos os agentes Claude ativos em todos os projetos - Veja o que cada agente está fazendo (ferramentas em execução, status atual, última atividade) - Visão em grade: um cartão por sessão aberta, agrupado por projeto, com miniaturas do terminal ao vivo, selo do modelo e botões de nova sessão por projeto - Filtros e ordenação: por projeto, por status, busca por texto, ordenado pela sua última interação - Visão em foco: maximize qualquer sessão dentro do painel com uma tira das outras sessões do projeto, títulos de sessão editáveis e salto com um clique para a visão do Claude - Sessões concluídas continuam destacadas até você vê-las, para que nenhum trabalho terminado passe despercebido - Interrompa qualquer sessão em execução direto do painel - Responda a prompts AskUserQuestion sem mudar para a aba do chat - Ferramentas MCP para monitoramento de agentes e interrupção remota ### Tarefas paralelas - Decomponha uma funcionalidade em subtarefas paralelas e execute-as simultaneamente como agentes Claude separados - Cada tarefa roda no seu próprio Git worktree e branch, mantendo o trabalho isolado - O modo automático deixa o Claude decidir o número ideal de tarefas paralelas - Cartões de tarefa recolhíveis com visualizador de diff e acesso ao terminal por tarefa - Agente de auto-merge: o Claude revisa e faz merge dos branches concluídos no seu branch principal - Estado completo da execução persistido em disco e restaurado ao reiniciar o app ### Replay de sessões - Navegue pelas sessões anteriores do Claude Code e reproduza-as passo a passo - A linha do tempo mostra todos os prompts, chamadas de ferramentas e respostas em ordem cronológica - Barra de rolagem no estilo de player de vídeo para saltar para qualquer ponto da sessão - Cartões de perguntas e respostas destacam as trocas de pergunta e resposta para facilitar a revisão ### Painel - Abra o projeto selecionado direto pela barra superior; ações e dados em cache aparecem imediatamente enquanto Git, estatísticas de código e dados do GitHub carregam progressivamente - Três subvisões: **Visão geral**, **Kanban** e **Linha do tempo** - Visão geral: branch atual, commits à frente/atrás, commits recentes, contribuidores - Estatísticas de código: linhas de código por linguagem, número de arquivos, número de commits - Contagem de terminais ativos - Monitoramento de uso da API do Claude com atualização automática - **Linha do tempo do projeto**: todos os registros que o app já mantém, reunidos em uma única visão cronológica — commits, sessões do Claude, tempo registrado, execuções de workflows, execuções paralelas e artefatos — filtrável por período e por tipo, para que "o que aconteceu com este projeto" seja uma tela em vez de seis ### Controle de tempo - Detecção automática de sessões por projeto (tempo de inatividade de 15 min, detecção de suspensão/retomada) - Armazenamento leve separado (`timetracking.json`) com arquivos mensais - Visualização por período: hoje, esta semana, este mês, intervalo personalizado - Estatísticas: média diária, maior sequência, gráficos de evolução, sessões recentes - Virada à meia-noite e checkpoints periódicos ### Hooks - Integração com os hooks do Claude Code CLI para acompanhamento de atividade em tempo real - Instalação com um clique em `~/.claude/settings.json` (não destrutiva, preserva os hooks do usuário) - Tipos de hook: PreToolUse, PostToolUse, Notification, SessionStart, Stop, DirectoryAdded (disparado em `/add-dir`) e mais - Barramento de eventos com eventos normalizados para acompanhamento de sessões, ferramentas e subagentes - Leitura da saída do terminal como alternativa quando os hooks não estão disponíveis ### Plugins - Navegue e descubra plugins dos marketplaces configurados - Instale plugins direto pelo app (via Claude CLI) - Adicione marketplaces da comunidade pela URL do GitHub - Filtro por categoria e busca - Veja os detalhes e o README dos plugins ### Marketplace de skills - Busque e navegue pelas skills disponíveis - Instalação e desinstalação com um clique - **Verificação de atualizações**: veja quais skills e plugins instalados têm novas versões disponíveis - Veja o README e os detalhes das skills - Cache local para navegação rápida ### Biblioteca - Gerencie **pacotes de contexto** reutilizáveis (documentos, trechos, conteúdo de arquivos) e **modelos de prompt** - Injete pacotes de contexto ou modelos de prompt direto no chat pelas menções @context e @prompt - Insira modelos de prompt em qualquer terminal com um clique pela barra de ferramentas - Gere skills e agentes em segundo plano usando o Agent SDK ### Skills e agentes - Navegue e gerencie skills e agentes do Claude Code - Veja os arquivos SKILL.md e de configuração dos agentes - **Editor com realce de sintaxe**: edite arquivos de skills e agentes com números de linha e realce de código completo via highlight.js - Carregue skills de `~/.claude/skills`, de plugins e de recursos embutidos ### Servidores MCP - Configure, inicie e pare servidores MCP - Configuração de variáveis de ambiente - **MCP Registry**: navegue e busque no registro público de servidores MCP ### Sessões - Veja as sessões do Claude Code por projeto - Navegue pelo histórico de sessões com datas e metadados - Fixe sessões no topo e renomeie-as inline pelo diálogo de retomada - Modal de retomada de sessão modernizado, com busca e sessões fixadas - As sessões mostram o título real da conversa em vez de uma data, e podem ser buscadas pelo id - **Mover uma sessão para outro projeto**: realoque uma conversa sem perder o histórico - Nomes de abas personalizados ficam travados e não são mais sobrescritos silenciosamente pela nomeação automática ### Memória e conhecimento global - Edite os arquivos CLAUDE.md globais, de configurações e específicos de cada projeto - Inserção de modelos para padrões comuns - **Conhecimento global**: um repositório de fatos, convenções e preferências entre projetos, uma entrada markdown para cada, disponível em todas as sessões - Fixe, ative/desative e busque entradas; as ativas são sincronizadas em um bloco marcado em `~/.claude/CLAUDE.md`, com uma pré-visualização do bloco antes de ser gravado - Ferramentas MCP (`knowledge_list`, `knowledge_write`, `knowledge_search`...) para que o próprio Claude possa lê-las e escrevê-las ### Kanban - Um quadro kanban por projeto, com colunas personalizadas, arrastar e soltar entre elas e arquivamento - Níveis de prioridade, prazos, tags e responsáveis nos cartões - Filtro, busca e estatísticas por coluna - Conjunto completo de ferramentas MCP, para que o Claude possa criar e mover cartões enquanto trabalha, e um nó de workflow `kanban_create_card` ### Log de erros - Log centralizado de cada erro capturado pelo app: falhas de IPC, erros de serviço, exceções e rejeições não tratadas - Filtro por nível e por domínio, com detecção automática de padrões para agrupar falhas repetidas - **Diagnóstico por IA** de uma entrada, e exportação para um relatório de bug - `critical` significa que o app realmente quebrou (uma exceção ou rejeição não tratada), não apenas que algo foi registrado - Ferramentas MCP para que o Claude possa ler o log enquanto depura ### Configurações - Tema com cor de destaque (paletas predefinidas + hex personalizado) - Tamanho da fonte do terminal (10 a 24 px), aplicado em tempo real aos terminais abertos - Personalização de cores por agente e por ferramenta nos cartões de ferramenta do chat - Idioma: inglês, francês, espanhol, indonésio e chinês simplificado, com detecção automática - Integração com editores: VS Code, Cursor, WebStorm, IntelliJ IDEA - Atalhos de teclado personalizáveis - Preferências de notificações na área de trabalho - Comportamento ao fechar (perguntar, minimizar para a bandeja ou sair) - Opção de iniciar com o sistema - Atualizações automáticas com download em segundo plano e banner de instalação, seguidas de um painel **Novidades** na próxima inicialização que começa pelo que mudou e depois traz as notas de versão completas - **Discord Rich Presence**: mostre no seu status do Discord o projeto em que você está trabalhando (no estilo do VSCode), com opção de ocultar o nome do projeto por privacidade; ative ou desative nas Configurações - **A telemetria é opcional e vem desativada**: nada, anônimo ou não, é coletado a menos que você a ative nas Configurações ### Automação de workflows - **Automações**: um modo simples, sem grafo, para tarefas comuns — descreva o que o Claude deve fazer e quando em um formulário simples, sem editor de nós nem sintaxe cron, com seis modelos iniciais - As automações podem ser disparadas por eventos em vez de um agendamento: atividade no git, alteração de arquivo, término de um comando, fim de uma sessão do Claude, resposta do Claude (com filtro de texto opcional) ou abertura de um projeto — cada evento observa o projeto que você escolheu, independentemente de onde o Claude roda - Editor visual de workflows baseado em nós, com motor de canvas próprio (no estilo Blueprint) - **31 tipos de nó**: shell, git, HTTP, Claude (prompt/agente/skill), condição, loop, transformação, switch, subworkflow, banco de dados, arquivo, projeto, tempo, variável, obter variável, gatilho, código (executa um trecho de JavaScript), template (monta strings a partir de variáveis), terminal, ação rápida, notificação, notificação no Discord, log, espera, nova tentativa, tratamento de erro, webhook, execução paralela, resumo de sessão, cartão kanban, documento do workspace - Pinos de dados tipados com fluxo de dados visual entre os nós - Painel de assistente de IA para edição do grafo e criação de nós em tempo real - Desfazer/refazer, copiar/colar, alinhar à grade, minimapa, comentários - Histórico de execuções com progresso de loops ao vivo e inspeção da saída de cada etapa - Hub da comunidade para compartilhar e importar workflows - **12 tipos de gatilho**: manual, cron, hook, webhook, on-workflow, mensagem no chat, alteração de arquivo, evento git, projeto aberto, código de saída do terminal, início de sessão do Claude, fim de sessão do Claude - Ferramentas MCP para controle completo dos workflows a partir do Claude Code ### Conectividade (remoto e nuvem) - Os segredos de bancos de dados ficam no chaveiro do sistema. Variáveis de ambiente e cabeçalhos de autorização do MCP permanecem locais em cada máquina durante a sincronização. - Importações e clones recusam projetos existentes, preparam o conteúdo em diretórios temporários e aplicam limites na extração de arquivos compactados. - **Aba Conectividade** unificada, reunindo acesso remoto local e sincronização em nuvem em um só lugar - Servidor relay Docker auto-hospedado para acesso remoto aos projetos - Upload de projetos e sincronização automática com monitor de arquivos e resolução de conflitos - **Sincronização por entidade**: escolha exatamente quais dados são sincronizados (projetos, configurações, skills, agentes, configurações MCP, atalhos, memória, hooks, arquivos) - **Retomada de sessão pela nuvem**: continue qualquer sessão a partir de outra máquina - **Notificações entre máquinas**: seja notificado no seu desktop quando uma sessão na nuvem terminar - Sessões headless do Claude rodando em uma instância de nuvem pessoal (um usuário por contêiner e volumes dedicados); desative `CLOUD_ENABLED` para um relay/sincronização multiusuário sem execução de agentes - Modal de diff para comparar arquivos locais com os da nuvem - Perfis de usuário e gerenciamento de sessões - Script de instalação automatizado com Docker, proxy reverso e configuração de SSL ### Projetos remotos SSH - Abra um projeto que fica em outra máquina via SSH, no estilo do IntelliJ Gateway: o aplicativo continua sendo a interface, enquanto terminais, chat do Claude, git e arquivos rodam no host - Usa o cliente OpenSSH do sistema, então `~/.ssh/config`, chaves, `ssh-agent`, ProxyJump e o encaminhamento de agente funcionam exatamente como em um terminal. O aplicativo não guarda senhas nem chaves: uma senha é digitada no próprio prompt do OpenSSH e nunca é salva - **Abrir projeto remoto**: escolha um perfil de host salvo, navegue pelas pastas e então abra uma, crie uma, rode `git init` ou clone um repositório nela - Um selo de host em cada projeto remoto mostra o estado da conexão. Uma conexão perdida se restabelece sozinha, e as abas de terminal e de chat continuam de onde pararam (dentro do tmux, se você ativar) - O Claude Code roda no host (precisa estar instalado lá, e o aplicativo avisa quando não está), e o histórico de sessões é lido do host - O painel Git, o dashboard, o explorador de arquivos, a tela Arquivos, as abas de arquivos e os diffs funcionam no host. VS Code, Cursor e Windsurf abrem os arquivos remotos pela extensão Remote-SSH - Nada é instalado no host: nenhum agente, nenhum daemon, apenas uma sessão `sh` por conexão - Recursos que só fazem sentido localmente (dashboards por tipo de projeto, tarefas paralelas, nós de workflow que rodam nesta máquina, vínculo de conta, envio para a nuvem, Abrir no Explorer) aparecem desativados, com o motivo como dica ### Painel de banco de dados - Suporte a vários drivers: SQLite, MySQL, MariaDB, PostgreSQL, MongoDB - **Navegador Redis**: explorador de chaves em árvore com inspeção de valores ciente do tipo - Navegador de dados em painéis divididos com edição inline - Editor de consultas SQL com realce de sintaxe, modelos e execução de múltiplas instruções - Inserção/exclusão de linhas, filtro de busca - Seletor de banco de dados personalizado para trocar de conexão rapidamente - Pool de conexões com descarte por inatividade ### Workspace - Hubs de conhecimento **entre projetos**: agrupe projetos relacionados com uma base de conhecimento compartilhada, para que o contexto que abrange vários repositórios tenha onde ficar - Documentos markdown da base de conhecimento com tags e busca de texto completo em todo o workspace - **Links de conceitos**: registre relações entre entidades (`Web App depends-on API Service`) e veja-as como um grafo - **Chat consultor**: faça perguntas sobre seu workspace e receba respostas baseadas no conteúdo da sua base de conhecimento - **Menção @workspace**: digite @workspace no chat para injetar a base de conhecimento do seu workspace como contexto - Ferramentas MCP para ler e escrever o conteúdo do workspace a partir do Claude Code ### Servidor MCP (claude-terminal) Um servidor MCP unificado, configurado automaticamente pelo app, que expõe o próprio Claude Terminal ao Claude Code. **23 módulos de ferramentas**, carregados dinamicamente — basta colocar um novo arquivo `.js` em `resources/mcp-servers/tools/` para registrá-lo. | Módulo | O que oferece ao Claude | | --- | --- | | `projects` | Listar projetos, informações do projeto, varredura de TODO/FIXME | | `timetracking` | Hoje, esta semana, estatísticas por projeto e resumo | | `sessions` | Listar, reproduzir, busca por palavra-chave entre projetos, resumo de sessão | | `workflow` | Criar, editar, executar, cancelar, diagnosticar, logs de execução, variáveis | | `automation` | Listar, visualizar, criar, atualizar, ativar/desativar e excluir Automações | | `parallel` | Iniciar, listar, inspecionar, cancelar, fazer merge e limpar execuções paralelas | | `kanban` | Colunas e cartões: adicionar, mover, atualizar, filtrar, estatísticas | | `knowledge` | Fatos entre projetos: listar, obter, buscar, escrever, excluir | | `workspace` | Listar, informações, ler/escrever documentos da base, buscar, links de conceitos | | `artifacts` | Listar, obter, buscar, versões, estatísticas, excluir | | `database` | Consultar, listar/descrever tabelas, esquema completo, estatísticas, exportar | | `terminal` | Criar, listar, enviar um comando, ler a saída, fechar | | `tabs` | Orquestração de abas com controle de permissões | | `sidebar` | `ui_navigate` e `ui_state` para controlar e ler o painel visível | | `control-tower` | Listar agentes ativos, interromper um remotamente | | `errorlog` | Entradas, estatísticas, padrões, exportar, limpar | | `usage` | Ler e atualizar o uso do Claude | | `settings` | Obter e definir configurações do app | | `marketplace` / `plugins` | Buscar, instalar e desinstalar skills e plugins | | `webapp` / `fivem` / `discord` | Ferramentas por tipo de projeto | Um `database-mcp-server.js` especializado também é distribuído para uso exclusivo com bancos de dados. ### Pré-visualização de WebApp - Pré-visualização ao vivo com webview do Chromium (substitui o iframe) - Feedback visual com anotações de vários pinos por página - Verificador de breakpoints responsivos - Scanner de detecção automática de problemas visuais - Ferramenta de régua para medir espaçamentos - Painel de auditoria de acessibilidade com axe-core ### Controle remoto (PWA auto-hospedado) - PWA móvel para controle remoto pelo celular ou navegador, servido pelo próprio app - Relay em nuvem para acesso fora da sua rede local (via servidor auto-hospedado) - Monitoramento de sessões em tempo real, interação com o chat e troca de projeto - Autenticação por PIN de 6 dígitos com QR code - Totalmente traduzido, com sua própria content-security-policy, e a transcrição sobrevive a mais de um turno > [!NOTE] > Este é o controle remoto **auto-hospedado**, diferente do [Claude Remote Control](#claude-remote-control-claudeai-e-celular), que coloca uma sessão no claude.ai e no app móvel oficial do Claude. Você pode usar um, o outro ou os dois. ### Personalização da barra lateral - Arraste e solte as abas da barra lateral para reordená-las conforme seu fluxo de trabalho - Fixe as abas mais usadas; as menos usadas ficam recolhidas em um menu Mais - Personalize por um modal ou arrastando diretamente ### Paleta de comandos - Paleta de comandos unificada (Ctrl+P) com busca aproximada em projetos, comandos e ações rápidas - Lançador inteligente com carregamento em esqueleto animado e destaque das correspondências - Navegue para qualquer painel ou dispare qualquer ação sem tocar no mouse ### Atualizações automáticas do CLAUDE.md - Ao fim de uma sessão, o Claude analisa a conversa e propõe acréscimos relevantes ao CLAUDE.md do seu projeto - Revise e aceite as sugestões em um modal no estilo diff antes que sejam aplicadas ### Outros - **Restauração de sessão**: salve e restaure sessões completas do espaço de trabalho entre reinicializações - **Visualizadores de arquivos**: visualizador de .md, visualizador de PDF e visualizador de modelos 3D (.glb, .gltf, .obj) integrados no painel do terminal - **Insights do painel**: selos de saúde do projeto e mapa de calor de commits - **Monitor do explorador de arquivos**: atualização automática da árvore quando o sistema de arquivos muda - **Menus de contexto das abas**: clique com o botão direito em qualquer aba para ações rápidas - **Persistência do estado da janela**: lembra posição, tamanho e estado maximizado - Assistente de configuração na primeira execução com instalação opcional dos hooks - Integração com a bandeja do sistema com ícone na cor de destaque - Notificações toast personalizadas com empilhamento, transparência para cliques e botões de ação - Atalhos globais (`Ctrl+Shift+P` / `Cmd+Shift+P` seletor rápido, `Ctrl+Shift+T` / `Cmd+Shift+T` novo terminal) - Trava de instância única - Instalador NSIS personalizado com imagens da marca (Windows), DMG (macOS), AppImage (Linux), Snapcraft, Flatpak - Gerenciamento de servidores FiveM (inicialização, console integrado, varredura de recursos, assistente de criação de recursos) - Tipo de projeto Minecraft com gerador de plugins Java e scripts de inicialização adaptados à plataforma - Gerenciamento de web apps com detecção automática de framework e templates de scaffold - Detecção de projetos Python (versão, venv, dependências, ponto de entrada) - Tipo de projeto API com testador de rotas integrado, variáveis e console - **Tipo de projeto bot do Discord**: construtor visual de embeds e componentes com pré-visualização ao vivo ## Uso ```bash # Install dependencies once npm install # Build renderer and run the app npm start # Run with DevTools open npm run start:dev # Build renderer in watch mode (for development) npm run watch ``` > [!TIP] > Se você modificar arquivos em `src/renderer/`, `src/project-types/` ou `renderer.js`, execute `npm run build:renderer` antes de empacotar ou abrir um PR. ## Compilação ```bash # Build for current platform npm run build # Build for a specific platform npm run build:win # Windows (NSIS installer) npm run build:mac # macOS (DMG) npm run build:linux # Linux (AppImage) ``` O instalador será gerado no diretório `build/`. ## Testes ```bash # Run the test suite (149 Jest suites, jsdom) npm test # Watch tests during development npm run test:watch # ESLint over main, renderer, shared, MCP servers and scripts npm run lint npm run lint:fix # Fail if CLAUDE.md has drifted from the tree it describes npm run check:docs # Playwright smoke test against the real Electron app npm run test:e2e ``` A CI executa três jobs a cada push e PR: `lint` (rápido, falha primeiro), `test` (Node 18 e 20 no Windows, Linux e macOS) e `e2e` (Ubuntu sob `xvfb-run`). O job E2E é **bloqueante**: ele abre o app real, percorre cada aba da barra lateral e falha em qualquer erro no console do renderer ou crash do processo principal. `npm run test:e2e` fica fora do `npm test` porque precisa de uma tela e de um bundle do renderer já compilado. Executá-lo localmente também exige os módulos nativos compilados para a ABI do Electron (`npm run postinstall`). --- ## Atalhos de teclado | Atalho | Ação | | --- | --- | | `Ctrl+Shift+P` | Seletor rápido de projetos (global) | | `Ctrl+Shift+T` | Novo terminal no projeto atual (global) | | `Ctrl+Shift+W` | Novo worktree (global) | | `Ctrl+Shift+E` | Painel de sessões | | `Ctrl+T` | Criar terminal | | `Ctrl+W` | Fechar terminal | | `Ctrl+N` | Novo projeto | | `Ctrl+E` | Mostrar/ocultar o explorador de arquivos | | `Ctrl+P` | Seletor rápido | | `Ctrl+,` | Configurações | | `Ctrl+←` / `Ctrl+→` | Trocar de terminal (esquerda/direita) | | `Ctrl+↑` / `Ctrl+↓` | Trocar de projeto (cima/baixo) | | `Ctrl+F` | Buscar na transcrição da conversa atual | | `Escape` | Fechar diálogos | Os atalhos podem ser personalizados nas Configurações. --- ## Arquitetura O Claude Terminal é JavaScript CommonJS puro com tipos JSDoc. Sem TypeScript, sem framework de frontend: o renderer é empacotado pelo esbuild em ESM com code splitting. ``` claude-terminal/ ├── main.js # Electron entry point, lifecycle, single-instance lock ├── renderer.js # Renderer entry (bundled to dist/renderer.bundle.js) ├── index.html # Main window UI ├── notification.html # Custom toast notification window ├── quick-picker.html # Command palette window ├── setup-wizard.html # First-launch wizard ├── styles/ # 30 modular CSS files, @imported by index.css ├── src/ │ ├── main/ # ── Main process (Node.js) ── │ │ ├── preload.js # Context bridge (window.electron_api) │ │ ├── preload-quickpicker.js # Preload for the quick picker window │ │ ├── ipc/ # 34 IPC files, 322 handlers │ │ │ ├── index.js # Orchestrator, registers every handler │ │ │ ├── git.ipc.js # 69 handlers, the largest │ │ │ ├── chat.ipc.js # Agent SDK streaming sessions │ │ │ ├── github.ipc.js # OAuth device flow, PRs, CI runs │ │ │ └── ... # terminal, dialog, workflow, remote, database, │ │ │ # accounts, knowledge, artifacts, workspace, │ │ │ # parallel, cloud-*, errorLog, voice, chrome... │ │ ├── services/ # 35 services │ │ │ ├── ChatService.js # Claude Agent SDK bridge │ │ │ ├── TerminalService.js # node-pty, adaptive output batching │ │ │ ├── AccountManager.js # Multiple Claude accounts │ │ │ ├── RemoteControlService.js # claude.ai / mobile bridge │ │ │ ├── ChromeBridgeService.js # Claude in Chrome │ │ │ ├── WorkflowService.js # + Runner, Scheduler, Storage │ │ │ ├── ParallelTaskService.js # Worktree-per-subtask orchestration │ │ │ ├── KnowledgeService.js # Global knowledge base │ │ │ ├── ErrorLogService.js # Centralized error collection │ │ │ └── ... │ │ ├── windows/ # MainWindow, QuickPicker, SetupWizard, Tray, Notification │ │ ├── utils/ # paths, git, shell, fileLock, claudeBridge, sdkCli... │ │ └── workflow-nodes/ # 31 node types, one *.node.js each, auto-registered │ ├── renderer/ # ── Renderer process (Browser) ── │ │ ├── index.js # Module loader & init sequence │ │ ├── core/ # DI container, BaseService/Component/Panel, ApiProvider │ │ ├── state/ # 17 observable state modules (State.js base class) │ │ ├── services/ # 28 services │ │ │ ├── MarkdownRenderer.js # + markdown/ subsystem (configure, streaming, │ │ │ │ # postProcess, interactivity, blocks) │ │ │ ├── WorkflowGraphEngine.js # Custom canvas node editor (no LiteGraph) │ │ │ ├── DiffRenderer.js # GitHub-style unified diffs │ │ │ ├── ProjectTimeline.js # Merges six record sets into one timeline │ │ │ ├── VoiceCaptureService.js │ │ │ └── mention-sources/ # Pluggable @mention and palette sources │ │ ├── ui/ │ │ │ ├── components/ # 18 components (ChatView, TerminalManager, │ │ │ │ # FileExplorer, ProjectList, ProjectBar, Modal...) │ │ │ ├── panels/ # 25 panels (Settings, GitChanges, ControlTower, │ │ │ │ # ParallelTask, Workspace, Database, Kanban, │ │ │ │ # ErrorLog, Files, Artifacts, Connectivity...) │ │ │ └── themes/ # terminal-themes.js │ │ ├── features/ # KeyboardShortcuts, QuickPicker, DragDrop │ │ ├── events/ # ClaudeEventBus + Hooks / Scraping providers │ │ ├── workflow-fields/ # 13 custom UI fields for workflow nodes │ │ ├── workflow-triggers/ # 12 trigger types (definition + configurator) │ │ ├── viewers/ # PDF viewer, 3D viewer (three.js) — ESM, lazy-loaded │ │ ├── i18n/locales/ # en, fr, es, id, zh-CN (3641 keys each, kept in sync) │ │ └── utils/ # dom, color, format, paths, fileIcons, syntaxHighlight │ ├── shared/ # 12 modules shared by main, renderer and the MCP server │ │ ├── artifact-store.js # Used verbatim by the MCP server process │ │ ├── model-options.js # Premium tier definition │ │ ├── permission-modes.js # SDK modes <-> legacy executionMode spellings │ │ └── simple-task.js # Compiles an Automation into a workflow graph │ └── project-types/ # Pluggable type system (base-type.js + registry.js) │ ├── general/ api/ webapp/ python/ minecraft/ fivem/ discord/ │ └── ... # each: main/ service+ipc, renderer/ dashboard+wizard, i18n/ ├── resources/ │ ├── mcp-servers/ # Shipped MCP servers │ │ ├── claude-terminal-mcp.js # Unified server │ │ ├── database-mcp-server.js # Database-only server │ │ └── tools/ # 23 auto-registered tool modules │ ├── bundled-skills/ # create-skill, create-agents │ └── hooks/ # Hook handler script, POSTs events over HTTP ├── remote-ui/ # Mobile PWA, bundled as extraResources ├── tests/ # 149 Jest suites + a Playwright E2E smoke test ├── scripts/build-renderer.js # esbuild bundler └── website/ # Landing page, changelog, legal ``` > `cloud/` (o relay) e `hub-worker/` (um Cloudflare Worker) são pacotes separados, > com seus próprios `package.json`. Nenhum dos dois é incluído no app desktop. ### Fronteiras A separação entre main e renderer é garantida pelo ESLint, não apenas por convenção: - O renderer nunca recebe `child_process`, `fs`, `net` ou `electron` diretamente. Ele se comunica com o main apenas por `window.electron_api`. **`child_process` nunca é exposto de propósito** — o renderer exibe markdown escrito pelo modelo, então uma ponte para criação de processos transformaria qualquer injeção de HTML em execução de código. - `contextIsolation: true` e `nodeIntegration: false` nas cinco janelas. - A CSP do `index.html` não tem `'unsafe-inline'`, então HTML injetado no chat não consegue executar scripts. Todo markdown renderizado para o usuário passa pelo `dompurify`. Se uma regra de fronteira disparar, a correção é um novo handler IPC, não um `eslint-disable`. --- ## Contribuindo Veja [CONTRIBUTING.md](CONTRIBUTING.md) para as diretrizes. Para contribuir com traduções, veja a [seção Translations (i18n)](CONTRIBUTING.md#translations-i18n). Para contribuir com traduções, veja nosso [guia de i18n](.github/i18n-coverage.md). ## Segurança Veja [SECURITY.md](SECURITY.md) para reportar vulnerabilidades. ## Licença [GPL-3.0](LICENSE) Veja as [notas de execução, proteção de dados e recuperação](RUNTIME_RELIABILITY.md) para restrições de implantação e comandos de validação.