Saltar para o conteúdo principal
Plugins e marketplace

Plugins para agentes de programação com IA

Os plugins para agentes de programação com IA alargam o Volath com uma página sua, widgets no quadro, automatizações ou integrações, sem alterar o Volath. Um administrador instala o plugin a partir de um zip, lê em palavras simples o que ele pede e aceita antes de ele correr.

O que é um plugin

O que é um plugin para agentes de programação com IA

Um plugin é um zip com um plugin.json na raiz e, opcionalmente, um ficheiro Node e uma página web. Há dois estilos.

  • Os plugins declarativos não têm código

    As suas ações chamam uma API HTTP ou uma função do Volath quando acontece um evento. Escolha este estilo quando chegar: não há código de plugin em que confiar.

  • Os plugins de código usam um ficheiro Node

    Um plugin de código é um ficheiro Node CommonJS que exporta hooks e fala com o Volath através de um único objeto ctx. Pode também trazer uma página web própria.

  • Um administrador instala-o a partir de um zip

    Instalar e gerir plugins é tarefa de um administrador, em Definições, Plugins. Um plugin novo fica desligado até as suas permissões serem aceites.

O que os plugins fazem

O que os plugins do Volath podem fazer

Reagir ao que acontece, agir sobre o seu trabalho, mostrar páginas dentro da aplicação e falar com sistemas externos.

  • Reagir a eventos, agendamentos e sistemas externos

    Cerca de 28 eventos com nome, como ticket.status_changed, pr.opened, ci.failed e ticket.created, a alteração de qualquer linha da base de dados, um agendamento de pelo menos um minuto e chamadas de sistemas externos.

  • Agir sobre tickets, projetos, workflows e mais

    Tickets, projetos, workflows, developers, utilizadores, agentes, skills, squads, documentos, modelos de ticket, vistas do quadro, campos personalizados, webhooks e notificações. Analisar, desenvolver, pull request, testes e integração continuam a seguir os portões de aprovação, os orçamentos e os passos do workflow.

  • Acrescentar páginas e widgets em seis locais

    Uma página própria e até 20 espaços na barra superior, no menu, no quadro, no separador do ticket, no painel do ticket e no separador do projeto. As páginas e os widgets seguem o tema claro e escuro da aplicação.

  • Receber e enviar webhooks

    Um plugin recebe os seus próprios endereços de webhook, que outros sistemas podem chamar, com um segredo gerado pelo Volath. Também pode criar webhooks que enviam eventos do Volath para outros sítios.

  • Acrescentar aos prompts da IA

    Texto acrescentado no fim dos prompts de análise, desenvolvimento, revisão, descrição do pull request, conflito de integração, teste em direto e notas de versão, num bloco marcado como acrescentado pelo plugin. Nunca substitui o prompt base.

  • Fornecer workflows ao catálogo

    Um plugin pode publicar um workflow no catálogo de workflows ou aplicar um a um projeto. As entradas do catálogo vindas de plugins ficam marcadas como sendo do plugin.

  • Definições, uma vez ou por projeto

    Campos de texto, palavra-passe, número, interruptor e seleção, validados ao guardar. A palavra-passe é guardada cifrada e nunca é exportada. Os valores podem ser definidos para todos os projetos ou para um, e exportados e importados como JSON sem segredos.

Seguro por desenho

Plugins isolados que aprova antes de correrem

Cada chamada de um plugin passa pelo Volath, que a verifica contra o que o administrador aceitou.

  • O código corre num processo separado

    O código do plugin corre no seu próprio processo Node com o modelo de permissões do Node: sem processos filhos, workers, módulos nativos nem acesso a ficheiros fora da pasta do plugin, e com 256 MB de memória. Nada do ambiente do Volath lhe chega, por isso tokens e chaves ficam de fora. Isto exige Node 22 ou mais recente; sem ele o código é recusado, a menos que desligue o isolamento, e a aplicação avisa-o.

  • Permissões em palavras simples, aceites por um administrador

    O ecrã de instalação lista em palavras simples o que o plugin pede. Um plugin fica desligado até um administrador o aceitar, e uma versão nova que peça mais fica desligada até ser aceite outra vez.

  • Limites ao que um plugin pode fazer

    Um plugin não recebe os eventos causados pelas suas próprias alterações, está limitado a 120 alterações por minuto, e uma chamada expira ao fim de 60 segundos. Um plugin que falhe cinco vezes em dez minutos é desligado.

  • O que um plugin nunca pode fazer

    Apagar tickets, projetos ou campos personalizados, ler as definições de projeto ou de ticket porque guardam credenciais, alterar o email ou a palavra-passe de alguém, ou criar contas de acesso. O email de uma pessoa nunca chega a um plugin.

  • Tudo o que um plugin cria fica identificado

    Tickets, projetos e o resto mostram um selo "from plugin X". Desinstalar um plugin apaga o plugin, as suas definições e os seus dados guardados, e o que ele criou fica.

  • Avisos na instalação, nunca um bloqueio

    O ecrã de instalação avisa quando um plugin parece reimplementar uma funcionalidade de um plano pago, ou pede acesso admin ou um anfitrião de rede com carácter universal.

  • Um limite honesto: confie em quem escreve o código

    O Node não consegue fechar a rede a um processo, por isso o código de um plugin podia abrir uma ligação sem passar pelo Volath. Instale código de plugins só de pessoas em quem confia. Os plugins declarativos não têm código.

