Skip to content

Releases: JulioRennan/egeon-deck

v1.5.0 — processos, apps do agente e limpeza de órfãos

Choose a tag to compare

@JulioRennan JulioRennan released this 24 Oct 23:20

Adicionado

  • Janela Processos… (⌥⌘P) e egeon ps: tudo o que o Egeon lançou, por bancada e nó, com os processos órfãos — os que ficaram de pé depois que o terminal fechou — no topo, a idade de cada um e botões para encerrá-los; todo terminal, shell incluído, passa a marcar no ambiente de onde veio o que ele abre (ADR-083).
  • App de desktop que um agente abriu — o Docker Desktop, por exemplo — fecha quando a bancada que o abriu é removida, se ninguém mais estiver usando: outra bancada ligada a ele, ou com container de pé no Docker, segura o app aberto e passa a ser quem o fecha. App que já estava aberto antes nunca é fechado (ADR-084).
  • Limpeza automática de processos órfãos: a cada 10 minutos o Egeon encerra o que foi lançado por ele, ficou sem dono e tem mais de 1 hora — sem tocar no daemon do Claude Code nem em apps abertos por um agente, como o Docker Desktop. Desliga em "Limpar órfãos automaticamente", no menu do app, e se ajusta em processes.json (ADR-083).

Corrigido

  • Remover um terminal ou uma bancada agora encerra também o que o agente deixou rodando em segundo plano — servidor de desenvolvimento, testes, o navegador do Playwright —, que antes ficava de pé, órfão, por dias (ADR-083).
  • O app aberto de dentro de um terminal do Egeon não passa mais o endereço daquele terminal para os shells que ele abre (ADR-083).

v1.4.0 — aba Ativas, comandos / no chat e maestro que aprova

Choose a tag to compare

@JulioRennan JulioRennan released this 24 Oct 23:18

Adicionado

  • O maestro pode aprovar as permissões do time: com "Aprova permissões do time" marcado no formulário dele, cada pedido de ferramenta dos outros agentes da bancada chega ao maestro, que permite ou nega pelo egeon — você continua vendo o pedido, vale quem responder primeiro, e toda resposta fica na trilha. Perguntas a você continuam só com você (ADR-080).
  • A barra lateral ganhou duas abas: Todas, a árvore de workspaces de sempre, e Ativas, só as bancadas de pé, em cards soltos (nome, projeto e cronômetro, com o ícone do workspace à esquerda), da que rodou por último para a mais antiga, separadas entre as que rodaram nas últimas 24 horas e as paradas há mais que isso; quando a ordem muda, os cards deslizam até o lugar novo (ADR-082).
  • No chat, digitar / no começo da mensagem abre a lista do que o Claude Code daquele terminal aceita — comandos embutidos, os seus, os do projeto, skills e plugins habilitados, com a descrição de cada um; digitar filtra, e Tab ou Enter completa (ADR-079).

Alterado

  • Na barra lateral, workspaces e projetos não ficam mais dentro de caixas, um dentro do outro: são separados por um fio, e só a bancada continua como card (ADR-082).
  • A bancada em foco na barra lateral ganha fundo azulado e um contorno azul firme, parado; a borda de quem parou ficou mais lenta (6 s por volta) e agora anda pela borda em velocidade constante, sem disparar nas pontas do card.
  • Projeto sem bancada não mostra mais a seta de abrir, e clicar nele oferece criar a primeira bancada; workspaces e projetos da barra lateral se realçam ao passar o mouse.
  • O cronômetro da bancada conta as fases ao mesmo tempo: um agente esperando você não para mais o tempo de trabalho de quem segue trabalhando ao lado, e as fases em curso ficam todas acesas. Aguardar outro agente continua contando como trabalho, não como espera por você (ADR-078).
  • O card no canvas que precisa de você (pergunta, permissão ou erro) ganha a mesma borda girando da bancada na barra lateral, em vez da borda laranja parada.

Corrigido

  • Terminal que publicou uma página do Claude e terminou o turno não fica mais preso em "⏳ em segundo plano" — o vigia de comentários que o Claude Code arma em cada publicação contava como trabalho de fundo, e o cronômetro seguia contando a bancada como trabalhando (ADR-081).
  • Terminal que pediu permissão no meio do turno e depois terminou respondendo a outro agente não fica mais preso em "precisa de você" — antes o card seguia laranja e o cronômetro contava a bancada como esperando você, mesmo com o turno fechado em ok (ADR-074).

