{
"meta": {
"title": "Assistente de IA Proxmox — OpenAI, Claude, Gemini, Groq, Ollama | ProxMenux Monitor",
"description": "O assistente de IA opcional reformula as notificações Proxmox VE em linguagem clara. Seis fornecedores: OpenAI, Anthropic Claude, Google Gemini, Groq, OpenRouter e Ollama. A interface oferece treze idiomas, três níveis de detalhe por canal, prompts personalizados com uma biblioteca comunitária e contexto com tempo de atividade, recorrência e dados SMART.",
"ogTitle": "Assistente de IA Proxmox — OpenAI, Claude, Gemini, Groq, Ollama",
"ogDescription": "Reescreva notificações Proxmox VE em linguagem simples com OpenAI, Anthropic Claude, Google Gemini, Groq, OpenRouter ou local Ollama.",
"twitterTitle": "Assistente de IA Proxmox | ProxMenux Monitor",
"twitterDescription": "Reescreva notificações Proxmox VE em linguagem simples com OpenAI, Anthropic, Gemini, Groq, OpenRouter ou Ollama local."
},
"header": {
"title": "Assistente de IA",
"description": "A reformulação opcional por IA transforma as notificações elegíveis em mensagens claras, com detalhe por canal, treze idiomas na interface, prompts personalizados, biblioteca comunitária pública e contexto adicional. Os relatórios backup_complete e backup_fail não passam pela IA.",
"section": "Monitor do ProxMenux"
},
"intro": {
"title": "Desligado por omissão, comutador único para activar",
"body": "A reformulação por IA vem desativada por predefinição. Ative-a em Definições → Notificações → Avançado: melhoria por IA. Se o enriquecimento ou a reformulação falhar, o processo de envio envia o modelo original. As reformulações na fila de envio de eventos têm um limite de espera de 25 segundos; ao atingi-lo, envia-se o modelo em vez de esperar."
},
"howItWorks": {
"heading": "Como funciona",
"intro": "Os eventos enviados pelo Monitor seguem o mesmo processo. A reformulação por IA é uma etapa opcional entre o texto do modelo e o envio ao canal. Um evento passa por quatro passos:",
"steps": [
"Evento + modelo. Um evento chega de um dos seis coletores e é renderizado em um corpo estruturado de texto simples por notification_templates.py. Este é o corpo que o canal enviaria se a IA reescrever estivesse desligada.",
"Aprimoramento de contexto. O expedidor inspeciona o evento e, condicionalmente, adiciona os sinais extras relevantes — tempo de funcionamento do sistema (somente para falhas críticas do sistema), frequência do evento, dados do SMART (somente para eventos em disco), correspondências de banco de dados de erros conhecidos e linhas de diário.",
"Construção do prompt. O prompt de sistema combina o modelo e as definições do canal: idioma, detalhe, regras emoji das Mensagens enriquecidas e sugestões de IA, se ativas. No modo personalizado, o seu prompt substitui todo o prompt de sistema. A mensagem do utilizador contém o texto do modelo e os blocos de contexto.",
"Chamada ao fornecedor. Groq, OpenAI, Anthropic, Gemini, Ollama ou OpenRouter devolve título e texto reformulados. O módulo de envio analisa a resposta, substitui esses conteúdos para o canal e entrega-os ao adaptador de envio."
],
"notesIntro": "Três detalhes que valem a pena manter antes de ler o resto desta página:",
"notes": [
"A IA não produz eventos. Cada evento nasce de um sinal real (Scan Health Monitor, linha de diário, PVE webhook, etc.) e é renderizado em um corpo modelado antes que a IA o veja. A IA é um tradutor e re-formatador, não um observador.",
"A IA é executada por canal. Telegram e Discord podem usar uma breve reescrita enquanto o Email recebe um relatório detalhado — mesmo evento, forma diferente, tudo de uma chamada de provedor por canal.",
"Em caso de falha utiliza-se o modelo. Se o fornecedor devolver um erro 5xx, exceder o tempo limite, produzir uma resposta inválida ou recusar o pedido, o módulo regista o erro e envia o texto original do modelo para esse canal."
]
},
"enabling": {
"heading": "Habilitando o painel",
"intro": "A configuração de IA fica no fundo do painel Notificações, no separador Definições, no bloco recolhível Avançado: melhoria por IA. Clique no título para o expandir:",
"collapsedAlt": "Cabeçalho AI Avançado Recolher com indicador chevron",
"collapsedCaption": "Recolhido por predefinição; um clique expande o painel.",
"panelAlt": "Painel IA expandido com interruptor principal, fornecedor Google Gemini, chave API oculta, modelo gemini-2.5-flash, prompt predefinido, idioma inglês, detalhe para Telegram, Discord, Gotify e e-mail, sugestões IA e teste de ligação",
"panelCaption": "O painel IA completo: cada controlo descrito nesta página corresponde a um dos campos acima.",
"outro": "De cima para baixo: interruptor Mensagens melhoradas por IA, fornecedor e janela informativa, chave API ou URL Ollama, lista de modelos carregada após a chave, modo Predefinido / Personalizado, idioma, detalhe por canal, Sugestões de IA e botão Testar ligação que envia uma mensagem de teste ao fornecedor para validar as credenciais."
},
"context": {
"heading": "Qual o contexto que a IA recebe",
"intro": "Antes que o prompt seja construído, o despachante caminha uma rotina de enriquecimento de contexto que decide quais sinais extras são relevantes para o evento em questão. O objetivo é dar ao LLM informações suficientes para produzir uma mensagem útil, sem alagá-la (e sua carteira) com ruído que não se aplica. Cinco blocos de contexto podem ser adicionados à mensagem do usuário:",
"headerBlock": "Bloco",
"headerWhen": "Quando é injetado",
"headerWhat": "O que carrega",
"rows": [
{
"block": "Tempo de atividade do sistema",
"when": "Apenas para falhas críticas do sistema: crash, panic, oom, kernel, split_brain, quorum_lost, node_offline, node_fail, system_fail, boot_fail. Omite-se em erros de disco, avisos e operações de rotina para manter o prompt conciso.",
"what": "Uma linha como System uptime: 14 days (stable system). Permite ao LLM distinguir problemas de inicialização de falhas de longo prazo."
},
{
"block": "Frequência do evento",
"when": "Sempre, quando o Monitor já viu a mesma impressão digital antes.",
"what": "Número de ocorrências, data da primeira deteção e padrão opcional: recorrente, isolado ou pico. O modelo utiliza estes dados para distinguir um problema recorrente de uma primeira ocorrência."
},
{
"block": "Dados SMART",
"when": "Apenas para eventos relacionados ao disco (tipo evento contém disk, smart, storage, io_error, ou o corpo menciona /dev/sd, ata, i/o error).",
"what": "Saída de smartctl para o dispositivo afetado — saúde geral (PASSED / FAILED) mais os atributos relevantes para o modo de falha."
},
{
"block": "Base de dados de erros conhecidos",
"when": "Quando o contexto do corpo ou diário corresponde a um padrão de erro específico do Proxmox enviado com o Monitor.",
"what": "Um bloco KNOWN PROXMOX ERROR DETECTED com a causa identificada e uma solução concreta. O prompt pede uma tradução fiel, sem reformular a correção recomendada."
},
{
"block": "Registos de diários",
"when": "Quando o coletor de origem capturou linhas de log para o evento, sobretudo na monitorização dos logs e das tarefas.",
"what": "Excertos crus journalctl. O prompt diz ao LLM para extrair IDs, timestamps e dicas de causa-root, e ignorar entradas não relacionadas."
}
],
"afterBlocks": "Uma vez que estes blocos são unidos, a mensagem de usuário enviada para o LLM tem esta forma:",
"calloutTitle": "Nenhuma telemetria além do próprio evento",
"calloutBody": "O Monitor só envia o que tem à mão para o evento atual — nenhuma telemetria em todo o sistema, nenhuma série métrica histórica, nenhum depósito de inventário. Os cinco blocos acima são o limite superior do que deixa o hospedeiro em uma única reescrita de IA."
},
"tokens": {
"heading": "Tokens — o que são e como são consumidos",
"intro1": "Os fornecedores comerciais cobram por token. Um token corresponde aproximadamente a quatro caracteres ingleses ou três quartos de uma palavra. A frase inglesa \"Backup completed on storage local-bak\" tem cerca de oito tokens. Dez linhas de log podem ocupar 200–400 tokens, conforme o conteúdo técnico.",
"intro2": "Duas coisas são cobradas em cada chamada:",
"items": [
"Tokens de entrada: prompt de sistema e mensagem do utilizador, com gravidade, título, texto do modelo e contexto adicional. A quantidade depende do prompt e do evento. Cada canal reformulado pode consumir os seus tokens; os relatórios de cópia concluída ou falhada não passam pela IA.",
"Tokens de saída: a resposta do modelo. O Monitor limita-os com max_tokens. O valor é um limite, não um consumo fixo: se o modelo produzir 250 tokens com limite de 1500, paga por 250."
],
"capsIntro": "Estes são os limites aplicados pelo módulo de envio, definidos em AI_DETAIL_TOKENS em notification_templates.py:",
"headerLevel": "Nível de detalhe",
"headerCap": "Limite de saída (tokens)",
"headerConsumption": "Consumo real típico",
"capRows": [
{
"level": "breve",
"cap": "500",
"consumption": "Tokens de saída 50-200 para eventos curtos."
},
{
"level": "padrão",
"cap": "1500",
"consumption": "200–700 tokens de saída para eventos habituais com pouco contexto."
},
{
"level": "detalhado",
"cap": "3000",
"consumption": "Tokens de saída 500-2000 para relatórios completos de e-mail com logs e tabelas SMART."
}
],
"customNote": "O modo de prompt personalizado limita a saída a 500 tokens, independentemente do detalhe. O prompt é controlado por si e o limite evita respostas excessivas.",
"sizingTitle": "Tamanho prático",
"sizingBody": "Estime o consumo como eventos reformulados × canais com IA × tokens de entrada e saída por chamada. Por exemplo, 50 eventos × um canal × (2.000 de entrada + 300 de saída) são cerca de 115.000 tokens por dia, já que só o prompt de sistema predefinido tem cerca de 1.500 tokens. O consumo e o custo reais dependem do modelo, contexto, cache e limites do fornecedor. A secção Detalhe por canal explica o uso de brief no chat em vez de standard, mantendo relatórios de e-mail detalhados."
},
"providers": {
"heading": "Prestadores de IA",
"intro": "Seis fornecedores estão ligados ao Monitor. O dropdown do provedor na UI mostra todos eles; um botão de informação ao lado dele abre um modal com uma descrição de uma linha para cada um. Abaixo está a referência completa, com o URL para obter uma chave API, a descrição mostrada na UI e as notas relevantes do codebase.",
"imageAlt": "AI Providers Information modal que enumera os seis fornecedores apoiados — Groq, OpenAI, Anthropic Claude, Google Gemini, Ollama, OpenRouter — cada uma com o seu ícone e a sua descrição de uma linha, bem como uma descrição especial OpenAI- Nota compatível com APIs para OpenAI",
"imageCaption": "O modal no aplicativo — seis cartões, um por provedor, com as mesmas descrições documentadas abaixo.",
"groq": {
"heading": "Groq",
"tagline": "Nível livre muito rápido e generoso (30 req/min). Ideal para começar.",
"items": [
"Chave API: console.groq.com/keys",
"Exemplos da lista de modelos incluída: allam-2-7b, qwen/qwen3.8-27b, openai/gpt-oss-20b, groq/compound-mini.",
"Recomendação incluída: openai/gpt-oss-20b. Verifique a disponibilidade para a sua conta no seletor do fornecedor e no teste de ligação."
]
},
"openai": {
"heading": "OpenAI",
"tagline": "Padrão industrial. Muito preciso e amplamente utilizado.",
"items": [
"Chave API: platform.openai.com/api-keys",
"Exemplos da lista de modelos incluída: gpt-4.1-nano, gpt-4.1-mini, gpt-4o-mini, gpt-4.1, gpt-4o, gpt-5-nano.",
"Recomendação incluída: gpt-4.1-nano. O adaptador também trata requisitos dos modelos de raciocínio; a lista inclui gpt-5-nano, pelo que esses modelos não são excluídos em geral."
],
"baseUrlTitle": "URL base compatível com OpenAI",
"baseUrlBody": "O fornecedor OpenAI aceita um URL base personalizado para serviços compatíveis, como BytePlus / ByteDance (Kimi K2.5), LocalAI, LM Studio, vLLM, Together AI e Fireworks AI, que utilizam o formato /v1/chat/completions. Defina o URL no separador OpenAI junto à chave API."
},
"anthropic": {
"heading": "Anthropic (Claude)",
"tagline": "Excelente para escrever e traduzir. Rápido e económico.",
"items": [
"Chave API: console.anthropic.com/settings/keys",
"Exemplos da lista de modelos incluída: claude-haiku-4-5-20251001, claude-sonnet-4-6, claude-opus-4-6.",
"Recomendação incluída: claude-haiku-4-5-20251001, um snapshot fixo em vez de um alias variável."
]
},
"gemini": {
"heading": "Google Gemini",
"tagline": "Plano gratuito disponível, boa relação qualidade/preço.",
"items": [
"Chave API: aistudio.google.com/app/apikey",
"Exemplos da lista de modelos incluída: gemini-2.5-flash-lite, gemini-2.5-flash, gemini-3-flash-preview.",
"Recomendado: gemini-2.5-flash-lite — flash e flash-lite passam o verificador de forma consistente. As variantes pro rejeitam a configuração thinkingBudget=0 que o Monitor usa e são exageradas para esta carga de trabalho."
]
},
"openrouter": {
"heading": "OpenRouter",
"tagline": "Agregador com acesso a modelos 100+ usando uma única chave API. Máxima flexibilidade.",
"items": [
"Chave API: openrouter.ai/keys",
"Exemplos da lista de modelos incluída: meta-llama/llama-3.3-70b-instruct, meta-llama/llama-3.1-70b-instruct, meta-llama/llama-3.1-8b-instruct, anthropic/claude-haiku-4.5, google/gemini-2.5-flash-lite, openai/gpt-4o-mini, mistralai/mistral-medium-3.",
"Recomendado: meta-llama/llama-3.3-70b-instruct — mesmo modelo da entrada Groq, mas roteado através de OpenRouter, o que significa uma única chave para todos os modelos listados."
]
},
"ollama": {
"heading": "Ollama (local)",
"tagline": "Utiliza os modelos do servidor Ollama configurado. Os modelos locais executam-se nesse servidor; os modelos cloud encaminham pedidos para um fornecedor externo. A execução local evita custos de API alojada, mas utiliza o seu hardware e eletricidade.",
"items": [
"Nenhuma chave API. Defina o campo Ollama URL para o seu servidor (padrão http://localhost:11434 ou qualquer máquina roda sua instância Ollama).",
"Modelos: não filtrados. O Monitor lê quaisquer modelos que você extraiu no lado Ollama via ollama pull <model>. O menu suspenso é preenchido em GET /api/tags em seu servidor Ollama.",
"Instalação: ollama.com/download — Linux, macOS e Windows. Escolha um modelo que caiba na RAM e tenha contexto suficiente para os blocos de log adicionados pelo módulo de envio."
]
}
},
"models": {
"heading": "Por que esses modelos específicos",
"intro": "A seleção comercial utiliza o catálogo incluído verified_ai_models.json e as verificações dos adaptadores. Estes convertem o pedido interno system_prompt + user_message + max_tokens para cada API. O catálogo contém entradas testadas e adições manuais; não garante acesso atual da conta nem a passagem de todas as entradas pelo mesmo verificador.",
"consequencesIntro": "Duas consequências que merecem ser conscientes:",
"consequences": [
"A recomendação incluída é um ponto de partida para notificações. Avalie qualidade linguística, latência e custo com os seus eventos e conta; não é uma classificação universal.",
"Pode escolher outro modelo da lista conforme a quota ou preferências. Verifique a disponibilidade com o teste de ligação; constar da lista não garante acesso atual."
],
"ollamaTitle": "Ollama é a exceção",
"ollamaBody": "A lista Ollama não é filtrada pelo catálogo comercial; mostra os modelos do servidor. Para execução local, escolha um modelo local que caiba na RAM e tenha contexto para os logs. Os modelos cloud são remotos, mesmo através de um servidor Ollama local."
},
"defaultPrompt": {
"heading": "Solicitação padrão",
"intro": "Com o modo prompt definido para Default, o monitor usa o prompt do sistema abaixo. O prompt é modelado em tempo de execução: '{'language'}', '{'detail_level'}', '{'emoji_instructions'}' e '{'suggestions_addon'}' são substituídos antes da chamada. As variantes para canais ricos vs simples e o suplemento de Sugestões de IA são mostrados imediatamente após.",
"showFullSummary": "Mostrar o prompt completo do sistema por omissão",
"passagesIntro": "Duas variantes de texto são escolhidas conforme a opção Mensagens enriquecidas de cada canal:",
"passages": [
"Rich on → um bloco emoji é injetado listando os ícones que o LLM pode usar, além de uma regra hostname (o LLM deve manter o prefixo hostname do título verbatim) e um punhado de exemplos formatados (início de backup, backup completo, atualizações, VM start, saúde degradada). Isto é o que produz as mensagens emoji-prefixadas em Telegram e Discord.",
"Rich off → um bloco de uma linha diz ao LLM para usar ASCII simples apenas — sem emojis, sem símbolos Unicode. Usado para email e qualquer canal onde a formatação do ruído fere as regras da caixa de entrada ou a legibilidade."
],
"suggestionsPlaceholder": "E o placeholder '{'suggestions_addon'}' está vazio a menos que você habilite as Sugestões de IA (próxima seção), caso em que este bloco é injetado:",
"showAddonSummary": "Mostrar o addon de Sugestões de IA"
},
"customPrompt": {
"heading": "Modo de prompt personalizado",
"intro": "O modo Personalizado substitui todo o prompt de sistema pelo seu texto. É guardado nas definições SQLite e enviado sem alterações em cada chamada IA. Permite escolher outro tom, estrutura ou foco.",
"imageAlt": "Prompt personalizado com área de texto para regras de tradução, botões Exportar e Importar e ligação aos prompts comunitários",
"imageCaption": "Prompt personalizado — área de texto grande com o prompt do usuário, além de Export, Import e um link para a galeria comunitária em GitHub.",
"changesTitle": "O que muda quando o Personalizado está ligado",
"changes": [
"O prompt padrão é substituído por completo. Os mapeamentos do Proxmox, as regras de contexto e as instruções emoji desapareceram. Se você quiser manter qualquer um deles, cole-os em seu prompt – o pacote EXAMPLE_CUSTOM_PROMPT mostrado abaixo é um ponto de partida.",
"O seletor de idioma é ignorado. O prompt predefinido contém '{'language'}', mas o personalizado não. Indique o idioma no texto, por exemplo «Traduzir para espanhol» ou «Escrever tudo em francês».",
"O limite personalizado é fixo: 500 tokens, independentemente do detalhe guardado por canal. O modo predefinido utiliza 500 / 1500 / 3000. Alterar o prompt não aumenta o limite; peça respostas mais curtas ou escolha um detalhe predefinido adequado.",
"Os marcadores de saída continuam obrigatórios. Inclua [TITLE] e [BODY] na resposta. O analisador extrai o conteúdo; se faltar um marcador, devolve o modelo original.",
"As regras de emoji de mensagens ricas não são auto-injetadas. Se quer emojis, diga ao prompt para usá-los. Se queres texto simples, diz-lhe para não o fazer. A opção apenas fecha os blocos empacotados do prompt padrão, não o seu texto personalizado."
],
"starterTitle": "Prompt inicial",
"starterIntro": "O campo Prompt personalizado vem preenchido com um exemplo mínimo que pode adaptar:",
"showStarterSummary": "Mostrar o prompt personalizado inicial",
"shareTitle": "Partilhar prompts com a comunidade",
"shareIntro": "O botão Exportar guarda o prompt num ficheiro (.txt / .md) para cópia de segurança ou partilha. Importar carrega um ficheiro. O terceiro botão abre a galeria comunitária pública no GitHub:",
"shareLinkLabel": "github.com/MacRimi/ProxMenux/discussions — Compartilhe prompts personalizados para notificações de IA",
"shareOutro": "Consulte a discussão para ver os prompts de outros administradores: alertas curtos, relatórios técnicos detalhados e variantes linguísticas. Se gostar da sua adaptação, partilhe-a com um parágrafo sobre o objetivo. Também são bem-vindos comentários sobre o que funciona ou não."
},
"suggestions": {
"heading": "Sugestões de IA (BETA)",
"intro": "As sugestões IA permitem adicionar uma dica curta e prática ao fim do texto. Exigem modo Predefinido, IA e Sugestões de IA ativos. O prompt pede para omitir a dica se a causa ou solução não for clara.",
"formatIntro": "Quando uma dica é adicionada, segue este formato exato:",
"rulesIntro": "As regras colocadas no addon (visível no bloco dobrável sob a seção de prompt padrão acima):",
"rules": [
"A dica será incluída somente se o contexto do diário ou o banco de dados de Erros Conhecidos apontar claramente para uma correção específica.",
"O prompt pede uma dica com menos de 100 caracteres; o analisador não verifica esse limite separadamente.",
"O prompt exige um comando ou caminho concreto e pede ao modelo para evitar conselhos genéricos.",
"Se um Erro Conhecido fornece uma solução, o LLM deve usar essa solução, não inventar uma nova.",
"O prompt pede para omitir a dica se os dados não sustentarem uma correção concreta."
],
"betaTitle": "POR QUE BETA",
"betaBody": "A qualidade das dicas depende do modelo e do contexto dos logs. Um modelo como Claude 3.5 Haiku, GPT-4.1 Mini ou Llama 3.3 70B, com dados smartctl e logs, pode dar dicas úteis. Um pequeno modelo Ollama local com um evento de uma linha pode dar um resultado pouco útil ou omitir a dica. Desative as sugestões se incomodarem e volte a ativá-las quando quiser."
},
"detailLevel": {
"heading": "Nível de detalhe por canal",
"intro": "Cada um dos quatro canais (Telegram, Discord, Gotify, Email) tem seu próprio nível de detalhes. Três valores estão disponíveis, mapeados para token caps de saída específicos e para instruções específicas no prompt padrão:",
"headerLevel": "Nível",
"headerLabel": "Rótulo UI",
"headerCap": "Limite de saída",
"headerProduce": "O que o prompt pede ao LLM para produzir",
"rows": [
{
"level": "breve",
"label": "2–3 linhas, apenas o essencial",
"cap": "500 tokens",
"produce": "\"O que aconteceu + onde\". Mais nada."
},
{
"level": "padrão",
"label": "Conciso com o contexto básico",
"cap": "1500 tokens",
"produce": "3–6 linhas: o que aconteceu, onde, causa e dispositivos afetados."
},
{
"level": "detalhado",
"label": "Detalhes técnicos completos",
"cap": "3000 tokens",
"produce": "Relatório completo: o que, onde, causa, afetado, logs, dados SMART, histórico."
}
],
"defaultsIntro": "Predefinições na primeira instalação:",
"defaults": [
"Telegram, Discord, Gotify — standard.",
"Email — detailed. Email é o canal onde você normalmente quer a imagem completa para arquivo."
],
"emailTitle": "Nível de detalhes de e- mail adiciona o original",
"emailBody": "Se o formatador IA devolver um resultado para e-mail em detailed e o texto original tiver mais de 50 caracteres, acrescenta-o após 40 traços e Original message:. Os detalhes ficam disponíveis para pesquisas. Se a IA for ignorada ou falhar, pode ser enviado apenas o modelo original."
},
"language": {
"heading": "Idioma",
"intro": "O seletor oferece treze idiomas. Guarda ai_language, utilizado no prompt predefinido em \"translate alerts into '{'language'}'\". A lista:",
"list": "Inglês (en), eslovaco (sk), espanhol (es), francês (fr), alemão (de), português (pt), italiano (it), russo (ru), sueco (sv), norueguês (no), japonês (ja), chinês (zh), neerlandês (nl).",
"rulesIntro": "Duas regras importantes tomadas diretamente do prompt:",
"rules": [
"Traduzir: rótulos, descrições, estados e unidades, por exemplo GB → Go em francês.",
"Não traduz: nomes de máquinas, IPs, caminhos, IDs VM/CT, nomes de dispositivos como /dev/sdX, identificadores técnicos. Estes permanecem verbatim independentemente da linguagem."
],
"customNote": "Modo de prompt personalizado não utilizar o seletor de idiomas. Se você mudar para Custom e quiser um idioma de saída específico, declare-o dentro de seu prompt."
},
"templates": {
"heading": "Uma nota sobre modelos",
"body1": "A IA recebe o texto já produzido pelo modelo, não dados brutos. Tipos como vm_start, auth_fail e health_degraded têm modelos em notification_templates.py. A IA reformula os textos elegíveis; backup_complete e backup_fail mantêm relatórios determinísticos sem IA.",
"body2": "Os nomes de máquina e VMID já são preenchidos pelo modelo antes da reformulação. Com IA desativada, o texto do modelo é enviado diretamente. A página Notificações documenta todo o processo de envio e o que acontece antes desta etapa."
},
"privacy": {
"heading": "Privacidade e fluxo de dados",
"intro": "Com a reescrita de IA habilitada, o Monitor envia o corpo de notificação renderizado mais os blocos de contexto enriquecidos para o provedor configurado. Isso pode incluir nomes de host, IPs, nomes de usuário, caminhos do dispositivo, linhas de registro de diário e atributos SMART para o dispositivo afetado. Se isso deixa a máquina depende de qual provedor você escolheu:",
"headerProvider": "Provedor",
"headerDestination": "Destino dos dados",
"rows": [
{
"provider": "Ollama",
"destination": "Os modelos locais executam-se no host Ollama configurado. Se for o nó Proxmox, os pedidos permanecem nele. Os modelos cloud encaminham pedidos para fora do host, mesmo através de um servidor Ollama local."
},
{
"provider": "OpenAI",
"destination": "api.openai.com por predefinição ou o URL base personalizado. Aplica-se a política de dados do operador real do serviço."
},
{
"provider": "Anthropic",
"destination": "api.anthropic.com."
},
{
"provider": "Google Gemini",
"destination": "generativelanguage.googleapis.com."
},
{
"provider": "Groq",
"destination": "api.groq.com."
},
{
"provider": "OpenRouter",
"destination": "openrouter.ai, que remete para o fornecedor do modelo subjacente escolhido no campo model. Dois saltos em vez de um."
}
],
"calloutTitle": "Se o conteúdo do evento não puder sair da rede",
"calloutBody": "Utilize um serviço alojado localmente com um modelo local, como Ollama ou um servidor compatível com OpenAI, ou desative a IA. Os modelos cloud Ollama não processam os dados localmente. O módulo não anonimiza nomes de máquina ou IP; utiliza o conteúdo real do evento."
},
"whereNext": {
"heading": "Para onde seguir",
"items": [
{
"label": "Notificações",
"href": "/docs/monitor/notifications",
"tail": " — processo de envio, canais, opções por evento e integração do webhook PVE que envolve esta etapa."
},
{
"label": "Monitor de Saúde",
"href": "/docs/monitor/health-monitor",
"tail": " — o maior produtor único de eventos que a IA acaba por reescrever, com as suas próprias durações de supressão por categoria."
},
{
"label": "Arquitetura",
"href": "/docs/monitor/architecture",
"tail": " — quando o AI Enhancer se encaixa no processo Monitor mais amplo (é um módulo, não um serviço separado)."
}
],
"communityLabel": "Prompts comunitários no GitHub",
"communityTail": " — navegar, partilhar, perguntar."
}
}