Skip to main content

O que são plugins?

Um plugin agrupa skills — e, opcionalmente, regras, hooks, servidores MCP e subagentes — para poder ser instalado e reutilizado como uma unidade. Consulte a referência de plugins para conhecer o formato de arquivo e o que um plugin pode incluir. Os plugins são a camada de personalização compartilhada entre sessões em nuvem do Devin, o Devin CLI e o Devin Desktop: instale um plugin uma vez e suas skills ficam disponíveis como comandos /<plugin>:<skill> onde quer que você use o Devin. Os plugins podem ser instalados em três níveis: Esta página aborda o lado do web app: a página Customize, a instalação em cada escopo, indexação, MCPs e os manifestos gerenciados por trás de tudo isso.

A página Customize

Os plugins ficam na página Customize, acessada pelo item Customize na sidebar (ela substituiu as antigas páginas Settings → Plugins, Settings → Marketplace e Settings → Connections → MCP servers; os links antigos redirecionam). Ela tem cinco abas:
  • Plugins — tudo o que está instalado, agrupado por scope, além de Browse marketplace para instalar mais.
  • Skills — as skills que o Devin carrega sob demanda, vindas dos plugins instalados e dos seus repositórios.
  • MCPs — os servidores MCP que dão ao Devin tools além das nativas. Veja MCPs abaixo.
  • Hooks — comandos executados automaticamente em determinados momentos de uma sessão.
  • Rules — orientações permanentes que o Devin segue em todas as sessões.
Use as abas de scope para escolher Personal, Organization ou Enterprise, conforme o seu nível de acesso. Cada scope mostra o conteúdo efetivo: o que realmente se aplica depois da governança. Para alterar conteúdo em nível de repositório (skills, rules e plugins declarados no .devin/config.json de um repo), edite os arquivos do repositório. Quem pode alterar o quê:
  • Personal — qualquer pessoa, no próprio scope.
  • Organization — membros com acesso às configurações da organização.
  • Enterprise — membros com acesso às configurações do enterprise.
Clique em qualquer plugin para abrir seu painel de detalhes: suas skills, MCPs, hooks, rules e subagentes; o ref acompanhado ou o SHA fixado e o caminho; em quais scopes ele está instalado e o que o exige; suas permissões; e — caso você tenha as permissões necessárias — ações para conectar seus MCPs, alterar o que ele exige, desinstalá-lo ou (no caso de um plugin importado) excluí-lo.

Instalando plugins

Pelo marketplace

Clique em Browse marketplace na aba Plugins. O marketplace é uma lista única que combina o marketplace oficial do Devin (CognitionAI/devin-marketplace, em geral um plugin por integração, como Linear, Notion, Datadog ou Snowflake) com os plugins que sua organização ou enterprise tenha adicionado. Cada card oferece um menu de instalação com todos os scopes nos quais você pode escrever e mostra onde o plugin já está instalado (“Installed for me”, “Installed at organization”, …). Antes da primeira instalação de um plugin, o Devin exibe um aviso de segurança: a instalação permite que o Devin execute as rules, hooks e skills do plugin (e, no caso de plugins com servidores MCP, acesse dados externos por meio deles); portanto, só prossiga se você confiar no plugin e tiver verificado sua origem. Os plugins do marketplace oficial são identificados como tal. Depois da instalação, um toast confirma o scope e — se o plugin incluir um servidor MCP que exija credentials ou autorização — oferece a opção Connect MCP para concluir a configuração na hora. Os admins do Enterprise podem ocultar o marketplace oficial para todas as orgs (opção Show official marketplace plugins) e controlar quais servidores MCP do marketplace as organizações veem em Marketplace availability.

De um repositório, de um .zip ou do editor

O menu Add plugin na aba Plugins oferece suporte a três outras origens, cada uma instalável em qualquer escopo em que você tenha permissão de escrita: Plugins importados e criados podem ser editados depois na respectiva folha de detalhes. Excluir um deles remove seus arquivos permanentemente — não existe nenhuma outra cópia. Não coloque segredos nos arquivos do plugin; use referências a segredos.

Pela CLI

devin plugins install <source> adiciona o plugin ao seu escopo personal por padrão, de modo que ele acompanha você nas sessões em nuvem e nos seus outros dispositivos. Use --local para instalar apenas na máquina atual. Consulte os comandos da CLI.

Deixando o Devin fazer isso

Em uma sessão em nuvem, você pode pedir ao Devin para salvar algo como uma skill, rule, hook ou MCP server pessoal, ou para instalar um plugin para você. O Devin propõe a alteração em um card que você aprova ou nega; as alterações aprovadas vão para o seu escopo pessoal e valem para as sessões futuras.

Como os plugins chegam às sessões (sincronização nuvem ↔ local)

