Slm local
Our analysis
Project changelog (docs/alteracoes.md) — read the full analysis →
Chat API errors: surface + structured codes — read the full analysis →
Disable Next.js devIndicators — read the full analysis →
ReactMarkdown DOM crash during streaming — read the full analysis →
Whitelabel branding via env vars — read the full analysis →
Full pt-BR localization (next-intl) — read the full analysis →
Think the analysis missed something the PR description covers?
Commits in this PR (24)
| SHA | Subject | Author | Date | |
|---|---|---|---|---|
a096a76d | chore: instala dependencias do backend e frontend | Braulio Gabriel Gusmao | 2026-05-11 | ↗ GitHub |
f12456ca | feat(i18n): configura next-intl e cria traducoes pt-BR | Braulio Gabriel Gusmao | 2026-05-11 | ↗ GitHub |
1f6b1527 | feat(i18n): traduz login, signup, modais shared e componentes de diretório | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
826e25fd | feat(i18n): translate assistant and tabular components to pt-BR | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyCovers AssistantWorkflowModal, ChatView, ChatInput, InitialView, SelectAssistantProjectModal, AddColumnModal, AddNewTRModal, TRChatPanel, and columnPresets. Also includes previously completed files: NewProjectModal, ProjectExplorer, ProjectPage, ProjectsOverview. Legal column preset names adapted to Brazilian terminology. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
693e2fe5 | feat(i18n): traduz workflows, modais, páginas e hook de chat para pt-BR | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyCompleta a tradução dos arquivos restantes da lista em TRADUCAO.md: workflows (ShareWorkflowModal, WFEditColumnModal, WorkflowList, NewWorkflowModal), modais (delete-chats-modal), páginas (account, account/models, tabular-reviews, workflows/[id], projects chat), suporte e hook useAssistantChat. Todos os textos hardcoded em inglês substituídos por chamadas t() com chaves no pt-BR.json. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
170e7bca | feat(i18n): traduz menu lateral (AppSidebar) para pt-BR | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Itens de navegação, histórico, tooltips e nome do app substituídos por chamadas t() no namespace shared.appSidebar. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
b6ed3d1c | feat(i18n): traduz botão de documentos (AddDocButton) para pt-BR | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
ab9b0d7c | feat(i18n): renomeia Revisões Tabulares para terminologia jurídica brasileira | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Menu lateral: "Dados"; página: "Extração e comparação de dados entre documentos". Corrige título hardcoded na página de revisões tabulares. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
50553c3c | feat(i18n): traduz painel de alterações rastreadas para pt-BR | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
AssistantMessage (labels de ferramentas, Accept all/Reject all, resumo de alterações) e EditCard (Aceitar/Rejeitar/Ver por alteração individual). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
9dfa9ca9 | feat: centraliza configuração de marca em brand.ts + componente AppLogo | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyCria src/config/brand.ts com NEXT_PUBLIC_APP_NAME e NEXT_PUBLIC_LOGO_URL. Cria AppLogo que renderiza imagem customizada ou o ícone SVG padrão. Substitui usos de MikeIcon como logo nos componentes de interface; usos como spinner/status permanecem com MikeIcon. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
4556c948 | feat: título da aba do navegador configurável via variáveis de ambiente | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodySubstitui metadados hardcoded por NEXT_PUBLIC_APP_TITLE, NEXT_PUBLIC_APP_DESCRIPTION e NEXT_PUBLIC_APP_URL. Usa NEXT_PUBLIC_APP_NAME como fallback para o título quando APP_TITLE não for definido. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
4872c90b | fix: corrige removeChild durante streaming do ReactMarkdown | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyAdiciona key="streaming"/"done" no ReactMarkdown para forçar remount ao fim do streaming. Evita que rehypeKatex/remarkGfm produzam árvores DOM inconsistentes durante reconciliação com markdown parcial. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
78e2b036 | fix: desativa plugins do ReactMarkdown durante streaming para evitar conflito de DOM | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyDurante streaming usa ReactMarkdown sem plugins (árvore DOM estável). Ao fim do streaming, key muda para "done" forçando remount único com rehypeKatex e remarkGfm ativos para renderização final completa. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
937d816a | feat: traduz áreas de prática para português e documenta como config de instância | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyTraduz todas as 19 opções de PRACTICE_OPTIONS para português jurídico e atualiza os workflows embutidos para usar os novos valores. Adiciona comentário de documentação em practices.ts explicando como gerenciar as áreas de prática por instância. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
0aef1737 | chore: desativa painel de dev tools do Next.js (devIndicators) | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
O painel interno do Next.js estava em inglês e sobrepondo elementos da interface. Como não é traduzível, foi desativado via devIndicators: false. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
1dcd8a86 | feat: renomeia Workflows para Fluxos de trabalho e adiciona label no botão Criar | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Atualiza sidebar nav, título da página e todas as strings relacionadas para "Fluxos de trabalho". Adiciona label "Criar Fluxo" ao botão + na página de listagem de fluxos. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
846ce3f2 | feat: atualiza modal de novo fluxo com nomenclatura em português | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Substitui todas as ocorrências de "workflow" por "fluxo" no modal de criação/edição, incluindo breadcrumb, placeholder do nome, botão de confirmação e mensagens de erro/estado. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
a9e0d671 | fix: corrige label "Workflows" → "Fluxos de trabalho" no chat input | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Chave de tradução errada estava sendo usada no componente ChatInput, mostrando "Workflows" em inglês mesmo após a renomeação. Arquivos: frontend/messages/pt-BR.json Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
61e35e23 | feat: traduz página de Configurações para português | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit body- layout.tsx: "Settings" → "Configurações", "General" → "Geral", "Models & API Keys" → "Modelos e Chaves de API" via useTranslations - models/page.tsx: labels dos campos de chave de API traduzidos; mensagens de alert() em português - account/page.tsx: mensagens de alert() em português - pt-BR.json: adiciona namespace pages.configLayout e chaves de erro para conta e modelos Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
fde100d5 | merge: adaptação para português (pt-BR) | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
ed833e17 | fix: exibe mensagem de erro da API no balão do chat | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyAntes o backend enviava "Stream error" genérico e o frontend
ignorava o evento silenciosamente - o usuário via apenas o
spinner desaparecer sem explicação.
Backend: extrai a mensagem real do erro (ex: "Your credit balance
is too low...") da estrutura aninhada do SDK Anthropic/OpenAI e a
envia no evento SSE { type: "error", message: "..." }.
Frontend: trata o evento type="error" lançando a mensagem como
exceção, que é capturada pelo bloco catch existente e exibida
no balão do assistente como mensagem de erro.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| ||||
4896b8c3 | Traduz mensagens de erro do chat para português | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
commit bodyBackend emite código de erro estruturado (code + message) para erros conhecidos (saldo insuficiente, chave inválida, rate limit, etc.). Frontend traduz pelo código; fallback para mensagem bruta ou genérica. Corrige também o bug em que o throw dentro do try/catch interno era silenciado - agora usa variável streamError propagada após o loop. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
454ee916 | docs: adiciona histórico de alterações do projeto | Braulio Gabriel Gusmao | 2026-05-12 | ↗ GitHub |
Documenta todas as mudanças feitas: adaptação pt-BR, sistema de erros estruturados, correções de bugs e outras melhorias. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
cb3e3b59 | feat: integração com Ollama para modelos locais | Braulio Gabriel Gusmao | 2026-05-13 | ↗ GitHub |
commit bodyAdiciona suporte a modelos rodando localmente via Ollama, com estratégia de pré-carregamento de documentos no contexto antes da chamada ao LLM - necessário porque modelos menores não lidam bem com tool calling reativo. - Backend: adapter de streaming (ollama.ts), rota GET /ollama/models, dispatcher atualizado para provider "ollama/", models.ts e types.ts atualizados - Frontend: grupo "Local (Ollama)" dinâmico no ModelToggle, busca de modelos via fetchOllamaModels(), useSelectedModel aceita IDs ollama/*, modelAvailability atualizado para provider ollama Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> | ||||
Capture this PR into my fork
Download a Markdown prompt that tells Claude how to port every
commit in this PR into your working tree. Run it via
claude -p < capture-pull-75.md from
inside the repo you want the changes in.