Skip to content

Configuração do Moodle

O GamiBot requer Moodle 4.4 ou posterior e dois plugins: local_gamibot_manager (configuração e ingestão) e block_gamibot (interface de chat).

Instalar ou atualizar os plugins

  1. Descarregue o plugin GamiBot Manager e o bloco GamiBot Chat.
  2. Inicie sessão como administrador do site. Em Administração do site > Plugins > Instalar plugins, instale ou atualize ambos os ZIPs e conclua a atualização do Moodle. A versão do Manager documentada aqui é 2026091802; o bloco Chat também requer Moodle 4.4.
  3. Confirme que o cron do Moodle é executado pelo menos uma vez por minuto e que a tarefa Synchronise GamiBot resource availability está ativa em Administração do site > Servidor > Tarefas > Tarefas agendadas.

Depois de instalar os dois plugins, também pode executar a atualização normal pela linha de comandos:

sh
php admin/cli/upgrade.php --non-interactive

Se uma versão anterior do Manager parou com Undefined constant "XMLDB_TYPE_INT", instale o pacote corrigido e repita a atualização. Esse erro ocorreu antes da criação da tabela da fila ou do registo do ponto de atualização; não é necessária limpeza manual da base de dados.

As versões anteriores também podiam fazer falhar a tarefa horária Reset Gamibot manager user usage data com SELECT DISTINCT FROM ... quando não existia uma coluna de tenant configurada. Após a atualização, execute-a uma vez a partir da raiz do Moodle para confirmar a correção:

sh
php admin/cli/scheduled_task.php --execute='\local_gamibot_manager\task\reset_user_usage'

Configurar o plugin Manager

Aceda a Administração do site > Plugins > Plugins locais > GamiBot Manager > Definições básicas.

  • Chave da API Langflow: Introduza uma única chave para Clarify, Summarize e Quiz. É uma definição mascarada do Moodle, partilhada por todas as finalidades e tenants Langflow. Solicite credenciais se utilizar o serviço CIP/INOV-Norte.
  • Endpoint e segredo da Gami API: Configure-os em separado para a gamificação. Não são a chave Langflow.
  • Endpoint de ingestão e segredo do webhook: Configure o serviço que recebe os ficheiros da disciplina. O segredo segue no payload JSON e é diferente da chave Langflow e do segredo da Gami API.
  • Pedidos de ingestão por execução do cron: Por defeito, 5 passos de envio (intervalo 1–100); cada passo envia, no máximo, um pedido.
  • Intervalo mínimo entre pedidos de ingestão: Por defeito, 5 segundos entre inícios de pedidos (intervalo 1–3600), para todas as disciplinas e processos.
  • Verificar certificados SSL, tempo limite dos pedidos e número de perguntas do quiz continuam disponíveis. Mantenha a verificação SSL ativa nas ligações de produção.

Guarde as alterações. Numa instalação nova, as três finalidades Langflow são criadas automaticamente; não é necessário criar instâncias de ferramentas nem introduzir uma chave, endpoint e IDs de campos para cada finalidade. A página GamiBot na navegação mostra o estado de configuração. “Configured” significa que existem definições locais, não que a ligação ao serviço tenha sido testada.

O plugin mantém em código as seguintes definições dos fluxos padrão:

FinalidadeEndpoint Langflow
Clarifyhttps://langflow.hub.inov-norte.ipp.pt/api/v1/run/f0be7594-16a8-459e-ae96-8b79637fcbbb
Summarizehttps://langflow.hub.inov-norte.ipp.pt/api/v1/run/28ec36b5-0432-4072-8293-607a6efe1c09
Quizhttps://langflow.hub.inov-norte.ipp.pt/api/v1/run/5fad50dc-438b-4deb-ad6d-274e5d1b8a6b

Os três usam Domain TextInput-1NWCq, Course TextInput-8xdUH e Additional TextInput-VXxfq. Atualmente, o campo Additional transmite o número de perguntas configurado apenas para Quiz. Estes valores pertencem à versão do plugin, não ao formulário normal de configuração.

Instalações existentes

A atualização preserva os registos das ferramentas, atribuições dos tenants, finalidades desativadas, endpoints personalizados e IDs de campos personalizados. As ligações padrão são atualizadas sem alterar os respetivos IDs. Se todas as ligações Langflow existentes usarem uma única chave não vazia, esta é migrada para a definição partilhada. Se usarem chaves diferentes, as ligações continuam a usar as credenciais anteriores e o administrador recebe um aviso para escolher uma chave partilhada; ao guardá-la, esta passa a ser usada por todas as ligações Langflow. Reveja as ligações personalizadas antes de o fazer.

As ligações padrão são mantidas pelo plugin e não podem ser editadas ou eliminadas na antiga página de instâncias. As ligações personalizadas e atribuições antigas continuam acessíveis. Só os administradores do site podem editar endpoints Langflow personalizados, pois estes recebem a credencial partilhada.

Configurar o bloco Chat e ativar uma disciplina

Em Administração do site > Plugins > Blocos > GamiBot Chat, ajuste os tipos de página do botão flutuante, a substituição opcional do botão de ajuda e o tema de cores.

Para ativar uma disciplina, abra Definições, expanda Funcionalidades GamiBot, selecione Adicionar um Chat GamiBot a esta disciplina e guarde. É adicionado um bloco ao nível da disciplina e os recursos Ficheiro e Pasta elegíveis já existentes entram na fila para sincronização gradual. Remover o último bloco GamiBot da disciplina coloca a respetiva limpeza na fila. Um botão global ou bloco ao nível da categoria não ativa a ingestão dessa disciplina.

Os novos carregamentos e edições de disciplinas ativas usam a mesma fila global. Consulte Ingestão de dados para conhecer os limites, regras de visibilidade, tentativas e comandos de estado; depois, teste o GamiBot.

Released under the MIT License.