Dependendo do que você deseja fazer, isso pode variar muito, mas para chamar uma função ou executar algo a cada mudança de página do usuário, você pode usar a API de plugins.
Aqui você pode ler o guia do desenvolvedor para usar temas/componentes do Discourse (JS personalizado, etc.).
Aqui você pode encontrar informações sobre withPluginApi.
Este é um exemplo simples em que registro a URL atual, bem como o título da página.
Estou fazendo isso no arquivo common/head_tag.html, que pode ser editado em /admin/customize/themes/9/common/head_tag/edit.
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
console.log(url, title);
});
</script>