Todo escopo é sustentado por um managed manifest armazenado no Devin Cloud (veja O manifest). Instalar em qualquer lugar grava esse manifest, e todas as interfaces o leem:
  • As cloud sessions buscam os manifests de enterprise, de organização e pessoal ao iniciar e instalam os plugins resultantes na machine da sessão, junto com os plugins declarados pelos repositórios que elas clonam.
  • O Devin CLI e o Devin Desktop buscam esses mesmos manifests quando você está autenticado, então um plugin instalado na web aparece no seu laptop, e o devin plugins install executado no laptop aparece na sua próxima cloud session. Plugins de repos privados são buscados com as suas credentials locais do git, ou seja, você mesmo precisa ter acesso ao repo. Um enterprise pode desativar completamente os plugins do CLI (Devin CLI plugins nas enterprise settings).
  • Usuários solo (sem organização) têm apenas um escopo pessoal.
Sessões em execução mantêm o que carregaram no início; as changes valem a partir da próxima sessão. A instalação de plugins e a Authentication de MCP são etapas separadas. Conecte MCPs em nuvem em Customize → MCPs; para o server OAuth de um plugin em execução no CLI, use devin mcp login. Sincronizar um plugin não significa que todos os dispositivos compartilham as mesmas credentials.

Indexing

O Devin mantém um índice dos plugins de cada scope: ele clona a origem de cada plugin, lê seu manifest e seu conteúdo, resolve dependências e aplica a governança. A página Customize mostra o resultado do índice — os plugins, suas skills, MCPs, hooks e rules, além de tudo que foi bloqueado por policy — e a linha de status informa quando cada scope foi indexado pela última vez.
  • O que aciona a indexação — instalar, remover ou editar um plugin enfileira uma reindexação automaticamente. Use Plugin settings → Reindex plugins para atualizar o índice depois de enviar changes ao repositório de origem de um plugin.
  • Durante a execução — um run pode estar scheduled, queued, starting ou indexing. Reindexações frequentes são espaçadas, e o salvamento de bundles importados pode demorar um pouco para entrar na fila. Os MCPs dos plugins podem ser conectados assim que a configuração deles for indexada.
  • Resultados — abra Plugin settings (o menu de engrenagem) para ver o horário da última indexação e eventuais problemas. Uma atualização failed pode manter visível o último resultado bem-sucedido; a presença de um plugin na list não comprova que a atualização mais recente teve sucesso.
  • Acesso ao repositório — o conteúdo de plugin indexado a partir de um repositório só é exibido em uma organization que tenha acesso a esse repositório por meio de sua integration de Git. Caso não tenha, o conteúdo do scope é retido com um aviso Plugin repos unauthorized; conceda o repositório em Settings → Repositories. A governança de um scope retido (seus forbids) continua valendo.
  • Network policy — a indexing é executada em uma machine que herda a session network policy da sua organization, portanto as origens dos plugins precisam estar acessíveis dentro dela.
As sessões em si não esperam pelo índice: elas buscam e instalam os plugins diretamente na inicialização.

Resolver problemas de indexação

  1. Abra Customize → Plugins na organização em que você precisa do plugin. Selecione o escopo Personal, Organization ou Enterprise e depois abra Plugin settings para ler o problema e o plugin ou escopo que ele indica.
  2. Se uma execução estiver agendada, na fila, iniciando ou indexando, deixe-a terminar. Se o plugin nunca foi indexado, ou se sua origem mudou desde a última indexação, escolha Reindex plugins.
  3. Para uma execução que falhou ou conteúdo ausente, use a correção correspondente abaixo. Salve ou faça o commit da correção, depois escolha Reindex plugins e verifique o resultado novamente. Alterações em um manifest compartilhado ou nas permissões de repositório podem exigir um admin.
Depois que a indexação for concluída com sucesso, abra os detalhes do plugin e confirme se as skills, rules, hooks ou MCPs esperados aparecem. Se um MCP ainda precisar de autorização, conclua a conexão dele. Para usar o conteúdo alterado do plugin, inicie uma nova sessão. Para uma instalação obsoleta da CLI, use devin plugins update; reindexar no Customize atualiza a listagem na web. Uma instalação feita com --local permanece apenas naquele dispositivo. Se a indexação continuar falhando, ou se uma execução permanecer na fila ou indexando sem progredir, entre em contato com o suporte. Inclua a organização e o escopo, a origem e a ref do plugin, o horário da última indexação, o erro exato e uma captura de tela do problema.

MCPs

Os servidores MCP são gerenciados na aba MCPs do Customize, nos mesmos três escopos. A aba tem dois tipos de entradas:
  • From plugins — servidores MCP declarados por um plugin instalado. O plugin é o dono das configurações de conexão (URL, transporte, credenciais necessárias), exibidas como somente leitura; mesmo assim, você pode ativá-lo, desativá-lo, conectá-lo ou desinstalá-lo. A maioria dos plugins oficiais do marketplace consiste em um único servidor MCP e, opcionalmente, skills.
  • Standalone — servidores MCP instalados de forma independente: servidores personalizados (Add custom MCP) e servidores instalados pelo MCP marketplace legado, que continua acessível pela aba.
