Esta documentação é destinada às implantações federais do Devin. Voltar para a Documentação do Devin
Onde a licença fica armazenada
O agente incluído no Desktop e a CLI independente leem o mesmo arquivo. Instale-o antes da primeira inicialização; consulte Instalação → Etapa 4. Usuários do Desktop também podem instalar uma licença nas configurações do Devin: o agente incluído valida o arquivo offline, não sobrescreve um arquivo pertencente a outro usuário e registra um evento de auditoria
license_installed. No Windows, quando o arquivo de licença pertence a um administrador, um usuário padrão não consegue substituí-lo pelo Desktop (a instalação é recusada com LIC001), mas um administrador consegue. Restrinja o acesso a C:\ProgramData\Devin\ antes de colocar o arquivo.
Emitir uma licença pelo portal
- Faça login no portal e abra a página Team. A seção Air-gapped licenses mostra quantas licenças estão em uso, o período de direito de uso e a duração padrão das licenças.
- Clique em Generate license.
- Informe um rótulo (por exemplo, o nome do host ou o nome do usuário), o e-mail do responsável e a duração em dias. Por padrão, a duração corresponde ao valor padrão do seu direito de uso e é limitada tanto pelo máximo permitido quanto pelo fim do período de direito de uso. A etapa de revisão mostra a data de expiração prevista.
- Confirme. O portal exibe License generated e oferece a opção Download license file. O arquivo baixado é o
.devin-onprem-licenseassinado. Transfira-o para o host air-gapped usando o processo de mídia aprovado pela sua organização.
O que o arquivo contém
O arquivo é um único JSON Web Token em formato compacto (header.payload.signature), assinado com EdDSA (Ed25519). O kid do cabeçalho identifica a chave pública usada na assinatura. Como o produto já inclui a chave pública de cada ambiente, nada é buscado no momento da validação. Claims:
A validação confere a assinatura usando a chave incorporada selecionada pelo
kid, verifica a janela nbf/exp com uma franquia de 24 horas para diferença de relógio em cada direção e checa a claim product.
Inspecionar uma licença
Verifique o ID da chave
Decodifique o cabeçalho do JWT e leia o campokid. Este comando de uma linha funciona tanto no Linux quanto no macOS: ele converte base64url em base64 e adiciona o preenchimento, já que o base64 BSD incluído no macOS trunca silenciosamente entradas sem preenchimento.
Um
kid diferente ou um resultado vazio indica que o arquivo não é uma licença emitida para este produto ou que foi corrompido durante a transferência.
Verifique a licença, a conta e a data de expiração
Odevin auth status funciona mesmo quando a licença está ausente ou é inválida, então você pode usá-lo para diagnosticar o problema:
Identity é a identidade local de atribuição de autoria (nome de usuário do sistema operacional mais git config user.email); ela consta no registro de auditoria e não depende da licença. Se o arquivo não puder ser validado, a última linha passa a ser License: INVALID — LIC00X: <reason>.
A verificação license em devin airgap doctor informa a mesma licença, conta e data de expiração, e muda para warn quando faltam 30 dias ou menos para a expiração.
Comportamento na inicialização e na revalidação
-
A cada inicialização, a CLI valida a licença e imprime uma linha no stderr:
Se a licença expirar em até 30 dias, uma linha
Warning: license expires in N day(s)é exibida logo em seguida. - Processos de longa duração (o agente incluído no pacote do Desktop e o REPL da CLI) verificam o arquivo novamente no máximo uma vez por hora, antes de iniciar uma nova sessão ou um novo turno. O trabalho em andamento nunca é interrompido.
-
Uma licença expirada há mais de 24 horas bloqueia novas sessões e novos turnos. No Desktop, o painel de chat exibe o erro ACP
-32019 license_invalid; a causa específica (LIC00X) pode ser consultada em View → Output → Devin ACP. - As falhas não ficam em cache: um arquivo renovado passa a valer no próximo turno, sem necessidade de reiniciar.
-
Alguns comandos podem ser executados sem uma licença válida, para que você consiga reparar um host:
devin auth status,devin airgap doctor,devin doctor,devin diagnostics,devin models validateedevin version.
Renovar ou substituir uma licença
- Gere uma nova licença no portal para o mesmo titular da licença (veja acima). Se a licença já estiver ocupada, peça à sua equipe de suporte que revogue a licença antiga primeiro.
-
Substitua o arquivo existente em
/etc/devin/license.devin-onprem-license(ou no caminho definido emDEVIN_LICENSE_FILE) pelo novo arquivo. Mantenha o arquivo como propriedade da conta que executa o Devin ou do root, com permissão de leitura para essa conta. No Windows, o caminho padrão éC:\ProgramData\Devin\license.devin-onprem-license; substitua o arquivo em uma sessão com privilégios elevados. -
Confirme:
Códigos de erro
Todas as falhas de licença são exibidas comoLIC00X: <message>, seguidas do caminho verificado e de como alterá-lo.
O catálogo completo de todos os namespaces está em Códigos de erro.

