Uma extensao de chat na barra lateral do VS Code para conversar com a API do Relpz. Pensada para uso diario: chaves por assistente, selecao rapida, anexos, auto context e fluxo direto no editor.
Principais recursos
Chat na sidebar com envio por Enter e streaming da resposta
Varios assistentes (endpoints) com chave por assistente
Anexos (arquivos) e Auto Context do projeto (opcional)
Visualizacao de respostas HTML com alternancia Visualizar/Codigo
Historico por chat (criar, renomear, excluir) e lista paginada
Edicao de mensagem do usuario via "fork" (novo chat a partir do ponto editado)
Requisitos
VS Code 1.85+
Node.js 18+
Instalacao (dev)
npm install
npm run compile
F5 no VS Code para abrir a janela de desenvolvimento
Ative a view "CoRelpz Chat" pela Activity Bar
Configuracao
relpz.assistants (array): lista de assistentes no seletor. Cada item: { id, name, endpoint, envVar?, icon? }
relpz.endpoint (string): endpoint legado (fallback caso nao configure assistants)
relpz.useEnv (boolean): permite ler chave de variavel de ambiente (default: true)
relpz.envVar (string): nome padrao da env var (default: RELPZ_API_KEY)
relpz.temperature, relpz.webSearch, relpz.think: opcoes de geracao globais
Chaves de API (por assistente)
Ordem de resolucao ao enviar:
SecretStorage por assistente: relpz.apiKey.
Variavel de ambiente do assistente (assistants[i].envVar)
Variavel global definida em relpz.envVar (se habilitado)
Definindo a chave
Pelo comando "Relpz: Set API Key" (ou botao Definir Chave) com o assistente selecionado
Ou por variavel de ambiente (exemplo PowerShell):
$env:RELPZ_API_KEY_GERAL = "sua_chave"
Anexos e Auto Context
Anexos: adicionados pelo botao de clipe ao lado do composer
Auto Context: quando habilitado, inclui um arquivo context.md com trechos relevantes do projeto
Antes de enviar, um "Sumario" e injetado como mensagem para indicar quais arquivos estao sendo considerados
Edicao de mensagens (fork)
Clique no lapis da bolha do usuario para editar; o texto vai para o campo de digitar
Ao enviar, a extensao cria um novo chat a partir daquele ponto e envia a versao editada (mantendo o historico anterior)
Privacidade
A chave de API e armazenada com SecretStorage do VS Code (por assistente)
O webview nao recebe o valor da chave; apenas um status de "tem chave?"