Sobre o projeto

jcode é um harness de codificação de IA de terminal de código aberto, projetado para ser eficiente em recursos e rápido. O projeto se posiciona como o harness mais eficiente em RAM e mais inteligente, e o README respalda isso com tabelas de benchmark comparando jcode com ferramentas como pi, Codex CLI, OpenCode, GitHub Copilot CLI, Cursor Agent, Claude Code e Antigravity CLI. Os números relatados incluem aproximadamente 27,8 MB de PSS para uma única sessão com embedding local desabilitado, cerca de 14 ms de tempo até o primeiro frame e cerca de 48,7 ms de tempo até a primeira entrada, com escalonamento de memória por sessão em torno de 10 MB. A instalação é um script curl de uma linha no macOS/Linux e um one-liner do PowerShell no Windows 11, e a ferramenta é distribuída para Linux, macOS e Windows sob licença MIT. A experiência central é uma TUI com área de chat, painéis laterais, renderização inline de diagramas Mermaid, widgets de informação que ocupam apenas espaço negativo na tela, uma implementação personalizada de scrollback e um projeto de terminal companheiro chamado Handterm que adiciona uma API de scroll nativa. A renderização é reivindicada a rodar a mais de mil fps, e o projeto inclui uma biblioteca de renderização Mermaid personalizada (mermaid-rs-renderer) sem dependência de navegador ou TypeScript. O alinhamento pode ser alternado entre esquerda e centralizado, e emojis podem ser desabilitados globalmente via config ou variável de ambiente. Uma característica distintiva é o sistema de memória do agente. Cada turno é incorporado como um vetor semântico e consultado contra um grafo de memórias usando similaridade de cosseno. Os resultados são injetados na conversa, opcionalmente verificados por um sideagent de memória que pode fazer trabalho de recuperação adicional. As memórias são extraídas periodicamente com base em deriva semântica, contagem de turnos ou fim de sessão, e consolidadas em um modo ambiente que reorganiza entradas e verifica obsolescência e conflitos. Ferramentas de memória explícitas permitem que o agente busque ou armazene memórias ativamente, e a busca de sessão fornece RAG tradicional sobre sessões anteriores. O recurso Swarm permite que vários agentes rodem no mesmo repositório sob um servidor compartilhado. Quando um agente edita um arquivo que outro leu, o servidor notifica o outro agente, que pode ignorar a mudança ou inspecionar o diff para evitar conflitos. Os agentes podem se comunicar via DM, broadcast ou canais com escopo de repositório, e podem autonomamente gerar seus próprios enxames, transformando o agente principal em coordenador e os agentes gerados em trabalhadores. Canais de mensagens em grupo, status de conclusão e coordenação são gerenciados automaticamente, e isso pode rodar headless ou com interface. O suporte a provedores é amplo. Fluxos de login OAuth integrados cobrem Claude, OpenAI/ChatGPT/Codex, Google Gemini, GitHub Copilot, Azure OpenAI, Alibaba Cloud Coding Plan, Fireworks, Novita AI, MiniMax, Meta Model API/Muse, LM Studio e Ollama, além de um endpoint personalizado compatível com OpenAI. Provedores nativos OpenAI usam Responses WebSocket v2 com preaquecimento oportunista em segundo plano e fallback HTTPS. Provedores compatíveis com OpenAI incluem perfis nomeados integrados para serviços como OpenRouter, DeepSeek, Moonshot AI, Baseten, Hugging Face, Nebius, Scaleway e outros, e endpoints arbitrários podem ser adicionados via um comando de perfil de provedor de uma vez que escreve em ~/.jcode/config.toml e armazena segredos em um diretório privado de configuração do app. Gateways compatíveis com Anthropic Messages são suportados com autenticação bearer, cabeçalho personalizado ou sem autenticação, e cabeçalhos específicos de gateway. Runtimes locais como Ollama e LM Studio são suportados com completions de chat em streaming, chamada de função/ferramenta e conteúdo de imagem estilo OpenAI para modelos locais com capacidade de visão. As opções de configuração incluem janelas de contexto por modelo, campos extra_body para corpos de requisição não padrão, timeouts de idle de streaming que escalam com esforço de raciocínio e controles de esforço de raciocínio. O projeto também fornece um SDK, documentação, benchmarks e uma comunidade no Discord. As atualizações podem ser feitas na TUI com /update ou do terminal com jcode update, com canal estável por padrão e canal main para atualizações do branch de origem. Builds de desenvolvimento comparam o commit Git do binário em execução com a tag de release e param em vez de arriscar um downgrade se a ancestralidade não puder ser verificada. No geral, jcode visa desenvolvedores que querem um ambiente de codificação de IA de terminal rápido e leve em memória, com memória persistente, colaboração multiagente e configuração flexível de provedores de modelos.