Skip to main content

Visão geral

system.json é um arquivo de política opcional, aplicável a toda a máquina, que administradores distribuem para dispositivos gerenciados (normalmente via MDM). Ele fica em um diretório do sistema no qual somente um administrador pode gravar; portanto, diferentemente da configuração do usuário em ~/.config/devin/config.json, as configurações nele definidas não podem ser alteradas nem removidas pelo usuário. Use-o para:
  • Fixar a autenticação no host e/ou na conta Devin da sua Enterprise, para que devin auth login ignore o menu de métodos de login e rejeite qualquer conta que não pertença à sua organização.
  • Forçar o uso de um proxy HTTP de saída pela CLI e seu atualizador. A configuração da Enterprise tem precedência sobre a configuração do usuário, e usuários que também tenham uma seção proxy na própria configuração deverão removê-la antes de iniciar a CLI — consulte proxy antes de implementá-lo.
O arquivo é opcional e aditivo: quando não está presente, o Devin CLI se comporta exatamente como em um dispositivo não gerenciado.

Localização do arquivo

Esses são os mesmos diretórios de todo o sistema, graváveis por administradores, que o Devin Desktop usa para regras e hooks no nível do sistema. Implante o arquivo com propriedade de root/Administrador e permissões somente leitura para usuários comuns — a CLI o lê onde quer que o encontre, portanto, um local gravável por usuários compromete o objetivo da política.

Exemplo

system.json é analisado como JSON estrito — comentários e vírgulas finais não são aceitos aqui, diferentemente do config.json do usuário, que é JSON com comentários. O comentário acima é exibido apenas para indicar o caminho do arquivo.

Referência de opções

Cada campo é independente — defina apenas os que precisar. Campos desconhecidos são ignorados, portanto, uma política criada para uma CLI mais recente ainda aplica as configurações que reconhece em uma versão mais antiga.

enterprise_host

Quando definido, devin auth login:
  1. Ignora o menu de método de login e o prompt de subdomínio e realiza a autenticação diretamente no host configurado.
  2. Rejeita qualquer login cuja conta resultante pertença a um host diferente (ou não pertença a nenhuma organização Devin Enterprise), exibindo uma mensagem que direciona o usuário ao host correto.
  3. Recusa completamente o caminho legado de login legado do Windsurf.
O valor é comparado sem diferenciar maiúsculas de minúsculas e ignora o esquema; portanto, acme.devinenterprise.com, ACME.DevinEnterprise.com e https://acme.devinenterprise.com/ são equivalentes. Um esquema http:// explícito é preservado ao realizar o login (útil apenas para testes); caso contrário, https:// é usado.

account_id

Quando definido, a conta autenticada deve corresponder a este identificador de conta, mesmo que o host já corresponda — use-o para fixar um tenant específico em um host compartilhado. Um login associado a outra conta, ou a nenhuma conta, será rejeitado após a verificação da conta. Entre em contato com sua equipe de conta da Cognition se não souber qual identificador de conta usar. Definir account_id também bloqueia o fluxo de login legado do Windsurf, pois uma conta do Windsurf não pode atender a uma política de conta do Devin.

proxy

Configura como a CLI roteia seu próprio tráfego HTTP/HTTPS de saída (chamadas à API, atualizações, servidores MCP). Usa a mesma estrutura da seção proxy do arquivo de configuração do usuário: O binário devin-updater lê a mesma configuração, portanto as atualizações em segundo plano usam o mesmo proxy da CLI.
O proxy Enterprise tem precedência sobre a configuração do usuário, e é um erro ambos os arquivos configurarem um proxy. Se um usuário também tiver uma seção proxy em seu config.json, a CLI é encerrada na inicialização e solicita sua remoção, em vez de ignorar silenciosamente essa configuração. Oriente os usuários a remover qualquer seção proxy local antes de implementar a política.

Comportamento e modos de falha

Um arquivo de política corrompido ou parcialmente compreendido nunca desativa a CLI — ele passa a não aplicar regras —, enquanto uma política válida é sempre aplicada: A aplicação de login ocorre durante devin auth login. As credenciais já armazenadas em um dispositivo que fez login antes da implantação da política não são revalidadas. Portanto, implante system.json antes de distribuir a CLI — ou peça aos usuários afetados que executem devin auth logout e façam login novamente. O caminho para system.json não pode ser redirecionado por uma variável de ambiente nas builds stable, next ou Enterprise. Portanto, os usuários não podem apontar a CLI para uma política própria.

Como verificar a política

Em um dispositivo gerenciado:
Com enterprise_host definido, o menu de métodos de login não deve aparecer, e a URL de login exibida deve usar o host configurado. Em seguida, confirme a sessão resultante:
Um login com uma conta fora da política falha e exibe uma mensagem explícita informando o host ou a conta exigidos pela sua organização. O system.json abrange políticas no nível do dispositivo que devem estar em vigor antes ou durante o login. A maioria dos outros controles aplicáveis a toda a organização — modelos, servidores MCP e registros, permissões do terminal, imposição do sandbox e pesquisa na web — é gerenciada no servidor em Configurações da equipe e aplicada automaticamente quando um usuário faz login.

Leitura adicional