Last active
March 8, 2026 16:12
-
-
Save nicolasaigner/beb113476ce2ea8e043fa7eb34bfa1c8 to your computer and use it in GitHub Desktop.
Configurações do Gemini-CLI documentada em PT-BR (/etc/gemini-cli/system-defaults.json)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| // #### `$schema` | |
| // - **`$schema`** (string) | |
| // - **Descrição:** URL do schema JSON para validação/autocomplete no editor. | |
| // - **Default:** `"https://raw.githubusercontent.com/google-gemini/gemini-cli/main/schemas/settings.schema.json"` | |
| "$schema": "https://raw.githubusercontent.com/google-gemini/gemini-cli/main/schemas/settings.schema.json", | |
| // #### `policyPaths` | |
| // - **`policyPaths`** (array) | |
| // - **Descrição:** Arquivos ou diretórios de política adicionais para carregar. | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "policyPaths": [], | |
| // #### `mcpServers` | |
| // - **`mcpServers`** (object) | |
| // - **Descrição:** Configura conexões para servidores MCP nomeados. | |
| // - **Default:** `{}` | |
| // - **Requer reinício:** Sim | |
| "mcpServers": { | |
| // Exemplo de estrutura por servidor: | |
| // "nomeDoServidor": { | |
| // // - **`mcpServers.<SERVER_NAME>.command`** (string, opcional) | |
| // // - **Descrição:** Comando para iniciar servidor MCP via stdio. | |
| // "command": "", | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.args`** (array<string>, opcional) | |
| // // - **Descrição:** Argumentos do comando. | |
| // "args": [], | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.env`** (object, opcional) | |
| // // - **Descrição:** Variáveis de ambiente para o processo. | |
| // "env": {}, | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.cwd`** (string, opcional) | |
| // // - **Descrição:** Diretório de trabalho. | |
| // "cwd": "", | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.url`** (string, opcional) | |
| // // - **Descrição:** URL para transporte SSE. | |
| // "url": "", | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.httpUrl`** (string, opcional) | |
| // // - **Descrição:** URL para transporte HTTP streamável. | |
| // "httpUrl": "", | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.headers`** (object, opcional) | |
| // // - **Descrição:** Headers HTTP adicionais. | |
| // "headers": {}, | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.timeout`** (number, opcional) | |
| // // - **Descrição:** Timeout em milissegundos. | |
| // "timeout": 30000, | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.trust`** (boolean, opcional) | |
| // // - **Descrição:** Confia no servidor e reduz confirmações de chamada de ferramenta. | |
| // "trust": false, | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.description`** (string, opcional) | |
| // // - **Descrição:** Descrição curta do servidor. | |
| // "description": "", | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.includeTools`** (array<string>, opcional) | |
| // // - **Descrição:** Allowlist de ferramentas desse servidor. | |
| // "includeTools": [], | |
| // | |
| // // - **`mcpServers.<SERVER_NAME>.excludeTools`** (array<string>, opcional) | |
| // // - **Descrição:** Blocklist de ferramentas desse servidor (tem precedência sobre includeTools). | |
| // "excludeTools": [] | |
| // } | |
| }, | |
| // #### `general` | |
| "general": { | |
| // - **`general.preferredEditor`** (string) | |
| // - **Descrição:** Editor preferido para abrir arquivos. | |
| // - **Default:** `undefined` | |
| "preferredEditor": "code", | |
| // - **`general.vimMode`** (boolean) | |
| // - **Descrição:** Ativa atalhos de teclado do Vim. | |
| // - **Default:** `false` | |
| "vimMode": false, | |
| // - **`general.defaultApprovalMode`** (enum) | |
| // - **Descrição:** Modo padrão de aprovação para execução de ferramentas. | |
| // - **Default:** `"default"` | |
| // - **Valores:** `"default"`, `"auto_edit"`, `"plan"` | |
| "defaultApprovalMode": "default", | |
| // - **`general.devtools`** (boolean) | |
| // - **Descrição:** Ativa o inspetor DevTools ao iniciar. | |
| // - **Default:** `false` | |
| "devtools": false, | |
| // - **`general.enableAutoUpdate`** (boolean) | |
| // - **Descrição:** Ativa atualizações automáticas. | |
| // - **Default:** `true` | |
| "enableAutoUpdate": true, | |
| // - **`general.enableAutoUpdateNotification`** (boolean) | |
| // - **Descrição:** Ativa notificações de atualização. | |
| // - **Default:** `true` | |
| "enableAutoUpdateNotification": true, | |
| // - **`general.enableNotifications`** (boolean) | |
| // - **Descrição:** Ativa notificações de eventos de execução e conclusão de sessão (atualmente apenas macOS). | |
| // - **Default:** `false` | |
| "enableNotifications": false, | |
| "checkpointing": { | |
| // - **`general.checkpointing.enabled`** (boolean) | |
| // - **Descrição:** Ativa checkpoint de sessão para recuperação. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "enabled": false | |
| }, | |
| "plan": { | |
| // - **`general.plan.directory`** (string) | |
| // - **Descrição:** Diretório onde artefatos de planejamento são armazenados. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "directory": "", | |
| // - **`general.plan.modelRouting`** (boolean) | |
| // - **Descrição:** Alterna automaticamente entre modelos Pro e Flash com base no modo de planejamento. | |
| // - **Default:** `true` | |
| "modelRouting": true | |
| }, | |
| // - **`general.retryFetchErrors`** (boolean) | |
| // - **Descrição:** Tenta novamente quando ocorrer erro de fetch do tipo TypeError. | |
| // - **Default:** `false` | |
| "retryFetchErrors": false, | |
| // - **`general.maxAttempts`** (number) | |
| // - **Descrição:** Número máximo de tentativas para requisições ao modelo principal. | |
| // - **Default:** `10` | |
| "maxAttempts": 10, | |
| // - **`general.debugKeystrokeLogging`** (boolean) | |
| // - **Descrição:** Ativa logs de depuração de teclas no console. | |
| // - **Default:** `false` | |
| "debugKeystrokeLogging": false, | |
| "sessionRetention": { | |
| // - **`general.sessionRetention.enabled`** (boolean) | |
| // - **Descrição:** Ativa limpeza automática de sessões. | |
| // - **Default:** `true` | |
| "enabled": true, | |
| // - **`general.sessionRetention.maxAge`** (string) | |
| // - **Descrição:** Remove automaticamente chats mais antigos que este período. | |
| // - **Default:** `"30d"` | |
| "maxAge": "30d", | |
| // - **`general.sessionRetention.maxCount`** (number) | |
| // - **Descrição:** Quantidade máxima de sessões a manter. | |
| // - **Default:** `undefined` | |
| "maxCount": 100, | |
| // - **`general.sessionRetention.minRetention`** (string) | |
| // - **Descrição:** Período mínimo de retenção (limite de segurança). | |
| // - **Default:** `"1d"` | |
| "minRetention": "1d" | |
| } | |
| }, | |
| // #### `output` | |
| "output": { | |
| // - **`output.format`** (enum) | |
| // - **Descrição:** Formato de saída da CLI. | |
| // - **Default:** `"text"` | |
| // - **Valores:** `"text"`, `"json"` | |
| "format": "text" | |
| }, | |
| // #### `ui` | |
| "ui": { | |
| // - **`ui.theme`** (string) | |
| // - **Descrição:** Tema de cores da interface. | |
| // - **Default:** `undefined` | |
| // "theme": "null", | |
| // - **`ui.autoThemeSwitching`** (boolean) | |
| // - **Descrição:** Alterna automaticamente entre tema claro e escuro com base no terminal. | |
| // - **Default:** `true` | |
| "autoThemeSwitching": true, | |
| // - **`ui.terminalBackgroundPollingInterval`** (number) | |
| // - **Descrição:** Intervalo (segundos) para verificar a cor de fundo do terminal. | |
| // - **Default:** `60` | |
| "terminalBackgroundPollingInterval": 60, | |
| // - **`ui.customThemes`** (object) | |
| // - **Descrição:** Definições de temas personalizados. | |
| // - **Default:** `{}` | |
| "customThemes": {}, | |
| // - **`ui.hideWindowTitle`** (boolean) | |
| // - **Descrição:** Oculta a barra de título da janela. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "hideWindowTitle": false, | |
| // - **`ui.inlineThinkingMode`** (enum) | |
| // - **Descrição:** Exibe o pensamento do modelo inline. | |
| // - **Default:** `"off"` | |
| // - **Valores:** `"off"`, `"full"` | |
| "inlineThinkingMode": "off", | |
| // - **`ui.showStatusInTitle`** (boolean) | |
| // - **Descrição:** Mostra status do modelo no título da janela. | |
| // - **Default:** `false` | |
| "showStatusInTitle": false, | |
| // - **`ui.dynamicWindowTitle`** (boolean) | |
| // - **Descrição:** Atualiza dinamicamente o título da janela com ícones de estado. | |
| // - **Default:** `true` | |
| "dynamicWindowTitle": true, | |
| // - **`ui.showHomeDirectoryWarning`** (boolean) | |
| // - **Descrição:** Exibe aviso ao rodar a CLI no diretório home. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "showHomeDirectoryWarning": true, | |
| // - **`ui.showCompatibilityWarnings`** (boolean) | |
| // - **Descrição:** Exibe alertas de compatibilidade de terminal/SO. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "showCompatibilityWarnings": true, | |
| // - **`ui.hideTips`** (boolean) | |
| // - **Descrição:** Oculta dicas úteis na interface. | |
| // - **Default:** `false` | |
| "hideTips": false, | |
| // - **`ui.showShortcutsHint`** (boolean) | |
| // - **Descrição:** Mostra dica de atalhos acima da entrada. | |
| // - **Default:** `true` | |
| "showShortcutsHint": true, | |
| // - **`ui.hideBanner`** (boolean) | |
| // - **Descrição:** Oculta o banner da aplicação. | |
| // - **Default:** `false` | |
| "hideBanner": false, | |
| // - **`ui.hideContextSummary`** (boolean) | |
| // - **Descrição:** Oculta o resumo de contexto acima da entrada. | |
| // - **Default:** `false` | |
| "hideContextSummary": false, | |
| "footer": { | |
| // - **`ui.footer.items`** (array) | |
| // - **Descrição:** Lista de IDs exibidos no rodapé. | |
| // - **Default:** `undefined` | |
| "items": "null", | |
| // - **`ui.footer.showLabels`** (boolean) | |
| // - **Descrição:** Exibe rótulos descritivos no rodapé. | |
| // - **Default:** `true` | |
| "showLabels": true, | |
| // - **`ui.footer.hideCWD`** (boolean) | |
| // - **Descrição:** Oculta diretório atual no rodapé. | |
| // - **Default:** `false` | |
| "hideCWD": false, | |
| // - **`ui.footer.hideSandboxStatus`** (boolean) | |
| // - **Descrição:** Oculta indicador de sandbox no rodapé. | |
| // - **Default:** `false` | |
| "hideSandboxStatus": false, | |
| // - **`ui.footer.hideModelInfo`** (boolean) | |
| // - **Descrição:** Oculta informações do modelo no rodapé. | |
| // - **Default:** `false` | |
| "hideModelInfo": false, | |
| // - **`ui.footer.hideContextPercentage`** (boolean) | |
| // - **Descrição:** Oculta percentual de uso da janela de contexto. | |
| // - **Default:** `true` | |
| "hideContextPercentage": true | |
| }, | |
| // - **`ui.hideFooter`** (boolean) | |
| // - **Descrição:** Oculta o rodapé da interface. | |
| // - **Default:** `false` | |
| "hideFooter": false, | |
| // - **`ui.showMemoryUsage`** (boolean) | |
| // - **Descrição:** Exibe uso de memória na interface. | |
| // - **Default:** `false` | |
| "showMemoryUsage": false, | |
| // - **`ui.showLineNumbers`** (boolean) | |
| // - **Descrição:** Mostra números de linha no chat. | |
| // - **Default:** `true` | |
| "showLineNumbers": true, | |
| // - **`ui.showCitations`** (boolean) | |
| // - **Descrição:** Mostra citações no chat. | |
| // - **Default:** `false` | |
| "showCitations": false, | |
| // - **`ui.showModelInfoInChat`** (boolean) | |
| // - **Descrição:** Mostra nome do modelo em cada turno do chat. | |
| // - **Default:** `false` | |
| "showModelInfoInChat": false, | |
| // - **`ui.showUserIdentity`** (boolean) | |
| // - **Descrição:** Mostra identidade do usuário logado na interface. | |
| // - **Default:** `true` | |
| "showUserIdentity": true, | |
| // - **`ui.useAlternateBuffer`** (boolean) | |
| // - **Descrição:** Usa buffer alternativo de tela, preservando histórico do shell. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "useAlternateBuffer": false, | |
| // - **`ui.useBackgroundColor`** (boolean) | |
| // - **Descrição:** Define se usa cores de fundo na interface. | |
| // - **Default:** `true` | |
| "useBackgroundColor": true, | |
| // - **`ui.incrementalRendering`** (boolean) | |
| // - **Descrição:** Ativa renderização incremental para reduzir flicker. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "incrementalRendering": true, | |
| // - **`ui.showSpinner`** (boolean) | |
| // - **Descrição:** Mostra spinner durante operações. | |
| // - **Default:** `true` | |
| "showSpinner": true, | |
| // - **`ui.loadingPhrases`** (enum) | |
| // - **Descrição:** Define o que exibir enquanto o modelo processa. | |
| // - **Default:** `"tips"` | |
| // - **Valores:** `"tips"`, `"witty"`, `"all"`, `"off"` | |
| "loadingPhrases": "tips", | |
| // - **`ui.errorVerbosity`** (enum) | |
| // - **Descrição:** Controla o nível de detalhes de erros recuperáveis. | |
| // - **Default:** `"low"` | |
| // - **Valores:** `"low"`, `"full"` | |
| "errorVerbosity": "low", | |
| // - **`ui.customWittyPhrases`** (array) | |
| // - **Descrição:** Frases personalizadas exibidas durante carregamento. | |
| // - **Default:** `[]` | |
| "customWittyPhrases": [], | |
| "accessibility": { | |
| // - **`ui.accessibility.enableLoadingPhrases`** (boolean) | |
| // - **Descrição:** (Deprecado) Ativa frases de carregamento; prefira `ui.loadingPhrases`. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enableLoadingPhrases": true, | |
| // - **`ui.accessibility.screenReader`** (boolean) | |
| // - **Descrição:** Renderiza saída em texto plano para melhor acessibilidade. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "screenReader": false | |
| } | |
| }, | |
| // #### `ide` | |
| "ide": { | |
| // - **`ide.enabled`** (boolean) | |
| // - **Descrição:** Ativa modo de integração com IDE. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "enabled": false, | |
| // - **`ide.hasSeenNudge`** (boolean) | |
| // - **Descrição:** Indica se o usuário já viu o aviso de integração com IDE. | |
| // - **Default:** `false` | |
| "hasSeenNudge": false | |
| }, | |
| // #### `privacy` | |
| "privacy": { | |
| // - **`privacy.usageStatisticsEnabled`** (boolean) | |
| // - **Descrição:** Ativa coleta de estatísticas de uso. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "usageStatisticsEnabled": true | |
| }, | |
| // #### `telemetry` | |
| "telemetry": { | |
| // - **`telemetry.enabled`** (boolean) | |
| // - **Descrição:** Ativa/desativa emissão de telemetria. | |
| // - **Default:** `undefined` | |
| "enabled": false | |
| // - **`telemetry.target`** (string) | |
| // - **Descrição:** Destino da telemetria (ex.: `local`, `gcp`, `stderr`, `stdout`, `otlp`). | |
| // - **Default:** `undefined` | |
| // "target": "null", | |
| // - **`telemetry.otlpEndpoint`** (string) | |
| // - **Descrição:** Endpoint OTLP. | |
| // - **Default:** `undefined` | |
| // "otlpEndpoint": "null", | |
| // - **`telemetry.otlpProtocol`** (enum) | |
| // - **Descrição:** Protocolo OTLP. | |
| // - **Default:** `undefined` | |
| // - **Valores:** `"grpc"`, `"http"` | |
| // "otlpProtocol": "null", | |
| // - **`telemetry.logPrompts`** (boolean) | |
| // - **Descrição:** Define se prompts serão registrados na telemetria. | |
| // - **Default:** `undefined` | |
| // "logPrompts": "null", | |
| // - **`telemetry.outfile`** (string) | |
| // - **Descrição:** Arquivo de saída quando o alvo de telemetria for local. | |
| // - **Default:** `undefined` | |
| // "outfile": "null", | |
| // - **`telemetry.useCollector`** (boolean) | |
| // - **Descrição:** Define se usa um coletor OTLP externo. | |
| // - **Default:** `undefined` | |
| // "useCollector": "null", | |
| // - **`telemetry.useCliAuth`** (boolean) | |
| // - **Descrição:** Define se usa autenticação da CLI para telemetria. | |
| // - **Default:** `undefined` | |
| // "useCliAuth": "null" | |
| }, | |
| // #### `billing` | |
| "billing": { | |
| // - **`billing.overageStrategy`** (enum) | |
| // - **Descrição:** Define como agir quando a cota é esgotada e há créditos de IA disponíveis. | |
| // - **Default:** `"ask"` | |
| // - **Valores:** `"ask"`, `"always"`, `"never"` | |
| "overageStrategy": "ask" | |
| }, | |
| // #### `model` | |
| "model": { | |
| // - **`model.name`** (string) | |
| // - **Descrição:** Modelo Gemini usado nas conversas. | |
| // - **Default:** `undefined` | |
| // "name": "null", | |
| // - **`model.maxSessionTurns`** (number) | |
| // - **Descrição:** Máximo de turnos mantidos em sessão. `-1` significa ilimitado. | |
| // - **Default:** `-1` | |
| "maxSessionTurns": -1, | |
| // - **`model.summarizeToolOutput`** (object) | |
| // - **Descrição:** Configuração de sumarização de saída de ferramentas. | |
| // - **Default:** `undefined` | |
| // "summarizeToolOutput": "null", | |
| // - **`model.compressionThreshold`** (number) | |
| // - **Descrição:** Fração de uso de contexto para disparar compressão. | |
| // - **Default:** `0.5` | |
| // - **Requer reinício:** Sim | |
| "compressionThreshold": 0.5, | |
| // - **`model.disableLoopDetection`** (boolean) | |
| // - **Descrição:** Desativa detecção automática de loops infinitos. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "disableLoopDetection": false, | |
| // - **`model.skipNextSpeakerCheck`** (boolean) | |
| // - **Descrição:** Pula a próxima verificação de próximo emissor. | |
| // - **Default:** `true` | |
| "skipNextSpeakerCheck": true | |
| }, | |
| // #### `modelConfigs` | |
| "modelConfigs": { | |
| // - **`modelConfigs.aliases`** (object) | |
| // - **Descrição:** Presets nomeados de configuração de modelo com suporte a herança por `extends`. | |
| // - **Default:** Objeto padrão embutido (extenso). | |
| "aliases": {}, | |
| // - **`modelConfigs.customAliases`** (object) | |
| // - **Descrição:** Presets personalizados; são mesclados e podem sobrescrever os nativos. | |
| // - **Default:** `{}` | |
| "customAliases": {}, | |
| // - **`modelConfigs.customOverrides`** (array) | |
| // - **Descrição:** Overrides personalizados de configuração de modelo. | |
| // - **Default:** `[]` | |
| "customOverrides": [], | |
| // - **`modelConfigs.overrides`** (array) | |
| // - **Descrição:** Overrides aplicados por regras de correspondência. | |
| // - **Default:** `[]` | |
| "overrides": [] | |
| }, | |
| // #### `agents` | |
| "agents": { | |
| // - **`agents.overrides`** (object) | |
| // - **Descrição:** Sobrescreve configurações por agente. | |
| // - **Default:** `{}` | |
| // - **Requer reinício:** Sim | |
| "overrides": {}, | |
| "browser": { | |
| // - **`agents.browser.sessionMode`** (enum) | |
| // - **Descrição:** Modo de sessão do navegador do agente. | |
| // - **Default:** `"persistent"` | |
| // - **Valores:** `"persistent"`, `"isolated"`, `"existing"` | |
| // - **Requer reinício:** Sim | |
| "sessionMode": "persistent", | |
| // - **`agents.browser.headless`** (boolean) | |
| // - **Descrição:** Executa navegador em modo headless. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "headless": false | |
| // - **`agents.browser.profilePath`** (string) | |
| // - **Descrição:** Caminho do perfil de navegador para persistência de sessão. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "profilePath": "null", | |
| // - **`agents.browser.visualModel`** (string) | |
| // - **Descrição:** Modelo alternativo para o agente visual. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "visualModel": "null" | |
| } | |
| }, | |
| // #### `context` | |
| "context": { | |
| // - **`context.fileName`** (string|string[]) | |
| // - **Descrição:** Nome de arquivo(s) de contexto para carregar na memória. | |
| // - **Default:** `undefined` | |
| "fileName": "null", | |
| // - **`context.importFormat`** (string) | |
| // - **Descrição:** Formato usado para importar memória. | |
| // - **Default:** `undefined` | |
| "importFormat": "null", | |
| // - **`context.includeDirectoryTree`** (boolean) | |
| // - **Descrição:** Inclui árvore de diretórios no contexto inicial. | |
| // - **Default:** `true` | |
| "includeDirectoryTree": true, | |
| // - **`context.discoveryMaxDirs`** (number) | |
| // - **Descrição:** Máximo de diretórios pesquisados para descoberta de memória. | |
| // - **Default:** `200` | |
| "discoveryMaxDirs": 200, | |
| // - **`context.includeDirectories`** (array) | |
| // - **Descrição:** Diretórios adicionais incluídos no contexto do workspace. | |
| // - **Default:** `[]` | |
| "includeDirectories": [], | |
| // - **`context.loadMemoryFromIncludeDirectories`** (boolean) | |
| // - **Descrição:** Controla se `/memory reload` varre diretórios incluídos. | |
| // - **Default:** `false` | |
| "loadMemoryFromIncludeDirectories": false, | |
| "fileFiltering": { | |
| // - **`context.fileFiltering.respectGitIgnore`** (boolean) | |
| // - **Descrição:** Respeita `.gitignore` nas buscas. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "respectGitIgnore": true, | |
| // - **`context.fileFiltering.respectGeminiIgnore`** (boolean) | |
| // - **Descrição:** Respeita `.geminiignore` nas buscas. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "respectGeminiIgnore": true, | |
| // - **`context.fileFiltering.enableRecursiveFileSearch`** (boolean) | |
| // - **Descrição:** Ativa busca recursiva de arquivos para referências `@`. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enableRecursiveFileSearch": true, | |
| // - **`context.fileFiltering.enableFuzzySearch`** (boolean) | |
| // - **Descrição:** Ativa busca fuzzy de arquivos. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enableFuzzySearch": true, | |
| // - **`context.fileFiltering.customIgnoreFilePaths`** (array) | |
| // - **Descrição:** Arquivos de ignore extras com precedência sobre `.geminiignore`/`.gitignore`. | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "customIgnoreFilePaths": [] | |
| } | |
| }, | |
| // #### `tools` | |
| "tools": { | |
| // - **`tools.sandbox`** (boolean|string) | |
| // - **Descrição:** Ambiente sandbox para execução (boolean, caminho de perfil ou comando explícito). | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "sandbox": false, | |
| "shell": { | |
| // - **`tools.shell.enableInteractiveShell`** (boolean) | |
| // - **Descrição:** Usa `node-pty` para experiência de shell interativa. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enableInteractiveShell": true, | |
| // - **`tools.shell.pager`** (string) | |
| // - **Descrição:** Comando pager para saída de shell. | |
| // - **Default:** `"cat"` | |
| "pager": "cat", | |
| // - **`tools.shell.showColor`** (boolean) | |
| // - **Descrição:** Exibe cores na saída do shell. | |
| // - **Default:** `false` | |
| "showColor": false, | |
| // - **`tools.shell.inactivityTimeout`** (number) | |
| // - **Descrição:** Tempo máximo (segundos) sem saída no shell. | |
| // - **Default:** `300` | |
| "inactivityTimeout": 300, | |
| // - **`tools.shell.enableShellOutputEfficiency`** (boolean) | |
| // - **Descrição:** Ativa otimizações de eficiência na saída do shell. | |
| // - **Default:** `true` | |
| "enableShellOutputEfficiency": true | |
| }, | |
| // - **`tools.core`** (array) | |
| // - **Descrição:** Restrição de ferramentas internas por allowlist. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "core": [], | |
| // - **`tools.allowed`** (array) | |
| // - **Descrição:** Ferramentas que ignoram a confirmação. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "allowed": [], | |
| // - **`tools.exclude`** (array) | |
| // - **Descrição:** Ferramentas excluídas da descoberta. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "exclude": [], | |
| // - **`tools.discoveryCommand`** (string) | |
| // - **Descrição:** Comando usado para descoberta de ferramentas. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "discoveryCommand": "null", | |
| // - **`tools.callCommand`** (string) | |
| // - **Descrição:** Comando customizado para invocar ferramentas descobertas. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "callCommand": "null", | |
| // - **`tools.useRipgrep`** (boolean) | |
| // - **Descrição:** Usa `ripgrep` para busca de conteúdo em arquivos. | |
| // - **Default:** `true` | |
| "useRipgrep": true, | |
| // - **`tools.truncateToolOutputThreshold`** (number) | |
| // - **Descrição:** Máximo de caracteres exibidos ao truncar saídas grandes. | |
| // - **Default:** `40000` | |
| // - **Requer reinício:** Sim | |
| "truncateToolOutputThreshold": 40000, | |
| // - **`tools.disableLLMCorrection`** (boolean) | |
| // - **Descrição:** Desativa autocorreção por LLM em ferramentas de edição. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "disableLLMCorrection": true | |
| }, | |
| // #### `mcp` | |
| "mcp": { | |
| // - **`mcp.serverCommand`** (string) | |
| // - **Descrição:** Comando para iniciar um servidor MCP. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "serverCommand": "null", | |
| // - **`mcp.allowed`** (array) | |
| // - **Descrição:** Lista de servidores MCP permitidos. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "allowed": [], | |
| // - **`mcp.excluded`** (array) | |
| // - **Descrição:** Lista de servidores MCP excluídos. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| "excluded": [] | |
| }, | |
| // #### `useWriteTodos` | |
| // - **`useWriteTodos`** (boolean) | |
| // - **Descrição:** Ativa a ferramenta `write_todos`. | |
| // - **Default:** `true` | |
| "useWriteTodos": true, | |
| // #### `security` | |
| "security": { | |
| // - **`security.disableYoloMode`** (boolean) | |
| // - **Descrição:** Desativa o modo YOLO, mesmo com flag. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "disableYoloMode": false, | |
| // - **`security.enablePermanentToolApproval`** (boolean) | |
| // - **Descrição:** Ativa opção de aprovação permanente de ferramentas. | |
| // - **Default:** `false` | |
| "enablePermanentToolApproval": false, | |
| // - **`security.blockGitExtensions`** (boolean) | |
| // - **Descrição:** Bloqueia instalação/carregamento de extensões vindas de Git. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "blockGitExtensions": false, | |
| // - **`security.allowedExtensions`** (array) | |
| // - **Descrição:** Regex de extensões permitidas. | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "allowedExtensions": [], | |
| "folderTrust": { | |
| // - **`security.folderTrust.enabled`** (boolean) | |
| // - **Descrição:** Controla se o Folder Trust está habilitado. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enabled": true | |
| }, | |
| "environmentVariableRedaction": { | |
| // - **Observação de compatibilidade:** Alguns trechos de documentação antiga mencionam | |
| // `security.allowedEnvironmentVariables` e `security.blockedEnvironmentVariables`. | |
| // No schema atual, os campos oficiais são: | |
| // `security.environmentVariableRedaction.allowed` e | |
| // `security.environmentVariableRedaction.blocked`. | |
| // - **`security.environmentVariableRedaction.allowed`** (array) | |
| // - **Descrição:** Variáveis de ambiente sempre permitidas (sem redação). | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "allowed": [], | |
| // - **`security.environmentVariableRedaction.blocked`** (array) | |
| // - **Descrição:** Variáveis de ambiente sempre redigidas. | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "blocked": [], | |
| // - **`security.environmentVariableRedaction.enabled`** (boolean) | |
| // - **Descrição:** Ativa redação de variáveis de ambiente potencialmente sensíveis. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "enabled": false | |
| }, | |
| "auth": { | |
| // - **`security.auth.selectedType`** (string) | |
| // - **Descrição:** Tipo de autenticação atualmente selecionado. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "selectedType": "null", | |
| // - **`security.auth.enforcedType`** (string) | |
| // - **Descrição:** Tipo de autenticação exigido. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "enforcedType": "null" | |
| // - **`security.auth.useExternal`** (boolean) | |
| // - **Descrição:** Define se usa fluxo externo de autenticação. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "useExternal": false | |
| }, | |
| // - **`security.enableConseca`** (boolean) | |
| // - **Descrição:** Ativa verificador de segurança contextual para políticas dinâmicas de uso de ferramentas. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "enableConseca": false | |
| }, | |
| // #### `advanced` | |
| "advanced": { | |
| // - **`advanced.autoConfigureMemory`** (boolean) | |
| // - **Descrição:** Configura automaticamente limites de memória do Node.js. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "autoConfigureMemory": false, | |
| // - **`advanced.dnsResolutionOrder`** (string) | |
| // - **Descrição:** Ordem de resolução DNS. | |
| // - **Default:** `undefined` | |
| // - **Requer reinício:** Sim | |
| // "dnsResolutionOrder": "null", | |
| // - **`advanced.excludedEnvVars`** (array) | |
| // - **Descrição:** Variáveis de ambiente excluídas do contexto do projeto. | |
| // - **Default:** `["DEBUG", "DEBUG_MODE"]` | |
| "excludedEnvVars": ["DEBUG", "DEBUG_MODE"] | |
| // - **`advanced.bugCommand`** (object) | |
| // - **Descrição:** Configuração do comando de relatório de bug. | |
| // - **Default:** `undefined` | |
| // "bugCommand": {} | |
| }, | |
| // #### `experimental` | |
| "experimental": { | |
| "toolOutputMasking": { | |
| // - **`experimental.toolOutputMasking.enabled`** (boolean) | |
| // - **Descrição:** Ativa mascaramento de saída de ferramentas para economizar tokens. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enabled": true, | |
| // - **`experimental.toolOutputMasking.toolProtectionThreshold`** (number) | |
| // - **Descrição:** Número mínimo de tokens a proteger do mascaramento. | |
| // - **Default:** `50000` | |
| // - **Requer reinício:** Sim | |
| "toolProtectionThreshold": 50000, | |
| // - **`experimental.toolOutputMasking.minPrunableTokensThreshold`** (number) | |
| // - **Descrição:** Mínimo de tokens podáveis para disparar mascaramento. | |
| // - **Default:** `30000` | |
| // - **Requer reinício:** Sim | |
| "minPrunableTokensThreshold": 30000, | |
| // - **`experimental.toolOutputMasking.protectLatestTurn`** (boolean) | |
| // - **Descrição:** Garante que o turno mais recente nunca seja mascarado. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "protectLatestTurn": true | |
| }, | |
| // - **`experimental.enableAgents`** (boolean) | |
| // - **Descrição:** Ativa subagentes locais/remotos (experimental). | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "enableAgents": false, | |
| // - **`experimental.extensionManagement`** (boolean) | |
| // - **Descrição:** Ativa gerenciamento de extensões. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "extensionManagement": true, | |
| // - **`experimental.extensionConfig`** (boolean) | |
| // - **Descrição:** Ativa solicitação e leitura de configurações de extensões. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "extensionConfig": true, | |
| // - **`experimental.extensionRegistry`** (boolean) | |
| // - **Descrição:** Ativa UI de exploração do registro de extensões. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "extensionRegistry": false, | |
| // - **`experimental.extensionReloading`** (boolean) | |
| // - **Descrição:** Ativa recarga de extensões durante a sessão da CLI. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "extensionReloading": false, | |
| // - **`experimental.jitContext`** (boolean) | |
| // - **Descrição:** Ativa carregamento de contexto Just-In-Time. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "jitContext": false, | |
| // - **`experimental.useOSC52Paste`** (boolean) | |
| // - **Descrição:** Usa OSC52 para colar (útil em sessões remotas). | |
| // - **Default:** `false` | |
| "useOSC52Paste": false, | |
| // - **`experimental.useOSC52Copy`** (boolean) | |
| // - **Descrição:** Usa OSC52 para copiar (útil em sessões remotas). | |
| // - **Default:** `false` | |
| "useOSC52Copy": false, | |
| // - **`experimental.plan`** (boolean) | |
| // - **Descrição:** Ativa funcionalidades de planejamento. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "plan": false, | |
| // - **`experimental.taskTracker`** (boolean) | |
| // - **Descrição:** Ativa ferramentas de rastreamento de tarefas. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "taskTracker": false, | |
| // - **`experimental.modelSteering`** (boolean) | |
| // - **Descrição:** Ativa orientação do modelo por dicas do usuário. | |
| // - **Default:** `false` | |
| "modelSteering": false, | |
| // - **`experimental.directWebFetch`** (boolean) | |
| // - **Descrição:** Ativa web fetch direto sem sumarização por LLM. | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "directWebFetch": false, | |
| "gemmaModelRouter": { | |
| // - **`experimental.gemmaModelRouter.enabled`** (boolean) | |
| // - **Descrição:** Ativa o roteador de modelo Gemma (experimental). | |
| // - **Default:** `false` | |
| // - **Requer reinício:** Sim | |
| "enabled": false, | |
| "classifier": { | |
| // - **`experimental.gemmaModelRouter.classifier.host`** (string) | |
| // - **Descrição:** Host do classificador. | |
| // - **Default:** `"http://localhost:9379"` | |
| // - **Requer reinício:** Sim | |
| "host": "http://localhost:9379", | |
| // - **`experimental.gemmaModelRouter.classifier.model`** (string) | |
| // - **Descrição:** Modelo usado pelo classificador. | |
| // - **Default:** `"gemma3-1b-gpu-custom"` | |
| // - **Requer reinício:** Sim | |
| "model": "gemma3-1b-gpu-custom" | |
| } | |
| } | |
| }, | |
| // #### `extensions` | |
| "extensions": { | |
| // - **`extensions.disabled`** (array) | |
| // - **Descrição:** Lista de extensões desabilitadas. | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "disabled": [], | |
| // - **`extensions.workspacesWithMigrationNudge`** (array) | |
| // - **Descrição:** Workspaces onde o aviso de migração já foi exibido. | |
| // - **Default:** `[]` | |
| "workspacesWithMigrationNudge": [] | |
| }, | |
| // #### `skills` | |
| "skills": { | |
| // - **`skills.enabled`** (boolean) | |
| // - **Descrição:** Ativa Agent Skills. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enabled": true, | |
| // - **`skills.disabled`** (array) | |
| // - **Descrição:** Lista de skills desabilitadas. | |
| // - **Default:** `[]` | |
| // - **Requer reinício:** Sim | |
| "disabled": [] | |
| }, | |
| // #### `hooksConfig` | |
| "hooksConfig": { | |
| // - **`hooksConfig.enabled`** (boolean) | |
| // - **Descrição:** Chave canônica para habilitar/desabilitar o sistema de hooks. | |
| // - **Default:** `true` | |
| // - **Requer reinício:** Sim | |
| "enabled": true, | |
| // - **`hooksConfig.disabled`** (array) | |
| // - **Descrição:** Lista de hooks (comandos) desabilitados. | |
| // - **Default:** `[]` | |
| "disabled": [], | |
| // - **`hooksConfig.notifications`** (boolean) | |
| // - **Descrição:** Mostra indicadores visuais durante execução de hooks. | |
| // - **Default:** `true` | |
| "notifications": true | |
| }, | |
| // #### `hooks` | |
| "hooks": { | |
| // - **`hooks.BeforeTool`** (array) | |
| // - **Descrição:** Hooks executados antes de ferramentas. | |
| // - **Default:** `[]` | |
| "BeforeTool": [], | |
| // - **`hooks.AfterTool`** (array) | |
| // - **Descrição:** Hooks executados após ferramentas. | |
| // - **Default:** `[]` | |
| "AfterTool": [], | |
| // - **`hooks.BeforeAgent`** (array) | |
| // - **Descrição:** Hooks executados antes do loop do agente. | |
| // - **Default:** `[]` | |
| "BeforeAgent": [], | |
| // - **`hooks.AfterAgent`** (array) | |
| // - **Descrição:** Hooks executados após o loop do agente. | |
| // - **Default:** `[]` | |
| "AfterAgent": [], | |
| // - **`hooks.Notification`** (array) | |
| // - **Descrição:** Hooks executados em eventos de notificação. | |
| // - **Default:** `[]` | |
| "Notification": [], | |
| // - **`hooks.SessionStart`** (array) | |
| // - **Descrição:** Hooks executados no início de sessão. | |
| // - **Default:** `[]` | |
| "SessionStart": [], | |
| // - **`hooks.SessionEnd`** (array) | |
| // - **Descrição:** Hooks executados no fim de sessão. | |
| // - **Default:** `[]` | |
| "SessionEnd": [], | |
| // - **`hooks.PreCompress`** (array) | |
| // - **Descrição:** Hooks executados antes da compressão do histórico. | |
| // - **Default:** `[]` | |
| "PreCompress": [], | |
| // - **`hooks.BeforeModel`** (array) | |
| // - **Descrição:** Hooks executados antes de requisições ao modelo. | |
| // - **Default:** `[]` | |
| "BeforeModel": [], | |
| // - **`hooks.AfterModel`** (array) | |
| // - **Descrição:** Hooks executados após respostas do modelo. | |
| // - **Default:** `[]` | |
| "AfterModel": [], | |
| // - **`hooks.BeforeToolSelection`** (array) | |
| // - **Descrição:** Hooks executados antes da seleção de ferramenta. | |
| // - **Default:** `[]` | |
| "BeforeToolSelection": [] | |
| }, | |
| // #### `admin` | |
| "admin": { | |
| // - **`admin.secureModeEnabled`** (boolean) | |
| // - **Descrição:** Se `true`, impede uso de modo yolo. | |
| // - **Default:** `false` | |
| "secureModeEnabled": false, | |
| // - **`admin.extensions.enabled`** (boolean) | |
| // - **Descrição:** Se `false`, impede instalação/uso de extensões. | |
| // - **Default:** `true` | |
| "extensions": { | |
| "enabled": true | |
| }, | |
| // - **`admin.mcp.enabled`** (boolean) | |
| // - **Descrição:** Se `false`, impede uso de servidores MCP. | |
| // - **Default:** `true` | |
| // - **`admin.mcp.config`** (object) | |
| // - **Descrição:** Configuração de servidores MCP definida por administrador. | |
| // - **Default:** `{}` | |
| "mcp": { | |
| "enabled": true, | |
| "config": {} | |
| }, | |
| // - **`admin.skills.enabled`** (boolean) | |
| // - **Descrição:** Se `false`, impede uso de skills de agente. | |
| // - **Default:** `true` | |
| "skills": { | |
| "enabled": true | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment