Skip to content

Releases: Etamus/NeveCode

v0.2.29

28 Apr 16:22

Choose a tag to compare

O ajuste foi feito em duas camadas:

  • Prompt da LLM:
    Agora o agente é instruído a usar bullets - em resumos finais, se usar lista numerada, deve numerar corretamente: 1., 2., 3.;
  • Renderer do chat:
    Adicionei uma proteção defensiva: se a LLM ainda gerar várias linhas começando com 1. sem numeração real, o chat converte visualmente para bullets

v0.2.28

28 Apr 15:02

Choose a tag to compare

Mudanças feitas:

  • Histórico de sessões:
    Ao apagar uma sessão, ela some da lista imediatamente, se a sessão apagada era a sessão ativa, o chat volta para a tela inicial
  • Visual das tools:
    Agora as tools entram em uma fila visual, mesmo que a LLM emita várias tools de uma vez, o chat mostra uma por vez
    A próxima tool só aparece visualmente depois que a anterior conclui, se o resultado da próxima tool já chegou, ela ainda aparece primeiro como “rodando” por um instante antes de concluir, evitando o efeito estranho de várias tools surgindo/concluindo juntas.

v0.2.27

28 Apr 14:47

Choose a tag to compare

Mudanças feitas:

  • Timeout de streaming local:
  1. Provider local agora usa timeout idle padrão de 300s.
  2. Providers remotos continuam com 120s.
  3. Também deixei override via NEVECODE_STREAM_IDLE_TIMEOUT_MS.
  • Watchdog da extensão:
  1. Mantém watchdog inicial de 180s para “sem resposta inicial”.
  2. Depois do primeiro sinal de vida, passa para watchdog ativo de 300s.
  3. Qualquer mensagem/stream/tool/status válido da LLM reseta o watchdog ativo.
  • Planejamento local:
  1. Timeout da chamada de planejamento subiu de 4s para 12s.

v0.2.26

28 Apr 13:16

Choose a tag to compare

O que mudou:

  • Cada tool_result agora informa também o nome da tool usada.
  • Ajustado em chatProvider.js:703-709.
  • O painel agora avança tarefas conforme o tipo de ação:
    Tools de inspeção (Read, Grep, Glob, LS, NotebookRead) concluem a etapa inicial de análise/localização.
    Tools de edição (Write, Edit, MultiEdit, NotebookEdit) avançam a etapa de implementação conforme alterações acontecem.
    Tools de validação/execução (Bash, PowerShell) avançam a etapa de validação.
    Erros de tool marcam a tarefa ativa como erro.
    Ajustado em chatRenderer.js:1433-1487.
    Também evitei avanço duplicado quando existirem tanto eventos de tool quanto tokens internos .
  • Ajustado em chatRenderer.js:1450-1455.

v0.2.25

28 Apr 03:53

Choose a tag to compare

Alterações aplicadas:

  • Start-llamacpp.ps1 detecta VRAM NVIDIA via nvidia-smi
  • Se o servidor cair por falta de VRAM/contexto, reduz automaticamente:
    65536 → 49152 → 40960 → 32768 → 24576
  • Corrigido --flash-attn: agora é passado como flag booleana, sem on
  • --no-mmap deixou de ser padrão; agora só ativa com NEVECODE_NO_MMAP=1
  • Adicionados overrides por variável de ambiente
  • Redução de custo de tokens sem perder contexto grande
  • Removido blocos/fragmentos , , , , <tool_call>, <tool_use>.

v0.2.18

25 Apr 19:05

Choose a tag to compare

Mudanças (Lista de Tarefas):

  • Fase 1 — Planning (chamada separada ao llama-server):
    Quando você envia uma mensagem, a extensão faz uma chamada HTTP para http://localhost:8080/v1/chat/completions com o planning-prompt.txt como sistema. Essa chamada:
    Não usa ferramentas, só gera texto
    Retorna o com a lista completa de tarefas
    Se o servidor não estiver rodando → falha silenciosamente, sem bloquear nada
    URL configurável via nevecode.planning com Url nas settings do VS Code

  • Fase 2 — Execução (openclaude normal):
    A lista de tarefas é injetada na mensagem enviada ao openclaude como <task_plan>1. ... 2. ...</task_plan>
    O plans-prompt.txt instrui o LLM a seguir essa lista, emitir ao completar cada tarefa, e executar as fases Generate → Review → Improve → Finalize conforme necessário
    O painel de tarefas já está montado ANTES do LLM começar a responder (flag _planPrebuilt impede que stream_start limpe o painel)
    Fases dinâmicas:

Tarefa pequena: Generate + Finalize
Tarefa média: Generate + Review + Finalize
Tarefa complexa: Generate + Review + Improve + Finalize (com sub-tarefas no Generate)

