Usando dv (Discourse Vibe) para configurar Discourse AI en desarrollo

dv - Discourse Vibe - https://github.com/samsaffron/dv es una herramienta que he estado construyendo y que te permite trabajar fácilmente en múltiples contenedores de desarrollo de Discourse preconfigurados.

La construí para facilitar el trabajo con agentes de IA, pero a medida que pasa el tiempo, hace cada vez más cosas.

Entre las cosas que puede hacer:

  • Clonar una PR en un contenedor
  • Extraer e importar código en un contenedor
  • Ejecutar múltiples instancias de Discourse Dev en múltiples puertos
  • Ejecutar una gran cantidad de agentes de IA dentro de contenedores
  • y mucho más

Durante el fin de semana, construí un útil ayudante para configurar la IA dentro de un contenedor de desarrollo en ejecución.

Para ejecutar esto en tu propia máquina.

  • Instala Docker
  • Ejecuta el script de instalación en el Readme de dv (o compílalo con go build)
  • Ejecuta dv build (si tienes suficiente memoria) o dv pull si tienes poca memoria. Esto te dará la imagen base.
  • Ejecuta dv new some-name (dv ls para listar contenedores)
  • Ejecuta dv config ai y configura tu LLM usando la TUI

image

  • dv config ai --help para aprender sobre las posibles claves de API que buscamos

  • después de agregar el LLM, tendrás un entorno de desarrollo funcional y completamente configurado con Discourse AI

  • Visita localhost:4200/session/admin/become para iniciar sesión como administrador

  • Habla con el robot (bot de IA en la barra lateral)

image

Demostración en video:

También publiqué cómo usar dv + claude code router + discourse MCP en:

17 Me gusta

¡Gracias por esto! Entiendo lo suficiente como para ver que esto podría ser muy interesante para mí, pero me faltan algunos bloques de conocimiento para comprender realmente qué hace y cómo puedo aprovecharlo.

¿Te importaría dar un poco más de contexto para “no desarrolladores”? (Soy un entusiasta del bricolaje: nunca estoy muy seguro de cómo describir mis habilidades en ese ámbito… no soy fluido en la programación de ninguna manera, pero “entiendo” principios básicos suficientes como para haber logrado escribir algunos plugins básicos de WordPress en su día; conozco algunas cosas de la línea de comandos, entiendo la codificación simple y la administración de servidores… Lo que veo de la IA me hace soñar con que finalmente podré acercarme a ejecutar algunos de mis proyectos).

  • Ejecutar múltiples instancias de Discourse Dev en varios puertos

Parece genial, Sam. Todavía no lo he instalado. He tenido muchas dificultades para ejecutar múltiples instancias de Discourse usando Docker en un servidor Ubuntu. Uso Caddy como proxy inverso.

Creo que mi objetivo principal sería intentar replicar una instancia de Discourse en vivo en el entorno de desarrollo para trabajar en elementos personalizados antes de ponerlos en producción. Preferiblemente en un nombre de dominio separado.

¿Es necesario instalar esto primero y luego instalar nuevas instancias de Discourse y configurarlas, o se puede instalar para que funcione con instalaciones existentes y luego agregar más? No estoy seguro de si Caddy es la mejor opción para la gestión de DNS con esta configuración o si habría una alternativa mejor.

dv intenta ser una herramienta de extremo a extremo. Gestiona el proxy y todo lo demás; por ejemplo, mantengo mis instancias en XYZ.home.arpa.

Configurarías múltiples contenedores con dv y usarías dv catchup para actualizarlos a la última versión, lo que se encargaría de actualizar los complementos y el núcleo.

En la base, todo son solo contenedores de Docker; puedes moldearlos en cualquier forma que necesites, incluyendo la importación de datos, la ejecución de comandos personalizados, etc.

Esto es muy predominantemente un entorno “primero para desarrolladores/diseñadores”. Podrías ejecutar dv builddv new somethingdv ra codex y navegar por él, pero no intenta llevar la ingeniería a las masas; busca crear muchos pods aislados de desarrollo en tu máquina como una función avanzada para ingenieros y diseñadores.

2 Me gusta

Gracias, está claro. Si es para personas que quieren poder manejar varios entornos de desarrollo, entonces definitivamente no es para mí (aún me pregunto si debería configurar uno :rofl:)

1 me gusta

Es útil incluso para un solo entorno, ya que hace que la configuración sea MUCHO más sencilla.

dv build dv new something dv list

Sin embargo, es principalmente una herramienta técnica para desarrolladores y diseñadores; no está pensada para aficionados.

3 Me gusta