Manter o controlo

Mantenha o controlo de cada plugin que corre

Cada plugin tem uma origem, uma vista de saúde, registos e um caminho de atualização que pode desfazer.

  • Saiba de onde veio um plugin

    Cada plugin indica se veio do marketplace ou de um zip, que não é revisto pelo Volath.

  • Saúde num relance

    Reinícios, últimas falhas, chamadas, chamadas falhadas, tempo médio e mais lento, memória, CPU e tempo ativo.

  • Registos que pode ler e descarregar

    O que o plugin escreveu e as chamadas que fez, com filtros, pesquisa, descarregamento e limpeza.

  • Atualizar, comparar permissões, voltar atrás

    Um plugin do marketplace mostra uma atualização. A janela compara as permissões: uma versão que peça mais fica desligada até ser aceite, e as definições mantêm-se. Voltar atrás restaura a versão anterior a partir do zip guardado.

  • Política de só marketplace e de atualização automática

    Os administradores podem recusar instalações por zip e deixar os plugins do marketplace atualizarem-se a cada 24 horas apenas quando a versão nova não pede mais nada.

Marketplace de plugins

Como funciona o marketplace de plugins

O marketplace é uma lista de plugins oficiais que pode instalar a partir da aplicação, em Definições, Plugins, Marketplace.

  • Cartões que dizem o que o plugin pede

    Cada cartão mostra logótipo, nome, versão, autor e descrição, uma pesquisa, e o que o plugin pede em palavras simples, com avisos. Instalar segue para o mesmo ecrã de aprovação de um zip.

  • Cada instalação é verificada

    Um descarregamento tem de trazer um sha256 que coincida com a lista, e o pacote tem de ter o id da entrada, ou a instalação é recusada.

  • A lista vem de uma release do GitHub

    O Volath lê a última release do GitHub de volath/marketplace e guarda-a em cache durante 10 minutos. Se não for possível aceder, mostra a última lista com um aviso.

  • Nunca precisa do marketplace

    Qualquer plugin é um zip que um administrador pode instalar em Definições, Plugins. Um plugin entra no marketplace por pull request; precisa de logótipo e de código legível, e não pode reimplementar uma funcionalidade de um plano pago.

Plugins oficiais

Seis plugins oficiais para instalar ou usar como base

Instale-os a partir do marketplace, ou abra o código e use-os como ponto de partida para o seu próprio plugin.

  • hello-dashboard

    Um exemplo. Envia os tickets integrados para um painel externo e lista-os numa página própria.

  • project-bootstrap

    Acrescenta um developer por omissão e um campo personalizado a cada projeto novo.

  • project-workflow

    Dá aos projetos novos o workflow local.

  • ticket-mirror

    Um exemplo. Cria o mesmo ticket noutro sistema.

  • ticket-triage

    Preenche um campo, comenta e avisa a equipa quando há um ticket novo.

  • ui-slots

    Mostra todos os locais onde um plugin pode pôr um widget, para os ver antes de criar um.

Crie o seu

Crie um plugin com IA e o SDK de plugins

A ferramenta do SDK é o mesmo validador e executor de testes que a aplicação usa. Tem quatro comandos.

  1. new: começar uma pasta de plugin

    Execute npx @volath/sdk new my-plugin. Cria uma pasta com plugin.json, código, um README e um AGENTS.md.

  2. validate: fazer a verificação que o Volath faz ao instalar

    Execute npx @volath/sdk validate my-plugin. Usa o mesmo validador que a aplicação corre quando um plugin é instalado.

  3. test: correr como o Volath correria

    Execute npx @volath/sdk test my-plugin. Arranca o plugin como o Volath e envia-lhe eventos de exemplo. Mostra os pedidos HTTP que o plugin faria em vez de os enviar, a menos que peça para os enviar.

  4. pack: escrever o zip

    Execute npx @volath/sdk pack my-plugin. Valida o plugin e escreve my-plugin-versao.zip, pronto para um administrador instalar.