Correções:

  • Timeout do planejador local reduzido: _generatePlan agora espera no máximo 4s em vez de 12s. Se o llama-server/local planner travar, ele cai para execução normal.
  • Watchdog de geração: cada rodada agora tem um limite de 120s. Se a CLI/LLM não retornar nada, a geração é abortada e a UI destrava.
  • Prompt menos travante: removi a instrução rígida “use tools diretamente / não descreva”, que podia deixar modelo pequeno indeciso.
  • Tool card duplicado no restore — a raiz do bug era que ao restaurar sessão, appendToolCard já construía o card completo (com path no header) E depois updateToolInput rodava de novo adicionando um segundo .tool-path dentro de .tool-name. Agora no restore só appendToolCard + updateToolResult são chamados — sem updateToolInput. Também corrigido: displayName agora usa tu.displayName (armazenado) em vez de tu.name (o nome bruto).
  • Agente usando pasta errada — cada mensagem agora começa com [diretório de trabalho: D:\Openclaude] injetado no texto enviado à IA (sem aparecer no chat). O LLM pequeno (Qwen 4B) tende a usar o diretório pessoal do usuário por padrão; injetar o workspace explicitamente em cada mensagem corrige isso.
  • AskUserQuestion / ExitPlanMode aparecendo — adicionados à lista de ferramentas ocultas nos três lugares: tool_use, tool_input_ready e restore_messages. Os cards não aparecem mais, mas as ferramentas continuam sendo executadas normalmente.

v0.2.11

24 Apr 23:48

Choose a tag to compare

Correções:

  • [FileWriteTool/FileWriteTool.ts] Trocado getPatchForDisplay por getPatchFromContents para o cálculo do diff pós-escrita. O caminho anterior fazia um .replace(arquivo_inteiro, ...) desnecessário antes do diff — agora vai direto de oldContent → newContent.

  • Lista consome o \n\n: A regex de wrapping das listas usava \n? no final de cada <li.>, o que consumia UM dos dois \n do par \n\n que separa seções. Resultado: o texto logo após uma lista era mesclado no mesmo bloco em vez de virar um parágrafo novo. Fix: adicionado \n\n explícito após cada </ul.> e </ol.>, garantindo sempre um parágrafo separador.

v0.2.9

24 Apr 23:44

Choose a tag to compare

Mudanças:

  • SVG Glob (Find Files): removidas as linhas internas do +, agora é uma lupa simples
  • Modelo de IA: label começa vazio, só aparece quando o modelo é identificado
  • Dropdown aprovações: hover usa --vscode-list-hoverBackground (cinza neutro), item ativo tem fundo rgba(128,128,128,0.14) — sem azul
  • Card de anexo: menos arredondado (border-radius: 3px), fundo usando cor de tab do editor
  • Tool cards: não expandem sozinhos ao terminar — ficam recolhidos, o usuário pode clicar para abrir
  • Histórico: título não é mais maiúsculo, botão "Fechar" virou seta ← (SVG polyline chevron left)

Correções:

  • Lentidão extrema (10+ minutos) — CAUSA RAIZ CORRIGIDA
    As DLLs de runtime CUDA estavam ausentes do sistema:
    cudart64_13.dll, cublas64_13.dll (49MB), cublasLt64_13.dll (458MB)
    Sem elas, o ggml-cuda.dll falha ao carregar e a IA cai para CPU pura → lento demais
    Todas as 3 foram adicionadas ao instalar.bat

  • start-llamacpp.ps1 — otimizações de velocidade
    KV cache q8_0 → q4_0 (~50% menos VRAM no cache de contexto)
    Adicionado --batch-size 2048 e --ubatch-size 512 (prefill muito mais rápido)

v0.2.4

23 Apr 17:12

Choose a tag to compare

Correções:

Gap "gigante" entre texto e lista:

  • Causa raiz: Quando o modelo gera umtexto, o renderMarkdown converte incorretamente, criando uma linha em branco de ~20px de altura.
  • Correção: Adicionado Step 13a em chatRenderer.js que remove qualquer "br" imediatamente antes de elementos bloco (ul, ol, h1-h4, table, etc.).

LLM para após ~82 tokens:

  • Causa raiz: O llama-server ativa automaticamente o modo de raciocínio do Qwen3 (reasoning-budget: activated, budget=2147483647), gerando ~9K tokens internos de CoT por requisição. Para um modelo 4B com histórico de ~29K tokens, isso sobrecarrega o contexto e causa resposta prematura/incompleta.
  • Correção: Adicionado em openaiShim.ts — quando isLocal, o texto /no_think é anexado ao system prompt. Isso instrui o template do Qwen3 no llama.cpp a desativar o modo de pensamento, liberando o contexto para respostas mais completas.

v0.2.1

23 Apr 12:58

Choose a tag to compare

Mudanças:

Botão "+" de anexar arquivo:

  • Ícone de clipe (paperclip SVG) no canto inferior esquerdo da área de input, antes do botão de permissão
  • Ao clicar, abre o dialogo nativo de seleção de arquivo do VS Code
  • O arquivo selecionado aparece como um chip acima do textarea, com ícone de documento + nome + botão ×
  • O chip desaparece quando clicado no ×
  • Ao enviar a mensagem, o conteúdo do arquivo é anexado ao texto (formato: --- Arquivo: path\n\nconteúdo\n\n---)
  • O texto exibido no chat mostra apenas o que o usuário digitou; o conteúdo do arquivo vai apenas para o llm
  • Arquivos maiores que 20.000 caracteres são truncados com aviso

Redesign do input área:

  • O container agora é .input-box — uma bordinha única com borda/radius/background
  • Dentro: chips de arquivo (topo) → textarea (sem borda própria) → barra de ações (fundo)
  • Barra de ações: "+" à esquerda + botão enviar à direita (sem position: absolute mais)
  • O foco no textarea faz a borda do .input-box ficar em destaque (:focus-within)