antojunimaia-ui/Koda
Agente de engenharia autônomo em Electron (desktop local). Auditoria read-only: metadados GitHub, clone em /tmp/Koda, npm install e npm run build executados neste servidor — sem testes automatizados no upstream.
Score ponderado
| Critério | Peso | Nota (0–10) | Comentário |
|---|---|---|---|
| Funcionalidades / produto | 25% | 8,5 | Multi-workspace, MCP, LSP, skills, rollback, modos Planner/Colab, Discord (KoClaw), API remota |
| Arquitetura & código | 20% | 7,0 | main/renderer claro, BaseTool; ~239 usos de any no src/ |
| Segurança operacional | 20% | 4,5 | Webhook em 0.0.0.0, CORS *, /status público; KoClaw desativa verificação TLS; npm audit 2 critical |
| Documentação & DX | 15% | 9,0 | README extenso; CONTRIBUTING; build Vite ok em ~<1s (electron) + renderer |
| Comunidade | 10% | 6,0 | 29★ · 7 forks · repo desde abr/2026 · 0 issues abertas |
| Testes & QA | 10% | 2,0 | Sem script test; CI só release (dist.yml) |
Execução local (evidência)
| Passo | Resultado |
|---|---|
git clone --depth 1 | OK · ~6,4 MB |
npm install --ignore-scripts | OK |
npm run build | OK · bundles dist-electron/index.js ~310 kB; avisos de chunk >500 kB |
npm audit (resumo) | 25 vulnerabilidades: 2 critical, 8 high, 12 moderate, 3 low |
Achados de segurança (prioridade)
- KoClaw (Discord): desativa verificação de certificado TLS no processo (
rejectUnauthorized = falseno agente HTTPS global). - Remote Control API (
webhook-server.ts): escuta0.0.0.0; CORS*;GET /statussem token expõecwd, modelo e projeto. - Koda Cloud provider: proxy padrão em host terceiro (
hostzera) — mensagens/tools podem transitar fora se esse provider for escolhido. - Dependências: 2 vulnerabilidades critical no
npm audit(detalhes: rodar audit localmente antes de empacotar).
Mitigações já presentes: aprovação inline de shell (allowlist + painel Accept/Deny); bloco de comandos destrutivos óbvios; .kodaignore estilo .gitignore em leitura/escrita/listagem.
Webhook desligado por padrão (WEBHOOK_ENABLED=true para ativar); porta padrão 3141; token via WEBHOOK_TOKEN (vazio se não configurado — exige configuração consciente).
Resumo do produto
Desktop “pair programmer” com terminal PTY real (node-pty), Monaco, preview browser, sub-agente web (operantid.js), integração MCP e 16 provedores (OpenAI, Anthropic, Ollama, OpenRouter, xAI, etc.). Skills em ~/.koda/skills/ e .koda/skills/. Releases multi-plataforma (Win x64/ia32, Linux AppImage, macOS DMG sem assinatura).
Lista de tools (main process)
shell, shell_wait, shell_input, kill_pty, list_pty, file_*, list_dir, search, browser, lsp, diagnostics, plan, questions, collaborate, skill, mcp-tool, web-fetch, web-search
Relação com o stack Hermes (Bruno)
| Dimensão | Koda | Hermes (seu setup) |
|---|---|---|
| Runtime | App Electron no desktop do dev | Agente servidor + Telegram/Discord gateway, perfis, cron |
| Memória | Sessão local + snapshot por mensagem | Memory, Honcho, skills, session_search |
| Automação | Fila de tarefas no app | Cronjobs, delegação, artefatos públicos |
| Uso recomendado | Referência UX / coding local experimental | Infra, relatórios, custos, operações 24/7 |
Veredito: experimentar em máquina de desenvolvimento com Remote Control e KoClaw desligados (ou rede restrita); não substitui Hermes para VPS e automações.
Fontes
- Repositório: github.com/antojunimaia-ui/Koda
- Release: v26.1.5
- Licença: BSD-3-Clause (LICENSE)
- Discord do projeto (link no README): discord.gg/7FtCkNunYF