SDK de plugins

O que o SDK de plugins lhe dá

O SDK é um repositório público no GitHub, o kit para escrever um plugin.

  • Tipos TypeScript e um JSON Schema

    Tipos para ctx, eventos e hooks, e um JSON Schema para o plugin.json. São gerados a partir da descrição da API da própria aplicação, por isso não se afastam do que o Volath aceita.

  • Um guia de IA para o seu assistente

    Uma referência e um guia de IA feito para entregar a um assistente de IA, mais os seis plugins de exemplo.

  • Build with AI, dentro da aplicação

    A janela Build with AI, em Definições, Plugins, deixa-o descrever o plugin, copiar o prompt e o guia completo de plugins para uma conversa com IA, verificar os ficheiros devolvidos com a ferramenta do SDK e largar o zip.

  • Um guia no Centro de ajuda

    O guia de plugins está no Centro de ajuda da aplicação, em Writing plugins.

Kit de código aberto

O SDK e o marketplace têm licença MIT

O próprio Volath não é código aberto. Só estes dois repositórios são.

  • volath/sdk

    O validador, o executor de testes, os tipos, o esquema, a referência, o guia de IA e os plugins de exemplo.

    volath/sdk no GitHub
  • volath/marketplace

    Os plugins oficiais, as regras de contribuição e a release de onde a aplicação lê a sua lista.

    volath/marketplace no GitHub

Plugins e o seu plano

Como os plugins e o seu plano trabalham em conjunto

Instalar plugins não depende de um plano. O que um plugin pode chamar segue o seu plano.

  • As chamadas dos plugins seguem o seu plano, uma a uma

    As chamadas a tickets e ações precisam do quadro, enquanto agentes, skills, squads e documentos precisam cada um do seu módulo, e os webhooks precisam da ferramenta de webhooks. Um plugin não pode usar o que o seu plano não inclui.

  • Mudar de plano não exige reinstalar

    Um plano que termina ou muda produz efeito sem reinstalar o plugin.

  • Instalar não depende de um plano

    Instalar e gerir plugins exige um administrador, não um plano em particular. Os planos em si estão na página de preços.

Perguntas frequentes

Perguntas sobre plugins

O que é um plugin do Volath?

Um plugin alarga o Volath com uma página sua, widgets no quadro, automatizações ou integrações, sem alterar o Volath. É um zip com um plugin.json e, opcionalmente, um ficheiro Node e uma página web. Um administrador instala-o em Definições, Plugins.

Os plugins do Volath são seguros de correr?

O código do plugin corre num processo separado com o modelo de permissões do Node, e cada chamada é verificada contra as permissões que um administrador aceitou. Um plugin fica desligado até serem aceites. O Node não consegue fechar a rede a um processo, por isso instale código de plugins só de pessoas em quem confia. Os plugins declarativos não têm código.

Preciso do marketplace para instalar um plugin?

Não. Qualquer plugin é um zip que um administrador pode instalar em Definições, Plugins. O marketplace é uma lista de plugins oficiais, e as instalações a partir dele são verificadas com um sha256.

Posso criar o meu plugin para uma ferramenta que uso?

Sim. Os seis plugins oficiais são pequenos e legíveis, e vários são exemplos que apontam para anfitriões de exemplo, por isso pode copiar um e mudar o anfitrião e os eventos. Um plugin declarativo chama uma API HTTP quando acontece um evento, sem código de plugin.

Os plugins dependem do meu plano?

As chamadas de um plugin seguem o seu plano, uma a uma, por isso um plugin não pode usar uma funcionalidade que o seu plano não inclui. Instalar plugins não depende de um plano, e mudar de plano produz efeito sem reinstalar.

Posso criar o meu próprio plugin com IA?

Sim. A janela Build with AI, em Definições, Plugins, dá-lhe um prompt e o guia completo de plugins para entregar a uma conversa com IA. O SDK de plugins verifica depois os ficheiros devolvidos com validate e test, e o pack escreve o zip.

O Volath é de código aberto?

Não. Só o SDK de plugins e o marketplace de plugins têm licença MIT, como repositórios públicos no GitHub. O próprio Volath não é de código aberto.

Alargue o Volath à sua maneira

Comece com um plugin do marketplace ou escreva o seu com o SDK.