项目文件夹

文件
2026-07-13 13:39:12 +08:00

1287 行
50 KiB
JSON

{
"common": {
"error": "Erro: {message}",
"serverOffline": "Servidor OmniRoute offline. Inicie com: omniroute serve",
"authRequired": "Autenticação necessária. Configure OMNIROUTE_API_KEY ou execute: omniroute setup",
"rateLimited": "Limite de requisições atingido. Tente novamente em {seconds}s.",
"timeout": "Requisição expirou após {ms}ms.",
"success": "Concluído.",
"yes": "sim",
"no": "não",
"confirm": "Tem certeza? (sim/não)",
"dryRun": "[simulação] faria: {action}",
"cancelled": "Cancelado.",
"jsonOpt": "Saída em JSON",
"yesOpt": "Pular confirmação"
},
"setup": {
"title": "Configuração do OmniRoute",
"passwordPrompt": "Senha de administrador",
"providerPrompt": "Provedor padrão (deixe em branco para pular)",
"done": "Configuração concluída",
"passwordSet": "Senha de administrador configurada",
"providerSet": "Provedor configurado: {name}",
"testingProvider": "Testando conexão com provedor: {name}",
"testPassed": "Teste do provedor aprovado",
"testFailed": "Teste do provedor falhou: {error}",
"loginEnabled": "Login: habilitado (senha atualizada)",
"loginDisabled": "Login: desabilitado",
"providerInfo": "Provedor: {info}"
},
"doctor": {
"title": "OmniRoute Doctor",
"dbOk": "Banco de dados: OK ({path})",
"dbMissing": "Banco de dados: não inicializado — execute `omniroute setup`",
"portOk": "Porta {port}: disponível",
"portConflict": "Porta {port}: em uso por outro processo",
"encryptionOk": "Chave de criptografia: configurada",
"encryptionMissing": "Chave de criptografia ausente — execute `omniroute setup`",
"allGood": "Todas as verificações passaram.",
"warnings": "{count} aviso(s) — veja acima."
},
"providers": {
"title": "Provedores",
"noProviders": "Nenhum provedor configurado. Execute: omniroute setup",
"testing": "Testando {name}...",
"available": "{count} provedor(es) disponível(is)",
"connected": "Conectado",
"disconnected": "Desconectado",
"validationFailed": "Validação falhou: {error}",
"metrics": {
"description": "Exibir métricas de performance dos provedores (latência, taxa de sucesso, custo)",
"provider": "Filtrar por ID de provedor",
"connection_id": "Filtrar por ID de conexão",
"period": "Período: 1h|6h|24h|7d|30d (padrão: 24h)",
"metric": "Focar em um campo de métrica específico",
"sort": "Ordenar por campo (decrescente)",
"limit": "Máximo de linhas (padrão: 50)",
"watch": "Atualizar a cada 5s (modo live)",
"compare": "IDs de provedores separados por vírgula para comparar"
},
"metric_single": {
"description": "Obter um único valor de métrica para uma conexão específica"
},
"rotate": {
"description": "Rotacionar a chave de API upstream de uma conexão de provedor",
"newKeyOpt": "Novo valor de chave de API (evite: prefira --from-env)",
"fromEnvOpt": "Ler nova chave da variável de ambiente VAR",
"oauthOpt": "Iniciar fluxo de reautenticação OAuth",
"skipTestOpt": "Pular teste de conectividade pós-rotação",
"dryRunOpt": "Exibir o que seria alterado sem gravar",
"confirmPrompt": "Substituir a chave de API da conexão \"{name}\" ({id})? [s/N] ",
"dryRunResult": "[dry-run] Rotacionaria a chave para \"{name}\" ({id}). Nenhuma alteração feita.",
"oauthHint": "Conexão OAuth — execute: omniroute oauth {provider}",
"envVarEmpty": "A variável de ambiente {var} não está definida ou está vazia.",
"success": "Chave rotacionada para \"{name}\". Execute `providers test {id}` para verificar.",
"testPassed": "Teste pós-rotação aprovado.",
"testFailed": "Teste pós-rotação falhou: {error}"
},
"status": {
"description": "Exibir saúde das chaves de todas as conexões de provedores (idade, validade, cooldown)",
"providerOpt": "Filtrar por nome do provedor",
"header": "ID Provedor Nome Validade Status Status Teste Cooldown Até",
"noData": "Nenhum dado de conexão de provedor disponível.",
"requiresServer": "providers status requer o servidor OmniRoute em execução."
}
},
"keys": {
"title": "Chaves de API",
"addDescription": "Adicionar ou atualizar uma chave de API para um provedor",
"listDescription": "Listar todas as chaves de API configuradas",
"removeDescription": "Remover uma chave de API de um provedor",
"regenerateDescription": "Regenerar uma chave de API do OmniRoute",
"revokeDescription": "Revogar uma chave de API do OmniRoute",
"revealDescription": "Revelar o valor completo da chave (sem máscara)",
"usageDescription": "Exibir uso recente de uma chave de API",
"usageLimitOpt": "Número de requisições recentes",
"rotateDescription": "Gerar nova chave e invalidar a antiga",
"graceOpt": "Período de carência (ms) antes de invalidar a chave antiga",
"stdinOpt": "Ler chave de API via stdin",
"added": "Chave adicionada para {provider}.",
"removed": "Chave removida.",
"listed": "{count} chave(s).",
"noKeys": "Nenhuma chave configurada.",
"noUsage": "Nenhum dado de uso encontrado.",
"confirmRemove": "Remover chave {id}?",
"confirmRegenerate": "Regenerar chave {id}?",
"confirmRevoke": "Revogar chave {id}?",
"confirmRotate": "Rotacionar chave {id}? (a chave antiga será invalidada após o período de carência)",
"regenerated": "Chave regenerada. Nova chave: {key}",
"revoked": "Chave {id} revogada.",
"rotated": "Chave {id} rotacionada. Novo ID: {newId}",
"revealWarning": "⚠ Isso exibirá a chave completa sem máscara. Certifique-se de que sua tela está privada.",
"providerRequired": "Provedor é obrigatório.",
"keyRequired": "Chave de API é obrigatória.",
"stdinEmpty": "Nenhuma chave fornecida via stdin.",
"unknownProvider": "Provedor desconhecido: {provider}",
"policy": {
"title": "Política da Chave",
"showDescription": "Exibir política de taxa/custo de uma chave",
"setDescription": "Definir política de taxa/custo de uma chave",
"rateLimitOpt": "Máximo de requisições por minuto",
"maxCostOpt": "Custo máximo por dia (USD)",
"allowedModelsOpt": "Lista de modelos permitidos (separados por vírgula)",
"nothingToSet": "Nenhum campo de política fornecido. Use --rate-limit, --max-cost ou --allowed-models.",
"updated": "Política atualizada."
},
"expiration": {
"title": "Expiração de Chaves",
"listDescription": "Listar chaves prestes a expirar",
"daysOpt": "Exibir chaves que expiram em N dias",
"none": "Nenhuma chave expirando nos próximos {days} dias.",
"listTitle": "Chaves que expiram nos próximos {days} dias:"
}
},
"stream": {
"description": "Transmitir resposta de chat com modos de inspeção SSE",
"file": "Ler prompt de arquivo",
"stdin": "Ler prompt da entrada padrão",
"model": "ID do modelo (padrão: auto)",
"system": "Prompt de sistema",
"combo": "Forçar um combo específico pelo nome",
"max_tokens": "Máximo de tokens na resposta",
"responses_api": "Usar /v1/responses em vez de /v1/chat/completions",
"raw": "Imprimir linhas SSE brutas como recebidas",
"debug": "Imprimir informações de timing por chunk no stderr",
"save": "Salvar todos os eventos SSE em arquivo .jsonl",
"error": {
"empty_prompt": "Erro: prompt obrigatório (argumento posicional, --file ou --stdin)"
}
},
"usage": {
"description": "Analytics de uso, budgets, quotas e logs",
"analytics": {
"description": "Exibir analytics de uso agregados",
"period": "Período: 1d|7d|30d|90d|ytd|all (padrão: 30d)",
"provider": "Filtrar por ID de provedor"
},
"budget": {
"description": "Gerenciar budgets de custo",
"set": {
"scope": "Escopo do budget (padrão: global)",
"period": "Período do budget: daily|weekly|monthly (padrão: monthly)"
}
},
"quota": {
"description": "Exibir uso de quota dos provedores",
"provider": "Filtrar por ID de provedor",
"check": "Mostrar se há quota disponível para uma nova requisição"
},
"logs": {
"description": "Exibir logs de chamadas",
"limit": "Número de entradas de log a retornar (padrão: 100)",
"search": "Filtro de busca",
"since": "Retornar logs a partir deste timestamp",
"follow": "Fazer tail contínuo de novos logs",
"api_key": "Filtrar logs por chave de API"
},
"utilization": {
"description": "Exibir métricas de utilização por chave de API",
"api_key": "Filtrar por chave de API"
},
"history": {
"description": "Exibir histórico de requisições",
"limit": "Número de entradas de histórico (padrão: 100)"
},
"proxy_logs": {
"description": "Exibir logs de requisições em nível de proxy",
"limit": "Número de entradas de proxy log (padrão: 100)"
}
},
"cost": {
"description": "Exibir relatório de custos com breakdown por provedor, modelo, combo ou chave de API",
"period": "Período: 1d|7d|30d|90d|ytd|all (padrão: 30d)",
"since": "Data de início (formato ISO, ex: 2026-01-01) — substitui --period",
"until": "Data de fim (formato ISO)",
"group_by": "Agrupar por: provider|model|api-key|combo|day (padrão: provider)",
"api_key_filter": "Filtrar por uma chave de API específica",
"limit": "Número máximo de linhas (padrão: 100)"
},
"simulate": {
"description": "Simulação de routing em dry-run — mostra quais provedores seriam selecionados sem chamar o upstream",
"file": "Carregar body completo da requisição de arquivo JSON",
"model": "ID do modelo (padrão: auto)",
"combo": "Forçar um combo específico pelo nome",
"reasoning": "Nível de esforço de raciocínio (low|medium|high)",
"thinking": "Budget de tokens para raciocínio estendido",
"explain": "Imprimir árvore de fallback e faixa de custo no stderr",
"noCombo": "Nenhum combo correspondente encontrado. Configure um com: omniroute combo create"
},
"chat": {
"description": "Enviar um prompt único ao OmniRoute",
"file": "Ler prompt de arquivo",
"stdin": "Ler prompt da entrada padrão",
"system": "Prompt de sistema",
"model": "ID do modelo (padrão: auto)",
"max_tokens": "Máximo de tokens na resposta",
"temperature": "Temperatura de amostragem (0–2)",
"top_p": "Amostragem nucleus top-p",
"reasoning_effort": "Nível de esforço de raciocínio (low|medium|high)",
"thinking_budget": "Budget de tokens para raciocínio estendido",
"combo": "Forçar um combo específico pelo nome",
"responses_api": "Usar /v1/responses em vez de /v1/chat/completions",
"stream": "Transmitir resposta incrementalmente",
"no_history": "Não salvar em ~/.omniroute/cli-history.jsonl",
"error": {
"empty_prompt": "Erro: prompt obrigatório (argumento posicional, --file ou --stdin)"
}
},
"serve": {
"description": "Iniciar o servidor OmniRoute (ação padrão)",
"starting": "Iniciando servidor OmniRoute na porta {port}...",
"ready": "Pronto em http://localhost:{port}",
"stopping": "Parando servidor (PID {pid})...",
"stopped": "Servidor parado.",
"notRunning": "Servidor não está em execução.",
"port": "Porta de escuta (padrão: 20128)",
"no_open": "Não abrir navegador automaticamente",
"daemon": "Executar servidor em segundo plano",
"log": "Exibir logs do servidor inline",
"no_recovery": "Desabilitar reinício automático em crash (modo debug)",
"max_restarts": "Máximo de reinícios em 30s antes de desistir (padrão: 2)",
"tray": "Mostrar ícone na bandeja do sistema (apenas desktop, opt-in)",
"no_tray": "Desabilitar ícone na bandeja do sistema"
},
"backup": {
"title": "Backup",
"description": "Criar backup dos dados do OmniRoute",
"creating": "Criando backup...",
"done": "Backup salvo em {path}",
"noFiles": "Nenhum arquivo para backup (banco não inicializado)",
"failed": "Backup falhou: {error}",
"restoring": "Restaurando de {path}...",
"restored": "Restauração concluída.",
"restoreDescription": "Restaurar a partir de um backup",
"listTitle": "Backups Disponíveis",
"noBackups": "Nenhum backup encontrado.",
"notFound": "Backup não encontrado: {name}",
"confirmRestore": "Substituir dados atuais pelo backup de {ts}?",
"createDescription": "Criar backup dos dados do OmniRoute",
"nameOpt": "Nome personalizado para o backup",
"cloudOpt": "Fazer upload do backup para armazenamento na nuvem",
"encryptOpt": "Criptografar backup com AES-256-GCM",
"keyFileOpt": "Caminho para arquivo com a senha de criptografia",
"excludeOpt": "Excluir arquivo que corresponde ao padrão (repetível)",
"retentionOpt": "Manter apenas os últimos N backups",
"passphrasePrompt": "Senha de criptografia: ",
"noPassphrase": "Senha é obrigatória para backup criptografado.",
"cloudFailed": "Aviso: upload para nuvem falhou. Backup local foi salvo.",
"cloudUploaded": "Backup enviado para nuvem: {url}",
"auto": {
"title": "Agendamento de Backup",
"enableDescription": "Ativar backups automáticos agendados",
"disableDescription": "Desativar backups automáticos agendados",
"statusDescription": "Exibir status do agendamento de backup",
"cronOpt": "Expressão cron para o agendamento (padrão: diário às 3h)",
"enabled": "Backup automático ativado (cron: {cron}).",
"hint": " O agendamento é lido pelo omniroute serve ao iniciar.",
"disabled": "Backup automático desativado.",
"notConfigured": "Nenhum agendamento de backup configurado."
}
},
"health": {
"description": "Verificar saúde do servidor e status dos componentes",
"noServer": "Servidor não está em execução. Inicie com: omniroute serve",
"title": "Saúde",
"status": "Status: {status}",
"uptime": "Uptime: {uptime}",
"requests": "Requisições (24h): {count}",
"cost": "Custo (24h): ${cost}"
},
"quota": {
"description": "Exibir uso de cota dos provedores",
"noServer": "Servidor não está em execução. Inicie com: omniroute serve",
"noData": "Nenhuma informação de cota disponível."
},
"cache": {
"description": "Gerenciar cache de respostas",
"noServer": "Servidor não está em execução. Inicie com: omniroute serve",
"cleared": "Cache limpo.",
"clearFailed": "Falha ao limpar cache."
},
"redis": {
"description": "Iniciar um contêiner Redis local com um clique (Podman ou Docker) para cache e rastreamento de cotas do OmniRoute"
},
"test": {
"description": "Testar conexão com um provedor",
"noServer": "Servidor não está em execução. Inicie com: omniroute serve",
"testing": "Testando {provider} / {model}...",
"passed": "Conexão bem-sucedida!",
"failed": "Conexão falhou: {error}",
"allProvidersOpt": "Testar todos os provedores configurados",
"latencyOpt": "Exibir medições de latência (avg/min/max ms)",
"repeatOpt": "Repetir o teste N vezes e agregar os resultados",
"compareOpt": "Modelos separados por vírgula para comparar (ex: gpt-4o,claude-3-5-sonnet)",
"saveOpt": "Salvar resultados em arquivo JSON",
"saved": "Resultados salvos em {path}",
"compareTitle": "Comparação de Modelos",
"compareMinTwo": "São necessários pelo menos dois modelos para --compare (separados por vírgula)",
"noProviders": "Nenhum provedor configurado. Adicione um com: omniroute keys add"
},
"update": {
"checking": "Verificando atualizações...",
"upToDate": "Já está atualizado ({version}).",
"available": "Atualização disponível: {current} → {latest}",
"installing": "Instalando {latest}...",
"done": "Atualizado para {latest}. Reinicie o servidor para aplicar."
},
"mcp": {
"title": "Servidor MCP",
"call": {
"description": "Invocar uma ferramenta MCP diretamente",
"args": "Objeto JSON de argumentos (inline)",
"args_file": "Caminho para arquivo JSON de argumentos",
"stream": "Usar endpoint de streaming (/api/mcp/stream)",
"scope": "Escopo requerido (repetível, ex: read:health)"
},
"scopes": {
"description": "Listar escopos MCP disponíveis",
"tool": "Mostrar escopos requeridos por uma ferramenta específica"
},
"tools": {
"description": "Inspecionar ferramentas MCP",
"list": {
"description": "Listar todas as ferramentas MCP",
"scope": "Filtrar por escopo"
},
"info": {
"description": "Exibir metadados de uma ferramenta MCP"
},
"schema": {
"description": "Exibir schema JSON de entrada/saída de uma ferramenta MCP",
"io": "Tipo de schema: input|output (padrão: input)"
}
},
"audit": {
"description": "Log de auditoria MCP (alias para audit --source mcp)"
},
"running": "Servidor MCP em execução ({transport})",
"stopped": "Servidor MCP parado.",
"restarted": "Servidor MCP reiniciado."
},
"a2a": {
"skills": {
"description": "Listar skills A2A disponíveis na agent card"
},
"invoke": {
"description": "Invocar uma skill A2A e retornar o ID da task",
"input": "Objeto JSON de entrada",
"input_file": "Caminho para arquivo JSON de entrada",
"wait": "Aguardar conclusão da task antes de retornar",
"timeout": "Timeout aguardando conclusão em ms (padrão: 60000)"
},
"tasks": {
"description": "Gerenciar tasks A2A",
"list": {
"status": "Filtrar por status",
"skill": "Filtrar por ID de skill"
},
"watch": {
"description": "Monitorar status da task até conclusão"
},
"stream": {
"description": "Transmitir eventos de execução da task via SSE"
},
"logs": {
"description": "Exibir mensagens e artefatos da task"
}
}
},
"policy": {
"description": "Gerenciar políticas de autorização do OmniRoute",
"list": {
"description": "Listar políticas",
"kind": "Filtrar por tipo (allow|deny|rate-limit|cost-cap)",
"scope": "Filtrar por escopo (global|api-key|provider)"
},
"get": {
"description": "Obter detalhes de política por ID"
},
"create": {
"description": "Criar política a partir de arquivo JSON",
"file": "Caminho para arquivo JSON de política"
},
"update": {
"description": "Atualizar política a partir de arquivo JSON",
"file": "Caminho para arquivo JSON de política"
},
"delete": {
"description": "Deletar política por ID",
"yes": "Pular confirmação"
},
"evaluate": {
"description": "Dry-run de avaliação de política (saída 0=permitido, 4=negado)",
"api_key": "Chave de API a avaliar",
"action": "Ação a verificar (ex: chat, embed, admin)",
"resource": "Caminho ou identificador do recurso",
"context": "Contexto adicional como objeto JSON"
},
"export": {
"description": "Exportar todas as políticas para arquivo JSON"
},
"import": {
"description": "Importar políticas de arquivo JSON",
"overwrite": "Sobrescrever políticas existentes com mesmo ID"
}
},
"compression": {
"description": "Configurar e inspecionar o pipeline de compressão do OmniRoute",
"status": {
"description": "Exibir status atual de compressão e configurações"
},
"configure": {
"description": "Configurar as definições de compressão",
"engine": "Engine de compressão (caveman|rtk|hybrid|none)",
"caveman_agg": "Agressividade do Caveman 0.0–1.0",
"rtk_budget": "Budget de tokens RTK",
"language_pack": "Language pack a ativar"
},
"engine": {
"description": "Obter ou definir o engine de compressão ativo"
},
"combos": {
"description": "Gerenciar estatísticas de combos de compressão"
},
"rules": {
"description": "Gerenciar regras de compressão",
"add": {
"pattern": "Padrão para corresponder (regex ou campo:padrão)",
"action": "Ação: drop|shrink|replace"
}
},
"language_packs": {
"description": "Listar language packs de compressão disponíveis"
},
"preview": {
"description": "Visualizar efeito de compressão em uma requisição",
"file": "Caminho para arquivo JSON da requisição"
}
},
"tunnel": {
"title": "Túneis",
"listDescription": "Listar túneis ativos",
"createDescription": "Criar um túnel",
"created": "Túnel criado: {url}",
"stopped": "Túnel parado.",
"confirmStop": "Parar túnel {id}?",
"stopDescription": "Parar um túnel",
"statusDescription": "Exibir status detalhado de um túnel",
"logsDescription": "Exibir logs de um túnel",
"infoDescription": "Exibir configuração detalhada de um túnel",
"rotateDescription": "Gerar nova URL para o túnel",
"tailOpt": "Número de linhas de log a exibir",
"typeRequired": "Tipo de túnel é obrigatório.",
"noLogs": "Nenhum log disponível.",
"notAvailable": "Informações do túnel não disponíveis.",
"noTunnels": "Nenhum túnel ativo.",
"infoTitle": "Info do túnel: {type}",
"rotated": "URL do túnel rotacionada: {url}",
"confirmRotate": "Rotacionar túnel {type}? (uma nova URL será gerada)"
},
"stop": {
"description": "Parar o servidor OmniRoute",
"stopping": "Parando servidor (PID {pid})...",
"stopped": "Servidor parado.",
"notRunning": "Nenhum servidor está em execução.",
"portFallback": "Arquivo PID não encontrado, tentando parar pela porta..."
},
"restart": {
"description": "Reiniciar o servidor OmniRoute",
"restarting": "Reiniciando servidor OmniRoute..."
},
"dashboard": {
"description": "Abrir o painel OmniRoute no navegador",
"opening": "Abrindo painel em {url}",
"urlOnly": "Exibir URL do painel sem abrir o navegador",
"tui": "Abrir painel TUI interativo (terminal UI, 7 abas)"
},
"models": {
"description": "Listar modelos disponíveis (requer servidor)",
"search": "Filtrar modelos por id, nome, provedor ou descrição",
"noServer": "Servidor não está em execução. Inicie com: omniroute serve",
"noModels": "Nenhum modelo encontrado."
},
"audit": {
"description": "Acessar logs de auditoria de compliance e MCP",
"source": "Fonte do log: all|compliance|mcp (padrão: all)",
"since": "Retornar entradas desde este timestamp (ISO 8601)",
"until": "Retornar entradas até este timestamp (ISO 8601)",
"tail": {
"description": "Exibir entradas recentes do log de auditoria",
"follow": "Fazer tail contínuo de novas entradas (poll 2s)",
"limit": "Máximo de entradas (padrão: 100)"
},
"search": {
"description": "Buscar entradas do log de auditoria por palavra-chave",
"limit": "Máximo de resultados (padrão: 200)",
"actor": "Filtrar por ID de ator",
"action": "Filtrar por nome de ação"
},
"export": {
"description": "Exportar log de auditoria para arquivo",
"format": "Formato de saída: jsonl|csv (padrão: jsonl)"
},
"stats": {
"description": "Exibir estatísticas do log de auditoria",
"period": "Período: 1d|7d|30d (padrão: 7d)"
},
"get": {
"description": "Obter uma entrada do log de auditoria por ID"
}
},
"skills": {
"description": "Gerenciar skills do OmniRoute (sandbox, builtin, custom, hybrid, skillssh)",
"list": {
"description": "Listar skills instaladas",
"type": "Filtrar por tipo (sandbox|custom|builtin|hybrid|skillssh)",
"enabled": "Mostrar apenas skills habilitadas",
"disabled": "Mostrar apenas skills desabilitadas",
"api_key": "Filtrar por chave de API"
},
"get": {
"description": "Obter detalhes de uma skill por ID"
},
"install": {
"description": "Instalar uma skill a partir de arquivo ou URL",
"from_file": "Caminho para o arquivo JSON de definição da skill",
"from_url": "URL da definição remota da skill",
"type": "Tipo de skill (sandbox|custom|hybrid)",
"enable": "Habilitar skill após instalar"
},
"enable": {
"description": "Habilitar uma skill por ID"
},
"disable": {
"description": "Desabilitar uma skill por ID",
"yes": "Pular confirmação"
},
"delete": {
"description": "Deletar uma skill por ID",
"yes": "Pular confirmação"
},
"execute": {
"description": "Executar uma skill por ID",
"input": "Objeto JSON de entrada",
"input_file": "Caminho para arquivo JSON de entrada",
"timeout": "Timeout de execução em ms (padrão: 30000)"
},
"executions": {
"description": "Listar histórico de execuções de skills",
"skill": "Filtrar por ID de skill",
"limit": "Máximo de resultados (padrão: 50)",
"status": "Filtrar por status (running|completed|failed)"
},
"skillssh": {
"description": "Gerenciar skills instaladas via SSH"
},
"marketplace": {
"description": "Explorar e instalar skills do marketplace"
},
"mp": {
"search": {
"description": "Buscar pacotes no marketplace",
"category": "Filtrar por categoria",
"tag": "Filtrar por tag",
"limit": "Máximo de resultados (padrão: 30)",
"sort": "Ordenar por: downloads|rating|recent"
},
"info": {
"description": "Exibir detalhes e readme do pacote"
},
"install": {
"description": "Instalar um pacote do marketplace",
"version": "Versão do pacote (padrão: latest)",
"enable": "Habilitar após instalar",
"yes": "Pular confirmação"
},
"categories": {
"description": "Listar categorias do marketplace"
},
"featured": {
"description": "Exibir pacotes em destaque do marketplace"
}
}
},
"memory": {
"description": "Gerenciar memória conversacional do OmniRoute (FTS5 + vetorial)",
"search": {
"description": "Buscar entradas de memória por query semântica",
"type": "Filtrar por tipo (user|feedback|project|reference)",
"limit": "Máximo de resultados (padrão: 20)",
"api_key": "Filtrar por chave de API",
"token_budget": "Limitar total de tokens nos resultados"
},
"add": {
"description": "Adicionar nova entrada de memória",
"content": "Conteúdo textual da memória",
"file": "Ler conteúdo de arquivo",
"type": "Tipo de memória (padrão: user)",
"metadata": "Objeto JSON de metadados",
"api_key": "Associar a chave de API"
},
"clear": {
"description": "Deletar entradas de memória que correspondem aos filtros",
"type": "Filtrar por tipo",
"older": "Deletar entradas mais antigas que a duração (30d, 6m, 1y)",
"api_key": "Filtrar por chave de API",
"yes": "Pular confirmação"
},
"list": {
"description": "Listar entradas de memória sem ranking de busca",
"type": "Filtrar por tipo",
"limit": "Máximo de resultados (padrão: 100)",
"api_key": "Filtrar por chave de API"
},
"get": {
"description": "Obter entrada de memória por ID"
},
"delete": {
"description": "Deletar entrada de memória por ID",
"yes": "Pular confirmação"
},
"health": {
"description": "Exibir saúde do subsistema de memória (FTS5 + Qdrant)"
}
},
"oauth": {
"description": "Gerenciar conexões OAuth de provedores",
"providers": {
"description": "Listar provedores com suporte OAuth e seus tipos de fluxo"
},
"start": {
"description": "Iniciar fluxo de autorização OAuth para um provedor",
"provider": "ID do provedor (gemini, copilot, cursor, …)",
"no_browser": "Apenas exibir URL — não abrir navegador",
"import_system": "Auto-importar credenciais da configuração local do sistema",
"social": "Provedor de login social (google|github) — obrigatório para kiro",
"timeout": "Timeout aguardando autorização em ms (padrão: 300000)"
},
"status": {
"description": "Listar conexões OAuth ativas",
"provider": "Filtrar por ID do provedor"
},
"revoke": {
"description": "Revogar uma conexão OAuth",
"provider": "ID do provedor a revogar",
"connection_id": "Revogar uma conexão específica por ID",
"yes": "Pular confirmação"
}
},
"cloud": {
"description": "Gerenciar tarefas de agentes cloud de IA (codex, devin, jules)",
"agents": {
"description": "Listar agentes cloud disponíveis"
},
"agent": {
"description": "Gerenciar tarefas do agente cloud {agent}",
"auth": {
"description": "Autorizar {agent} via OAuth"
}
},
"task": {
"description": "Gerenciar tarefas de agentes cloud",
"create": {
"description": "Criar nova tarefa de agente",
"title": "Título da tarefa (padrão: primeiros 80 chars do prompt)",
"prompt": "Texto do prompt da tarefa",
"prompt_file": "Ler prompt de arquivo",
"repo": "URL do repositório para clonar na tarefa",
"branch": "Nome do branch a usar",
"metadata": "Objeto JSON de metadados"
},
"list": {
"description": "Listar tarefas de agentes",
"status": "Filtrar por status (running|completed|failed|cancelled)",
"limit": "Máximo de resultados (padrão: 50)"
},
"get": {
"description": "Obter detalhes da tarefa por ID"
},
"status": {
"description": "Exibir status da tarefa (running|completed|failed|cancelled)"
},
"cancel": {
"description": "Cancelar uma tarefa em execução",
"yes": "Pular confirmação"
},
"approve": {
"description": "Aprovar o plano do agente para iniciar execução"
},
"message": {
"description": "Enviar mensagem para uma tarefa em execução"
}
},
"sources": {
"description": "Listar arquivos de origem produzidos por uma tarefa"
}
},
"eval": {
"description": "Gerenciar suites e execuções de avaliação",
"suites": {
"description": "Gerenciar suites de avaliação",
"list": {
"description": "Listar suites de avaliação"
},
"get": {
"description": "Obter detalhes de suite por ID"
},
"create": {
"description": "Criar suite de avaliação a partir de arquivo JSON",
"file": "Caminho para arquivo JSON de definição da suite"
}
},
"run": {
"description": "Iniciar execução de avaliação para uma suite",
"model": "ID do modelo a avaliar (padrão: auto)",
"combo": "Forçar combo específico por nome",
"concurrency": "Número de amostras concorrentes (padrão: 4)",
"tag": "Tag para esta execução",
"watch": "Monitorar progresso até conclusão"
},
"list": {
"description": "Listar execuções de avaliação",
"suite": "Filtrar por ID de suite",
"status": "Filtrar por status",
"since": "Retornar execuções desde este timestamp",
"limit": "Máximo de resultados (padrão: 50)"
},
"get": {
"description": "Obter detalhes de execução por ID"
},
"results": {
"description": "Exibir resultados de amostras de uma execução",
"failed": "Exibir apenas amostras que falharam"
},
"cancel": {
"description": "Cancelar uma avaliação em execução",
"yes": "Pular confirmação"
},
"scorecard": {
"description": "Exibir scorecard de uma execução concluída"
}
},
"webhooks": {
"description": "Gerenciar webhooks do OmniRoute",
"events": {
"description": "Listar todos os tipos de evento disponíveis para webhooks"
},
"list": {
"description": "Listar webhooks configurados"
},
"get": {
"description": "Obter detalhes de webhook por ID"
},
"add": {
"description": "Registrar novo webhook",
"url": "URL de destino",
"events": "Lista de tipos de evento separados por vírgula",
"secret": "Segredo HMAC de assinatura",
"header": "Header extra no formato chave=valor (repetível)",
"no_enabled": "Criar webhook em estado desabilitado"
},
"update": {
"description": "Atualizar webhook existente",
"enabled": "Definir estado habilitado (true|false)"
},
"remove": {
"description": "Deletar webhook",
"yes": "Pular confirmação"
},
"test": {
"description": "Enviar evento de teste para um webhook",
"event": "Tipo de evento a simular (padrão: request.completed)"
}
},
"program": {
"description": "OmniRoute — Roteador de IA com Fallback Automático",
"version": "Exibir versão e sair",
"output": "Formato de saída (table, json, jsonl, csv)",
"quiet": "Suprimir saída não essencial",
"no_color": "Desativar saída colorida",
"timeout": "Timeout de requisições HTTP em milissegundos",
"api_key": "Chave de API para o servidor OmniRoute",
"base_url": "URL base do servidor OmniRoute",
"context": "Contexto/perfil do servidor a usar neste comando",
"lang": "Definir idioma de exibição do CLI (substitui OMNIROUTE_LANG)"
},
"files": {
"description": "Gerenciar arquivos (upload, listar, obter, baixar, deletar)",
"list": {
"purpose": "Filtrar por propósito",
"limit": "Máximo de resultados"
},
"get": {
"description": "Obter metadados do arquivo"
},
"upload": {
"description": "Fazer upload de um arquivo",
"purpose": "Propósito do arquivo (batch, assistants, fine-tune)"
},
"content": {
"description": "Baixar conteúdo do arquivo",
"out": "Salvar no caminho (padrão: stdout)"
},
"delete": {
"yes": "Pular confirmação"
}
},
"batches": {
"description": "Gerenciar jobs em batch (compatível com OpenAI)",
"list": {
"status": "Filtrar por status",
"limit": "Máximo de resultados"
},
"create": {
"description": "Criar um job em batch",
"inputFile": "ID do arquivo de entrada",
"endpoint": "Endpoint destino",
"window": "Janela de conclusão",
"metadata": "Adicionar metadado key=value"
},
"submit": {
"description": "Fazer upload do JSONL e criar batch",
"jsonl": "Caminho para o arquivo JSONL",
"endpoint": "Endpoint destino",
"wait": "Aguardar conclusão"
},
"cancel": {
"yes": "Pular confirmação"
},
"wait": {
"timeout": "Timeout em ms"
},
"output": {
"out": "Salvar output no caminho"
},
"errors": {
"out": "Salvar erros no caminho"
}
},
"translator": {
"description": "Traduzir payloads entre formatos LLM",
"detect": {
"description": "Detectar formato do body"
},
"translate": {
"description": "Converter body de um formato para outro"
},
"send": {
"description": "Traduzir e despachar para upstream"
},
"stream": {
"description": "Tradução de request em stream"
},
"from": "Formato de origem (openai|anthropic|gemini|cohere)",
"to": "Formato de destino (openai|anthropic|gemini|cohere)",
"file": "Caminho para o arquivo JSON do request",
"out": "Salvar output em arquivo",
"model": "Sobrescrever model",
"history": {
"limit": "Máximo de resultados"
}
},
"pricing": {
"description": "Gerenciar dados de precificação dos modelos",
"sync": {
"description": "Sincronizar preços com fontes upstream",
"provider": "Filtrar por provider",
"force": "Forçar re-sincronização"
},
"list": {
"provider": "Filtrar por provider",
"model": "Filtrar por model",
"limit": "Máximo de resultados"
},
"defaults": {
"description": "Gerenciar preços padrão",
"input": "Custo de entrada por 1M tokens (USD)",
"output": "Custo de saída por 1M tokens (USD)",
"cacheRead": "Custo de leitura de cache por 1M tokens (USD)",
"cacheWrite": "Custo de escrita de cache por 1M tokens (USD)"
},
"diff": {
"description": "Mostrar divergências em relação ao upstream",
"model": "Filtrar por model"
}
},
"resilience": {
"description": "Inspecionar e gerenciar mecanismos de resiliência",
"status": {
"provider": "Filtrar por provider"
},
"breakers": {
"provider": "Filtrar por provider"
},
"cooldowns": {
"provider": "Filtrar por provider",
"connectionId": "Filtrar por ID de conexão"
},
"lockouts": {
"provider": "Filtrar por provider",
"model": "Filtrar por model"
},
"reset": {
"description": "Resetar estado de breaker/cooldown",
"provider": "Provider para resetar",
"connectionId": "ID de conexão para resetar",
"model": "Model para liberar lockout",
"allCooldowns": "Resetar todos os cooldowns do provider",
"yes": "Pular confirmação"
},
"profile": {
"description": "Gerenciar perfil de resiliência",
"name": "Nome do perfil"
},
"config": {
"description": "Gerenciar configuração de resiliência",
"threshold": "Limiar de falhas",
"resetTimeout": "Timeout de reset em ms",
"baseCooldown": "Cooldown base em ms"
}
},
"nodes": {
"description": "Gerenciar nodes de provider (endpoints)",
"list": {
"provider": "Filtrar por provider",
"enabled": "Exibir apenas nodes ativos"
},
"add": {
"provider": "Nome do provider",
"baseUrl": "URL base do node",
"name": "Nome do node",
"weight": "Peso para balanceamento de carga",
"region": "Tag de região",
"authHeader": "Header de autenticação customizado (key=value)"
},
"update": {
"baseUrl": "Nova URL base",
"name": "Novo nome",
"weight": "Novo peso",
"region": "Nova região",
"enabled": "Habilitar ou desabilitar (true|false)"
},
"remove": {
"yes": "Pular confirmação"
},
"validate": {
"baseUrl": "URL para validar",
"provider": "Provider para validar"
},
"test": {
"description": "Enviar requisição de teste ao node"
},
"metrics": {
"description": "Exibir métricas do node",
"period": "Período de tempo (ex: 24h, 7d)"
}
},
"context": {
"description": "Configurar pipeline de context engineering (Caveman, RTK)",
"analytics": {
"period": "Período de tempo (ex: 7d, 30d)"
},
"caveman": {
"description": "Gerenciar compressor de contexto Caveman",
"config": {
"description": "Exibir ou atualizar configuração do Caveman",
"aggressiveness": "Agressividade 0.0–1.0",
"maxShrinkPct": "Percentual máximo de redução",
"preserveTags": "Tags a preservar (separadas por vírgula)"
}
},
"rtk": {
"description": "Gerenciar otimizador de contexto RTK",
"config": {
"description": "Exibir ou atualizar configuração RTK",
"tokenBudget": "Orçamento de tokens RTK",
"reservePct": "Percentual de reserva"
},
"filters": {
"description": "Gerenciar filtros RTK",
"pattern": "Padrão do filtro (regex)",
"priority": "Prioridade do filtro (padrão: 100)",
"action": "Ação: drop|shrink|replace",
"yes": "Pular confirmação"
},
"test": {
"file": "Caminho para arquivo JSON de requisição"
}
},
"combos": {
"description": "Gerenciamento de combos com context-awareness"
}
},
"sessions": {
"description": "Inspecionar e encerrar sessões ativas",
"list": {
"user": "Filtrar por usuário",
"kind": "Filtrar por tipo (dashboard|api-key|mcp|a2a)",
"active": "Exibir apenas sessões ativas",
"limit": "Máximo de resultados (padrão: 100)"
},
"expire": {
"yes": "Pular confirmação"
},
"expireAll": {
"user": "Usuário cujas sessões serão encerradas",
"yes": "Pular confirmação"
}
},
"tags": {
"description": "Gerenciar tags de recursos",
"add": {
"color": "Cor da tag (hex ou nome)",
"description": "Descrição da tag"
},
"remove": {
"yes": "Pular confirmação"
},
"assign": {
"tag": "Nome da tag",
"to": "Recurso de destino como tipo:id (ex: provider:openai)"
},
"unassign": {
"tag": "Nome da tag",
"from": "Recurso de origem como tipo:id"
}
},
"openapi": {
"description": "Acessar e testar o spec OpenAPI do OmniRoute",
"dump": {
"description": "Exportar spec OpenAPI para stdout ou arquivo",
"format": "Formato de saída: yaml|json (padrão: yaml)",
"out": "Salvar em caminho de arquivo"
},
"validate": {
"description": "Validar o spec OpenAPI"
},
"try": {
"description": "Testar um endpoint da API via spec",
"method": "Método HTTP (padrão: GET)",
"body": "Caminho para arquivo JSON do corpo da requisição",
"query": "Parâmetro de query como key=value (repetível)",
"header": "Header como key=value (repetível)"
},
"endpoints": {
"description": "Listar todos os endpoints da API",
"search": "Filtrar por caminho ou summary"
},
"paths": {
"description": "Listar todos os caminhos da API"
}
},
"combo": {
"title": "Combos",
"switched": "Combo ativo: {name}",
"created": "Combo criado: {name}",
"deleted": "Combo removido: {name}",
"noCombos": "Nenhum combo configurado.",
"confirmDelete": "Remover combo {name}?",
"suggest": {
"description": "Sugerir o melhor combo para uma tarefa usando scoring de IA",
"task": "Descrição da tarefa",
"maxCost": "Custo máximo por requisição em USD",
"maxLatencyMs": "Latência máxima em milissegundos",
"weights": "Pesos JSON ex: {\"latency\":0.7,\"cost\":0.3}",
"top": "Número de candidatos a exibir (padrão: 5)",
"explain": "Imprimir justificativa no stderr",
"switch": "Ativar o combo mais bem classificado"
}
},
"oneproxy": {
"description": "Gerenciar o pool de proxies OneProxy",
"stats": {
"provider": "Filtrar por provider",
"period": "Período de tempo (padrão: 24h)"
},
"fetch": {
"description": "Buscar proxies do pool",
"count": "Número de proxies a buscar (padrão: 1)",
"type": "Tipo de proxy: http|socks5 (padrão: http)"
},
"rotate": {
"description": "Forçar rotação de proxy",
"provider": "Provider para rotacionar",
"connectionId": "ID de conexão específica para rotacionar"
},
"config": {
"description": "Exibir ou atualizar configuração do OneProxy",
"enabled": "Habilitar pool de proxies (true|false)",
"poolSize": "Tamanho do pool",
"providerSource": "URL do provedor de proxies",
"rotationPolicy": "Política de rotação: sticky|per-request|periodic"
},
"pool": {
"description": "Listar pool de proxies atual com métricas"
}
},
"open": {
"description": "Abrir uma página específica do dashboard OmniRoute no navegador",
"url": "Apenas imprime a URL, sem abrir o navegador"
},
"telemetry": {
"description": "Acessar dados de telemetria agregados",
"summary": {
"description": "Exibir resumo de telemetria agregado",
"period": "Período: 24h|7d|30d (padrão: 24h)",
"compareTo": "Comparar com período anterior"
},
"export": {
"description": "Exportar eventos de telemetria para JSONL",
"out": "Caminho do arquivo de saída (padrão: telemetry.jsonl)",
"period": "Período para exportação (padrão: 7d)"
}
},
"sync": {
"description": "Sincronizar configuração entre instâncias OmniRoute",
"push": {
"description": "Enviar config para cloud ou instância remota",
"target": "Destino (cloud ou context:nome)",
"bundle": "Partes do bundle para sincronizar",
"dryRun": "Visualizar sem aplicar"
},
"pull": {
"description": "Baixar config da cloud ou remoto",
"source": "Origem (cloud ou context:nome)",
"merge": "Mesclar com config existente",
"replace": "Substituir config existente",
"dryRun": "Visualizar sem aplicar"
},
"diff": {
"source": "Contexto de origem",
"target": "Contexto de destino"
},
"bundle": {
"description": "Exportar config como arquivo bundle",
"include": "Partes a incluir (separadas por vírgula)"
},
"import": {
"description": "Importar arquivo bundle",
"dryRun": "Validar sem aplicar"
},
"initialize": {
"fromCloud": "Inicializar a partir de backup na cloud"
},
"tokens": {
"description": "Gerenciar tokens de sincronização",
"create": {
"name": "Nome do token",
"scope": "Escopo do token",
"ttl": "TTL do token (ex: 30d)"
},
"revoke": {
"yes": "Pular confirmação"
}
},
"resolve": {
"description": "Resolver conflitos de sincronização interativamente"
}
},
"config": {
"contexts": {
"description": "Gerenciar contextos/perfis de servidor (add, use, list, show, remove, rename, export, import)"
},
"lang": {
"description": "Gerenciar idioma de exibição do CLI",
"getDescription": "Exibir o código de idioma atualmente ativo",
"setDescription": "Definir o idioma de exibição e salvar na configuração",
"listDescription": "Listar todos os idiomas disponíveis",
"listTitle": "Idiomas Disponíveis",
"current": "Idioma: {code} ({name})",
"saved": "Idioma definido como {code} ({name}).",
"noCode": "Código de idioma obrigatório. Execute 'omniroute config lang list' para ver os códigos disponíveis.",
"unknown": "Código de idioma desconhecido: {code}. Execute 'omniroute config lang list' para ver os códigos disponíveis.",
"alreadySet": "O idioma já está definido como {code}.",
"envHint": "Dica: você também pode definir OMNIROUTE_LANG={code} no seu ambiente."
}
},
"completion": {
"description": "Gerar ou instalar scripts de completion do shell",
"zsh": "Imprimir script de completion para zsh",
"bash": "Imprimir script de completion para bash",
"fish": "Imprimir script de completion para fish",
"install": "Instalar completion globalmente para o shell detectado",
"refresh": "Atualizar cache de combos/providers/models"
},
"logs": {
"description": "Streaming ou exportação de logs de request",
"follow": "Transmitir logs em tempo real",
"filter": "Filtrar por nível (error,warn,info) — separados por vírgula",
"lines": "Número de linhas a buscar",
"timeout": "Timeout de conexão em ms",
"baseUrl": "URL base da API do OmniRoute",
"requestId": "Filtrar por ID do request",
"apiKey": "Filtrar por chave de API",
"combo": "Filtrar por nome do combo",
"status": "Filtrar por código HTTP",
"durationMin": "Duração mínima do request em ms",
"durationMax": "Duração máxima do request em ms",
"export": "Salvar logs em arquivo (json/jsonl/csv)",
"exported": "Logs salvos em {path}",
"stopped": "Stream de logs interrompido.",
"streamError": "Erro no stream de logs: {message}"
},
"tray": {
"description": "Controlar o ícone na bandeja do sistema",
"show": "Mostrar o ícone na bandeja (se o servidor estiver rodando com --tray)",
"hide": "Ocultar o ícone na bandeja",
"quit": "Encerrar OmniRoute via bandeja"
},
"autostart": {
"description": "Gerenciar inicialização automática do OmniRoute no login",
"enable": "Habilitar inicialização automática no login",
"disable": "Desabilitar inicialização automática no login",
"toggle": "Alternar inicialização automática no login",
"status": "Mostrar status de inicialização automática"
},
"runtime": {
"description": "Gerenciar dependências nativas do runtime",
"check": "Verificar status das deps nativas no diretório de runtime",
"repair": "Reinstalar deps nativas no diretório de runtime",
"repair_force": "Forçar reinstalação mesmo se estiver válido",
"clean": "Remover diretório de runtime (libera espaço em disco)",
"clean_yes": "Pular confirmação"
},
"repl": {
"description": "REPL interativo multi-turn com LLM",
"model": "Modelo a usar (padrão: auto)",
"combo": "Nome do combo a usar",
"system": "System prompt",
"resume": "Retomar sessão salva pelo nome"
},
"plugin": {
"description": "Gerenciar plugins CLI (omniroute-cmd-*)",
"list": "Listar plugins instalados",
"install": "Instalar plugin do npm ou caminho local",
"remove": "Remover plugin instalado",
"info": "Mostrar detalhes de um plugin instalado",
"search": "Buscar plugins disponíveis no npm",
"update": "Atualizar plugin(s) instalado(s)",
"scaffold": "Gerar boilerplate de novo plugin"
},
"launch": {
"description": "Inicia o Claude Code apontando para o OmniRoute (local ou remoto, com --profile)",
"token": "Token que o cliente Claude deve enviar (ANTHROPIC_AUTH_TOKEN)",
"notRunning": "OmniRoute não está acessível em {port}. Inicie com 'omniroute serve'.",
"notFound": "O CLI 'claude' não foi encontrado no PATH."
},
"setupClaude": {
"description": "Gera profiles do Claude Code em ~/.claude/profiles a partir do catálogo de modelos do OmniRoute"
},
"connect": {
"description": "Conecta a um servidor OmniRoute remoto e entra no modo remoto"
},
"tokens": {
"description": "Gerencia tokens de acesso CLI com escopo (modo remoto)"
},
"configure": {
"description": "Escolhe um provedor+modelo do servidor ativo e grava uma configuração de CLI local"
},
"launchCodex": {
"description": "Inicia o Codex CLI apontando para o OmniRoute (local ou VPS remoto)"
},
"setupCodex": {
"description": "Gera os arquivos de perfil ~/.codex a partir do catálogo de modelos ao vivo do OmniRoute"
}
}