v1.3.0 — cronômetro, retry de erro da API e links no chat

Choose a tag to compare

@JulioRennan JulioRennan released this 24 Oct 23:16

Adicionado

  • Cronômetro da bancada na barra de cima e em cada bancada da barra lateral, no lugar do caminho da pasta (que agora aparece ao passar o mouse): quanto tempo ela passou trabalhando (martelo, ciano), esperando você (mão, laranja) e em erro (sinal de parada, vermelho), com a fase em curso em destaque e o tempo em minuto e segundo (01:18, a hora entrando quando passa de 60 min). Conta só enquanto há algo acontecendo, sobrevive a fechar o app e a renomear, recomeça ao limpar a bancada, e clicar nele oferece Zerar cronômetro (ADR-074).
  • Agente Claude que para por erro da API não fica mais parado esperando um "oi": erro passageiro (sobrecarga, servidor) tenta de novo sozinho em 30 s, 2 min e 5 min, e limite de uso em 2, 10 e 30 min — o card mostra "⟳ tentando de novo às 16:32 (2/3)" e o clique nele oferece Tentar agora e Cancelar tentativa. Erro sem volta (login, cobrança, pedido inválido) ou tentativas esgotadas param e chamam você, com bolinha vermelha no chat, borda e notificação (ADR-072).
  • Links no modo chat são clicáveis e abrem no navegador: URL solta (https://…) e link de Markdown ([documentação](https://…), que mostra só o rótulo), nas respostas dos agentes e nas suas mensagens.
  • Agente Claude numa worktree nova não pergunta mais se você confia na pasta nem pede os imports externos do CLAUDE.md, quando o repositório de origem já foi aceito: a worktree herda as respostas — inclusive a pasta do multi-projeto, que junta vários repositórios e só herda se todos foram aceitos (ADR-071).
  • Bancada cuja pasta o macOS não deixa ler (Documentos, Mesa, Transferências) pede o acesso de novo sozinha ao abrir; se continuar sem, fica travada com o aviso e os botões Abrir Ajustes e Pedir de novo, e destrava sozinha — subindo os agentes — assim que você libera. Antes o agente caía com "low max file descriptors" (ADR-070).
  • Um agente pode mandar comando do CLI para outro (/clear, /compact, /model sonnet) pelo egeon send: o vizinho recebe antes um aviso dizendo quem vai mandar o quê, e o comando roda no terminal dele (ADR-069).
  • Notificação do macOS, com som, quando um agente precisa de você ou termina, com o Egeon Deck fora da frente — "A bancada X precisa de você" ou "A bancada X já terminou o serviço", com o terminal e o que está esperando embaixo; clicar abre a bancada; nasce no estilo alerta, que fica na tela até você fechar (troca-se em Ajustes › Notificações). Segundo plano e "aguardando vizinho" não notificam.
  • A bancada que terminou ganha a mesma borda girando, em verde, na barra lateral, na pastilha do trilho e na aba; o laranja de "precisa de você" tem prioridade sobre ela.
  • Perguntas do agente com opções (a ferramenta de pergunta do Claude Code) aparecem no chat com as opções como botões, e a resposta vai direto para ele; o Claude passa a ser orientado a perguntar assim (ADR-068).
  • Pedidos de permissão aparecem no chat, acima da caixa de mensagem, com o comando que o agente quer rodar e os botões Permitir, Sempre e Negar; responder no terminal continua valendo, e o pedido some do chat (ADR-068).

Alterado

  • O único limite de conversa entre agentes passou a ser o da aresta (o "↻" da ligação): saiu o teto de visitas da bancada, junto com o item "Limite de conversa entre agentes…" do menu. E a fila de mensagens esperando leitura num agente passou a contar por remetente, com o mesmo limite da aresta — antes eram 5 por destino, de quem fosse, e um maestro com time grande tinha respostas recusadas (ADR-077).
  • Cada bancada na barra lateral virou um card — fundo e contorno próprios, mais alto e com espaço entre um e outro —, com o nome em cima e o cronômetro embaixo.
  • O agente que acionou outro e parou esperando a resposta não apita mais nem fica "terminou": o card mostra ⏳ aguardando até a resposta chegar, ou "terminou" quando o vizinho encerra sem responder (ADR-067).
  • O card do maestro não tem mais o + de puxar ligação: ele já alcança todos os terminais da bancada (ADR-066).
  • A bancada que precisa de você ganha uma borda laranja que gira devagar — na barra lateral, na pastilha do trilho e na aba —, no lugar do aro parado: chama o olho sem piscar. Com "reduzir movimento" do sistema, fica só a borda.
  • A ampulheta de "em segundo plano" passa a vir do próprio Claude Code — o que ainda está rodando de fundo —, e não mais do marcador que o agente lembra de escrever (ADR-067).

Corrigido

  • As bancadas da barra lateral não piscam mais ao clicar num projeto (ou em qualquer coisa que redesenhe a barra): o cronômetro, o indicador de atividade e a borda já aparecem no lugar, em vez de surgirem um instante depois.
  • O app não cai mais, sem aviso e sem relatório, quando quem chamou o socket de controle desiste antes da resposta — o gancho do agente com o app ocupado por mais de 1 s, ou um agente interrompido no meio de um egeon send. Era a queda repetida em bancadas com muitos agentes (morte por SIGPIPE).
  • egeon send e egeon peek voltam a aceitar só o id do vizinho da mesma bancada (testador em vez de testes-bancada/testador), como o manual diz.
  • Renomear um terminal ou marcá-lo como maestro pelo formulário não abre mais uma conversa nova: o agente reinicia e retoma a mesma conversa (desde que o CLI e a pasta sejam os mesmos). O ultracode e o endereço de nó web também não se perdem mais ao aplicar o formulário.
  • ⌘-clique em caminho relativo no terminal abre o arquivo mesmo com a pontuação da frase grudada (docs/a.md., (README.md)), e passa a funcionar também em nome solto, sem barra (README.md, main.swift:42), quando o arquivo existe na pasta do terminal.

Removido

  • O VSCode no canvas (nó de editor, o code-server): sai o card, a ferramenta da barra e o item Novo VSCode do menu — Novo web passa a ser ⌘3. O app não sobe mais o code-server, e bancadas e templates salvos com card de editor abrem sem ele (ADR-076).
  • A extensão Egeon Spec do editor (code-server): o preview de markdown com comentário inline e o botão Request changes que mandava os comentários ao agente. O .md volta a abrir como texto no editor, e a extensão que as versões anteriores instalaram é apagada no arranque (ADR-075).
  • O modo mosaico saiu: a bancada tem canvas e chat, e o chat passou para ⌥⌘2. Bancada que estava em mosaico abre no canvas (ADR-073).

v1.2.0 — o maestro monta a bancada

Choose a tag to compare

@JulioRennan JulioRennan released this 24 Oct 23:13

Adicionado

  • Terminal maestro: marque "Maestro" no formulário de um agente e ele monta a bancada sozinho — cria terminais, escolhe CLI, modelo, esforço, papel e regras de cada um, liga as arestas e define as regras da bancada, tudo num plano validado inteiro antes de aplicar (egeon bench, egeon models, egeon plan, egeon apply) (ADR-066).
  • O maestro é o mestre da bancada: alcança todo terminal e recebe a resposta de todos sem setas no canvas — as setas ficam para quem conversa entre si (ADR-066).
  • O maestro abre terminais normais — servidor de dev, watcher, log — com o comando de cada um, roda comandos neles com egeon send e lê a saída com egeon peek (ADR-066).
  • Quando o maestro monta ou desmonta o time, os cards se arrumam sozinhos: ele fica onde você o pôs, os agentes à direita seguindo as setas (quem recebe vai para a direita, no meio de quem manda; quem conversa nos dois sentidos fica empilhado), com espaço para as setas, e os shells embaixo. Ele também move e redimensiona qualquer terminal (ADR-066).
  • O card do maestro é dourado — borda mais grossa, título e controles — e o cabeçalho mostra "· maestro" (ADR-066).
  • Skill egeon-maestro para o Claude Code (e egeon guide para os outros CLIs): o manual de como desenhar uma bancada — quando vale um time, topologias, modelo e esforço por papel, como escrever papel e regras, limites de conversa e o formato do plano (ADR-066).

Corrigido

  • A ligação entre dois cards um embaixo do outro não dá mais a volta inteira por baixo para entrar pela esquerda: ela desce reta da base do de cima ao topo do de baixo, e os controles dela (direção, limite, remover) aparecem centrados no meio da linha.
  • Remover uma bancada apagando as worktrees não congela mais o app: o git e o disco trabalham em segundo plano, a bancada mostra "removendo…" na barra lateral e uma cortina por cima até sair da lista, e as outras bancadas seguem usáveis enquanto isso.

v1.1.1 — faixa de cópia da worktree não fica mais presa

Choose a tag to compare

@JulioRennan JulioRennan released this 01 Oct 14:41

Correção da faixa de cópia que ficava presa ao criar worktree.

Qual baixar

arquivo para quem
EgeonDeck-v1.1.1-universal.zip qualquer Mac — Apple Silicon e Intel
EgeonDeck-v1.1.1-arm.zip só Apple Silicon, menor

Instalar

unzip EgeonDeck-v1.1.1-universal.zip -d /Applications
xattr -dr com.apple.quarantine /Applications/EgeonDeck.app

Requer macOS 14+. O nó de editor precisa de code-server instalado, e o nó de agente precisa do CLI que você já usa (claude, codex, opencode, gemini…). Detalhes no README.

Comparação: v1.1.0...v1.1.1

Corrigido

  • A faixa "Copiando o que o git não versiona…" não fica mais presa na tela quando outra bancada é removida (ou a lista muda) durante a cópia: ela é apagada na bancada que pediu, pelo id, e não pela posição na lista.

v1.1.0 — multi-projetos, formulário de terminal e worktree mais rápida

Choose a tag to compare

@JulioRennan JulioRennan released this 01 Oct 13:19

Multi-projetos, formulário de terminal refeito e worktree mais rápida.

Qual baixar

arquivo para quem
EgeonDeck-v1.1.0-universal.zip qualquer Mac — Apple Silicon e Intel
EgeonDeck-v1.1.0-arm.zip só Apple Silicon, menor

Instalar

unzip EgeonDeck-v1.1.0-universal.zip -d /Applications
xattr -dr com.apple.quarantine /Applications/EgeonDeck.app

Requer macOS 14+. O nó de editor precisa de code-server instalado, e o nó de agente precisa do CLI que você já usa (claude, codex, opencode, gemini…). Detalhes no README.

Comparação: v1.0.0...v1.1.0

Adicionado

  • Multi-projetos no formulário do workspace: dê um nome e escolha algumas das pastas; a bancada dele abre todas juntas numa pasta só, e em worktree cria a mesma branch em cada repositório, lado a lado — ou uma branch própria no repo que você quiser, sem mudar a pasta (ADR-065).
  • O seletor de modelo mostra os modelos pelo nome ("Opus 5.5", "Fable 5.1"), lidos do Claude Code instalado — atualizar o CLI atualiza a lista; versões anteriores ficam num submenu e os apelidos seguem disponíveis como "sempre o mais recente" (ADR-064).
  • O slider de esforço mostra só os níveis que o modelo aceita, com o "auto" dizendo o padrão dele (ex.: "auto (medium)"); modelo sem esforço deixa o slider desligado (ADR-064).
  • A faixa de modelo e esforço só aparece quando há o que escolher: Codex e Gemini, sem lista de modelos no agents.json, ficam com o cabeçalho de antes (ADR-064).
  • Botão de ultracode na faixa do cabeçalho, independente do nível de esforço; também por /model?target=…&ultracode=on|off (ADR-064).
  • Modelo e esforço (--effort: low · medium · high · xhigh · max) numa faixa própria no cabeçalho do card de agente, embaixo do nome: o esforço é um slider com uma marca por nível (a primeira é o auto, o padrão do modelo), que também responde à rolagem e só aplica 1s depois de você soltar. Também no formulário e por /model?target=…&effort=…; trocar reinicia o terminal e a conversa continua (ADR-064).

Alterado

  • Copiar para a worktree nova o que o git não versiona ficou uns 6× mais rápido: cada entrada (ex.: node_modules) é clonada inteira de uma vez no APFS, em vez de arquivo por arquivo, e sem pausa entre os repositórios — nexus-web-app + nexus-backend de ~21 s para ~3 s. Quem personalizou o worktree-copy.sh continua com o script dele.
  • Bancada de multi-projeto só nasce em worktree: o + do multi-projeto abre direto o formulário de worktree, e "Nova bancada…" não aparece para ele (ADR-065).
  • Modelo, esforço e ultracode ficam numa barra à parte embaixo do cabeçalho do card, com fundo próprio e o rótulo em cima de cada controle (ADR-064).
  • Terminal novo sugere a configuração do CLI (ex.: ~/.claude-agro) escolhida por último naquele workspace; escolher o padrão apaga a lembrança. O padrão aparece pelo caminho que o CLI usa sem configuração (~/.claude, ~/.codex), não mais como "padrão da CLI".
  • Formulário de terminal refeito: Shell e Agente viram abas, e os campos seguem a aba — shell tem nome, comando e pasta; agente tem CLI em radios, modelo e esforço, configuração (popup com as descobertas, e um + ao lado do título para outra), pasta, e papel e regras lado a lado. Campo que o CLI não tem não aparece.
  • A pasta do terminal é uma lista de radios — root e as subpastas da bancada que são repositório (em multi-projeto, cada repo), sempre relativas —, com um + ao lado do título para outra pasta (ADR-065).

Corrigido

  • Abrir o chat de uma bancada com histórico longo não carrega mais centenas de mensagens de uma vez: a descida animada até o fim passava pelo topo e disparava o "carregar mais" a cada quadro; agora entram só as 60 do fim (ADR-045).
  • O comando de um terminal shell agora é guardado: antes ele se perdia ao salvar como componente e ao editar o terminal.
  • Depois de trocar de modelo, o seletor do cabeçalho não mostra mais o modelo antigo (ex.: "haiku (fable)") até o novo responder: só conta resposta dada depois do arranque atual.
  • Trocar de bancada pelo teclado (⌘1…⌘9, ⌘]/⌘[, ⌘→/⌘←) não apaga mais a ampulheta de "em segundo plano" do terminal que estava focado: atalho do app deixou de contar como você digitando nele (ADR-063).

v1.0.0 — primeira versão estável

Choose a tag to compare

@JulioRennan JulioRennan released this 29 Sep 13:05

Primeira versão estável do Egeon Deck: um canvas macOS em que cada nó é uma ferramenta de trabalho real — editor, terminal, agente de IA, navegador — para dirigir vários agentes em paralelo.

Qual baixar

arquivo para quem
EgeonDeck-v1.0.0-universal.zip qualquer Mac — Apple Silicon e Intel
EgeonDeck-v1.0.0-arm.zip só Apple Silicon, menor

Instalar

unzip EgeonDeck-v1.0.0-universal.zip -d /Applications
xattr -dr com.apple.quarantine /Applications/EgeonDeck.app

Requer macOS 14+. O nó de editor precisa de code-server instalado, e o nó de agente precisa do CLI que você já usa (claude, codex, opencode, gemini…). Detalhes no README.

Primeira versão estável. Consolida tudo o que existe até aqui: um canvas macOS em
que cada nó é uma ferramenta de trabalho real, feito para dirigir vários agentes de
IA em paralelo.

Adicionado

Canvas e vistas

  • Canvas infinito com quatro tipos de nó: editor (code-server), terminal, terminal
    com agente de IA e navegador. O canvas cresce quando se arrasta ou rola além da
    borda, e um botão enquadra todos os nós.
  • Três vistas dos mesmos nós, sem reiniciar processo: canvas, mosaico (arranjo
    arrastável) e chat, com ⌥⌘1/2/3 (ADR-016, ADR-023, ADR-029).
  • Barras flutuantes em vidro; a barra lateral recolhe com ⌘/ (ADR-025).
  • Mão do ponteiro em tudo que responde a clique (ADR-048).

Organização do trabalho

  • Hierarquia workspace → projeto → bancada, com foto ou inicial no workspace,
    reposicionamento por arrasto nos três níveis, selos de contagem e gaveta para
    projetos guardados (ADR-043, ADR-051, ADR-052).
  • Abas com as bancadas abertas no topo, com os mesmos badges da barra lateral.
    Fechar a aba não encerra a bancada. Arrastar reordena; ⌘1…⌘9, ⌘]/⌘[, ⌘→/⌘← e ⌘W
    navegam; a faixa volta no arranque (ADR-061, ADR-062).
  • Worktree git por bancada e por terminal, e remover a bancada oferece apagar as
    worktrees dela (ADR-017, ADR-018, ADR-021).
  • Templates de bancada e de nó, com componente de nó independente de CLI
    (byAgent) (ADR-057).

Agentes

  • Agente plugável por ~/.egeon/agents.json, com claude, codex, opencode e
    gemini já configurados (ADR-009).
  • Prompt injetado na sessão viva do CLI, com fila por terminal (ADR-007).
  • Estado de cada terminal pelos ganchos do CLI: preparando, trabalhando,
    ⏳ em segundo plano, terminou (verde) e precisa de você (laranja, com som)
    (ADR-024, ADR-034).
  • Protocolo de fim de turno pedido ao modelo: [[ED:ok]], [[ED:ask]] e
    [[ED:wait]] (ADR-011, ADR-063).
  • Modelo por nó, trocado pelo cabeçalho, que mostra o modelo literal em uso; trocar
    reinicia o processo e retoma a conversa (ADR-035).
  • Papel e regras separados, com regra da bancada somada à do nó, entrando depois do
    papel no system prompt (ADR-056).
  • A conversa de cada agente sobrevive a rebuild e reinício do app (ADR-014).

Coordenação entre agentes

  • Arestas desenhadas no canvas dizem quem pode acionar quem; o par nasce
    bidirecional (ADR-012, ADR-028).
  • Comando egeon dentro dos terminais: peers, send, status, peek e
    trace. A identidade de quem chama vem do pid da conexão, nunca do texto
    (ADR-040, ADR-054).
  • Guardas de cadeia fora do prompt: aresta obrigatória, maxSends por aresta,
    maxVisits por bancada e teto de fila (ADR-012).
  • Skill egeon publicada no Claude Code, para que "pede pro fulano" acione o
    vizinho em vez de um subagente; mensagens chegam com o envelope [ED], e quem
    recebe responde ao remetente (ADR-054, ADR-055, ADR-058).

Chat

  • Modo chat da bancada: participantes com cor e estado, composer com @menção,
    linha do tempo plana e turno ao vivo lido do transcript (ADR-039, ADR-042).
  • Passos de ferramenta recolhidos, agrupados numa capa que aprofunda ao clique; diff
    lado a lado sempre visível; leitura com realce por linguagem (ADR-041, ADR-044,
    ADR-046, ADR-049, ADR-050, ADR-053).
  • Histórico persistido pelo app por bancada, e "Limpar a bancada", que espera os
    agentes e arquiva chat e trilha (ADR-037, ADR-059).

Trilha da bancada

  • egeon trace grava um Markdown por bancada, carimbado com quem, CLI, modelo e
    conversa; o shell registra os comandos sozinho (ADR-036).

Terminal

  • Arrastar arquivo para o terminal cola o caminho; imagem vira anexo no Claude Code
    (ADR-026).
  • ⌘-clique em caminho de arquivo ou URL abre, com sublinhado e mão ao passar o
    mouse; ⌘-clique no caminho do card abre a pasta no Finder.
  • Voz pelo CLI dentro do terminal, com o microfone pedido pelo app (ADR-027).

Editor

  • code-server embutido no canvas (ADR-003) e extensão própria de review inline de
    Markdown, com comentários ancorados em conteúdo (ADR-004, ADR-005, ADR-005b).

Operação

  • Socket de controle HTTP em ~/.egeon/sock, que é como se dirige e se testa o app
    de fora.
  • Dois flavors que convivem, estável e dev, com config, socket, log e porta próprios
    (ADR-015, ADR-033).
  • install.sh, dist.sh (zip universal e arm64) e cert.sh (identidade de
    assinatura estável).

Corrigido

  • O fim de turno não é mais lido cedo demais quando o gancho Stop chega antes da
    última linha do transcript, o que deixava o card em "terminou" (ADR-063).
  • Limpar a bancada espera os agentes assentarem antes de arquivar (ADR-059).
  • Remoção de worktree em que o git desiste no meio não é mais dada como falha
    (ADR-060).

Histórico completo no CHANGELOG.md.

v0.4 — chat, trilha da bancada e histórico persistido

Choose a tag to compare

@JulioRennan JulioRennan released this 26 Aug 17:05

Pré-release: o modo chat, a trilha da bancada e o histórico persistido chegam
juntos, e ainda estão assentando. Desde a v0.2:

O que há de novo

  • Modo chat (⌥⌘3) — a bancada como conversa: participantes com cor e
    estado, composer estilo Slack com @agente, envio real, thread por turno com
    passos, citações e sub-conversas entre agentes dentro da bolha de quem
    começou.
  • Histórico do chat persistido pelo app — a thread sai de
    ~/.egeon/workbenches/<id>/chat.jsonl, gravado a cada turno; não depende
    mais de o CLI manter o transcript dele.
  • Trilha da bancada — ao fim de cada turno o agente roda egeon trace
    (uma ou duas linhas) e o app carimba quem, CLI, modelo e conversa em
    ~/.egeon/workbenches/<id>/trace.md, um Markdown por bancada, para auditar.
    Terminal comum também entra: cada comando que você roda vira uma linha.
  • Limpar a bancada… — botão direito na bancada, na barra lateral: roda o
    /clear em cada agente e arquiva chat e trilha em chat-archive/ e
    trace-archive/, nomeados pelo período (<início>_<fim>). Nada é apagado.
  • Modelo por nó de agente — formulário e pull-down no cabeçalho; trocar
    reinicia o processo e retoma a conversa. O cabeçalho mostra o modelo literal
    em uso.
  • Id por bancada (8 hex) — sobrevive a rename; apagar e recriar com o
    mesmo nome é outra bancada, com outra pasta.
  • Canvas abre enquadrando os nós; botão de enquadrar na barra; barra do topo
    arrasta e maximiza a janela; terminal fica "preparando" até o SessionStart.
  • Arquitetura modular (Features/<Módulo>/{Models,Views,Controllers}) e alvo
    de testes (126).

Claude Code: uma linha de config

O egeon trace passa pela permissão de Bash do Claude Code. Para não aprovar
um por um, em ~/.claude/settings.json:

{ "permissions": { "allow": ["Bash(egeon:*)"] } }

Está no README, na seção "Configuração específica do Claude Code".

Qual baixar

arquivo para quem
EgeonDeck-v0.4-universal.zip qualquer Mac — Apple Silicon e Intel
EgeonDeck-v0.4-arm.zip só Apple Silicon, 1,7 MB menor

Universal não é mais lento: o binário carrega as duas fatias e o macOS executa
só a nativa. O que dobra é o tamanho do executável.

Instalar

unzip EgeonDeck-v0.4-universal.zip -d /Applications
xattr -dr com.apple.quarantine "/Applications/Egeon Deck.app"

O xattr não é opcional: o bundle vai sem notarização, e o macOS recusa abrir o
que veio da internet dizendo que está "danificado" — o arquivo está inteiro, o que
falta é o carimbo da Apple. Requer macOS 14+.

O app não é auto-contido: o nó de editor precisa de
code-server (brew install code-server),
e o nó de agente precisa do CLI que você já usa (claude, codex, opencode,
gemini vêm configurados). A cada versão nova o macOS pede as permissões de
novo — quem compila localmente resolve com EG_SIGN_ID (README).

v0.2 — zip pronto, universal e arm64

Choose a tag to compare

@JulioRennan JulioRennan released this 18 Aug 20:50

Primeira versão empacotada para instalar sem clonar o repositório.

Qual baixar

arquivo para quem
EgeonDeck-v0.2-universal.zip qualquer Mac — Apple Silicon e Intel
EgeonDeck-v0.2-arm.zip só Apple Silicon, 1,4 MB menor

Universal não é mais lento. O binário carrega as duas fatias e o macOS executa só
a nativa: num M-series roda exatamente o mesmo código do build só-arm. O que dobra é
o tamanho do executável.

Instalar

unzip EgeonDeck-v0.2-universal.zip -d /Applications
xattr -dr com.apple.quarantine "/Applications/Egeon Deck.app"

O xattr não é opcional. O bundle vai assinado ad-hoc e sem notarização; o macOS põe
quarentena em tudo que veio da internet e recusa abrir, dizendo que o app está
"danificado" — mensagem enganosa, porque o arquivo está inteiro e o que falta é o
carimbo da Apple.

O app não é auto-contido

Ele não traz o que roda dentro dos nós:

  • nó de editor precisa de code-server na
    máquina (brew install code-server). Sem ele o nó não sobe e o resto funciona igual.
  • nó de agente precisa do CLI que você já usa. Vêm configurados claude, codex,
    opencode e gemini; qualquer outro entra em ~/.egeon/agents.json.

A extensão do editor vai dentro do bundle — essa não precisa instalar.

Requer macOS 14+. As barras usam vidro (NSGlassEffectView) no macOS 26+; abaixo
disso caem sozinhas num fundo semiopaco.

Permissões

A assinatura é ad-hoc, e para o macOS um bundle reassinado é outro app: a cada versão
nova ele pede as permissões de novo. Quem compila localmente pode parar com isso com
um certificado de code signing (EG_SIGN_ID) — está no README.