Conexão. Um MCP de plugin que precisa de uma chave de API abre um painel Connect com seus segredos prontos para preenchimento; um que usa OAuth abre o fluxo de autorização do provider; e um que não precisa de nenhum dos dois já fica pronto assim que o plugin é instalado. Conecte pelo toast de instalação, pelo painel de detalhes do plugin ou pela linha do MCP. Conexões compartilhadas vs. por membro. Para um MCP com OAuth instalado no escopo de organização ou de enterprise, a configuração Access do servidor determina como a conexão é compartilhada: o acesso Organization é uma única conexão compartilhada por todos no escopo — use uma service account, não um login pessoal — enquanto o acesso Personal faz com que cada membro autorize a própria conta. Para servidores sem acesso por membro, instale o plugin (ou o MCP) no escopo pessoal quando cada membro precisar das próprias credenciais. Se os membros estiverem conectando o mesmo MCP do marketplace um por um, um admin pode instalá-lo uma única vez para a organização, e os plugins que o declararem usarão essa conexão. MCPs de enterprise. Os admins do Enterprise configuram um servidor uma única vez — incluindo um pacote de certificados de CA privada para o tráfego MCP roteado pela rede do cliente — e escolhem quais organizações o recebem. A instalação do mesmo servidor feita por uma organização faz override da instalação do enterprise. Para tipos de transporte, campos de servidores personalizados e observações de configuração por servidor, veja servidores MCP.

O manifest

Por trás de cada escopo há um managed manifest — um documento JSON com três listas. A UI de personalização o edita para você; Configurações do plugin (engrenagem) → Editar manifest, na aba Plugins, o expõe diretamente:
  • requiredPlugins — instalados para todos dentro do escopo (recursivamente, incluindo todos os plugins dos quais dependem). Instalar pela UI adiciona uma entrada aqui.
  • optionalPlugins — uma lista de permissões que autoriza plugins sem instalá-los automaticamente; usada para abrir exceções para uma entrada proibida.
  • forbiddenPlugins — uma lista de bloqueio de identidades de plugin ou padrões glob.
O manifest é armazenado na íntegra; o agente valida a origem completa no momento da instalação. Consulte a referência de plugins para ver as formas de origem que cada entrada pode assumir e a semântica completa de dependências e governança.

Governança

As três listas são a linguagem de política em todos os níveis — enterprise, organização, repositório (.devin/config.json) e pessoal — e o nível de maior autoridade prevalece: uma enterprise pode exigir um plugin que nenhuma organização, repo ou usuário consegue remover, e proibir um que nenhum nível inferior consegue reativar. Um plugin bloqueado por política aparece em Installed but blocked na aba Plugins, e suas skills são ignoradas no início da sessão, com um aviso indicando quem o proibiu. Para restringir uma enterprise a um conjunto aprovado, proíba "*" e liste os plugins aprovados (e suas dependências) em requiredPlugins/optionalPlugins; consulte Configure seu ecossistema de plugins para ver um exemplo prático e herança e níveis para as regras completas.

Escopo e herança

  • Contas standalone têm um manifesto de conta (identificado como Organization em Customize), além do manifesto pessoal de cada membro.
  • Enterprises têm um manifesto de Enterprise herdado por todas as organizações filhas, um manifesto por organização na camada abaixo dele e, abaixo desses, os manifestos pessoais.

Como as atualizações são distribuídas

  • Alterações no manifest (instalações, remoções, edições no manifest) passam a valer na próxima sessão, em todas as interfaces.
  • Alterações no conteúdo do plugin — ao fazer merge na branch que o plugin acompanha, elas chegam automaticamente às novas sessões (as sessões em nuvem fazem o fetch no início; a CLI atualiza com devin plugins update). O Customize mostra o novo conteúdo após a próxima execução de index — clique em Reindex plugins para trazê-lo imediatamente.
  • As sessões em execução mantêm o que carregaram no início — as atualizações nunca alteram uma sessão no meio da execução.

Fixando um plugin

Um plugin escrito como "owner/repo" (ou com um ref) acompanha uma branch ou tag, ou seja, o mesmo manifest pode resolver para conteúdos diferentes ao longo do tempo. O Personalizar sinaliza essas entradas como Origem do plugin não fixada. Para travar um plugin em um conteúdo exato, use a forma de objeto com um sha:
Um plugin fixado nunca muda até que você edite o SHA. ref (uma branch ou tag) e sha são mutuamente exclusivos — uma entrada não pode definir os dois. Os mesmos campos funcionam com as formas de origem url e git-subdir. Plugins importados ficam sempre fixados no conteúdo que você importou. Se dois escopos fixarem o mesmo plugin em SHAs diferentes, o index reporta um conflito de fixação.

Variáveis de ambiente de plugins

Adicione env a uma entrada de requiredPlugins ou optionalPlugins para configurar hooks de comando em sessões em nuvem. Use Segredos do Devin para credenciais; outros valores podem ser strings literais.
Inicie uma nova sessão em nuvem para aplicar as alterações. As dependências precisam de uma entrada própria no manifest e de env.

Referências aceitas

O segredo deve estar disponível na sessão. Para um segredo de chave-valor existente, acrescente /ENTRY; por exemplo, secret:org:AWS_CREDS/ACCESS_KEY_ID. As configurações de MCP do plugin referenciam segredos como ${NAME}; os membros fornecem os valores na ficha de detalhes do server, e qualquer valor literal escrito na configuração é removido.

Saiba mais