Usando dv (Discourse Vibe) para configurar o Discourse AI em desenvolvimento

dv - Discourse Vibe - https://github.com/samsaffron/dv é uma ferramenta que venho construindo e que permite trabalhar facilmente com vários contêineres de desenvolvimento Discourse pré-configurados.

Eu a construí para facilitar o trabalho com agentes de IA, mas à medida que o tempo passa, ela está fazendo cada vez mais coisas.

Entre as coisas que ela pode fazer:

  • Fazer checkout de um PR em um contêiner
  • Extrair e importar código para um contêiner
  • Executar várias instâncias do Discourse Dev em várias portas
  • Executar uma grande quantidade de agentes de IA dentro de contêineres
  • e muito mais

No fim de semana, construí um auxiliar útil para ajudar a configurar a IA dentro de um contêiner de desenvolvimento em execução.

Para executar isso em sua própria máquina.

  • Instale o docker
  • Execute o script de instalação no Readme do dv (ou compile-o com go build)
  • Execute dv build (se você tiver memória ampla) ou dv pull se tiver pouca memória. Isso lhe dará a imagem base.
  • Execute dv new some-name (dv ls para listar contêineres)
  • Execute dv config ai e configure seu llm usando a tui

image

  • dv config ai --help para saber sobre as possíveis chaves de API que procuramos

  • após adicionar o LLM, você terá um ambiente de desenvolvimento funcional e totalmente configurado com o Discourse AI

  • Visite localhost:4200/session/admin/become para fazer login como administrador

  • Converse com o robô (bot de IA na barra lateral)

image

Demonstração em vídeo:

Eu também postei como usar dv + claude code router + discourse MCP em:

17 curtidas

Obrigado por isso! Entendo o suficiente para perceber que isso pode ser muito interessante para mim, mas me faltam alguns blocos de conhecimento para realmente compreender o que isso faz e como posso aproveitá-lo.

Você se importaria de fornecer um pouco mais de contexto para quem não é desenvolvedor? (Sou um entusiasta de projetos: nunca tenho certeza de como descrever minhas habilidades nessa área… não sou fluente em programação de forma alguma, mas “entendo” princípios básicos o suficiente para ter conseguido, com esforço, criar alguns plugins básicos do WordPress no passado. Conheço algumas coisas de linha de comando, entendo programação simples e administração de servidores… O que estou vendo sobre IA está me fazendo sonhar que, finalmente, poderei me aproximar de executar alguns dos meus projetos!)

  • Executar múltiplas instâncias do Discourse Dev em várias portas

Parece ótimo, Sam. Ainda não instalei. Tive grandes dificuldades para rodar múltiplas instâncias do Discourse usando Docker em um servidor Ubuntu. Uso o Caddy como proxy reverso.

Acho que meu principal objetivo seria tentar espelhar uma instância ao vivo do Discourse em DEV para trabalhar em itens personalizados antes de colocá-los ao vivo. De preferência em um nome de domínio separado.

Isso precisa ser instalado primeiro e, em seguida, instalar novas instâncias do Discourse e configurá-las, ou pode ser instalado para funcionar com instalações existentes e depois adicionar mais? Não tenho certeza se o Caddy é o melhor para gerenciamento de DNS ao usar essa configuração ou se outra opção seria uma escolha melhor.

dv tenta ser uma ferramenta de ponta a ponta. Ele gerencia o proxy e tudo mais; por exemplo, mantenho minhas instâncias em XYZ.home.arpa.

Você configuraria vários containers com o dv e usaria dv catchup para atualizá-los para a versão mais recente, o que cuidaria da atualização de plugins e do núcleo.

No final, tudo são apenas containers Docker; você pode adaptá-los à qualquer forma que precisar, incluindo importar dados, executar comandos personalizados e assim por diante.

Isso é predominantemente um ambiente “primeiro para desenvolvedores/designers”. Você poderia executar dv builddv new somethingdv ra codex e navegar por ele, mas isso não está tentando levar a engenharia para as massas; está tentando criar muitos pods isolados de desenvolvimento na sua máquina como um recurso para usuários avançados, engenheiros e designers.

2 curtidas

Obrigado, está claro. Se for para quem quer conseguir gerenciar múltiplos ambientes de desenvolvimento, então definitivamente não é para mim (ainda estou pensando se devo configurar um :rofl:)

1 curtida

É útil mesmo para apenas 1 ambiente, pois torna a configuração muito mais fácil

dv build dv new something dv list

mas, é predominantemente uma ferramenta técnica para desenvolvedores e designers; não foi projetada para hobbyistas.

3 curtidas