Использование dv (Discourse Vibe) для настройки Discourse AI в среде разработки

dv — Discourse Vibe — https://github.com/samsaffron/dv — это инструмент, который я разрабатываю и который позволяет легко работать с несколькими предварительно настроенными контейнерами разработки Discourse.

Я создал его, чтобы упростить работу с AI-агентами, но со временем он стал выполнять всё больше функций.

Среди возможностей инструмента:

  • Проверка PR в контейнере
  • Извлечение и импорт кода в контейнер
  • Запуск нескольких экземпляров Discourse Dev на разных портах
  • Запуск большого количества AI-агентов внутри контейнеров
  • и многое другое

В эти выходные я создал удобный помощник для настройки AI внутри запущенного контейнера разработки.

Чтобы запустить это на своём компьютере:

  • Установите Docker
  • Запустите скрипт установки в README проекта dv (или выполните go build)
  • Выполните dv build (если у вас достаточно памяти) или dv pull, если память ограничена. Это загрузит базовый образ.
  • Выполните dv new some-name (используйте dv ls для списка контейнеров)
  • Выполните dv config ai и настройте свой LLM через TUI

  • dv config ai --help — чтобы узнать о возможных ключах API, которые мы ищем

  • после добавления LLM у вас будет полностью настроенная рабочая среда разработки с Discourse AI

  • Перейдите по адресу localhost:4200/session/admin/become, чтобы войти как администратор

  • Общайтесь с роботом (AI-бот в боковой панели)

Демонстрационное видео:

Также я опубликовал инструкцию по использованию dv + Claude Code Router + Discourse MCP здесь:

Спасибо за это! Я понимаю достаточно, чтобы видеть, что это может быть очень интересно для меня, но мне не хватает некоторых блоков знаний, чтобы действительно понять, что это такое и как я могу этим воспользоваться.

Не могли бы вы дать немного больше контекста «для не-разработчиков»? (Я любитель-изобретатель: никогда не уверен, как описать свои навыки в этой области… не владею кодингом свободно, но «понимаю» достаточно базовых принципов, чтобы когда-то с трудом написать несколько простых плагинов для WordPress, знаю основы командной строки, понимаю простое программирование и администрирование серверов… то, что я вижу в области ИИ, заставляет меня мечтать, что я наконец смогу приблизиться к реализации некоторых своих проектов!)

  • Запуск нескольких экземпляров Discourse Dev на разных портах

Это звучит отлично, Сэм. Я ещё не устанавливал. У меня были серьёзные трудности с запуском нескольких экземпляров Discourse с помощью Docker на сервере Ubuntu. Я использую Caddy в качестве обратного прокси.

Моя основная цель — создать зеркало рабочего экземпляра Discourse в среде разработки, чтобы работать над пользовательскими элементами перед их выкладкой в продакшн. Желательно на отдельном доменном имени.

Нужно ли сначала установить это, а затем новые экземпляры Discourse и настроить их, или можно установить для работы с уже существующими установками, а потом добавить ещё? Не уверен, что Caddy — лучший выбор для управления DNS в такой конфигурации, или есть что-то более подходящее?

dv стремится быть инструментом полного цикла. Он управляет прокси и всем остальным; например, я размещаю свои экземпляры на домене XYZ.home.arpa.

Вы можете настроить несколько контейнеров с помощью dv и использовать команду dv catchup для их обновления до последней версии, что автоматически обновит плагины и ядро.

В основе всё это просто контейнеры Docker, которые можно адаптировать под любые нужды: импортировать данные, запускать пользовательские команды и так далее.

Это среда, ориентированная в первую очередь на разработчиков и дизайнеров. Вы можете выполнить dv builddv new somethingdv ra codex и двигаться дальше, но эта утилита не ставит целью сделать инженерию доступной для масс. Она призвана создавать множество изолированных окружений для разработки на вашем компьютере как расширенную функцию для опытных пользователей — инженеров и дизайнеров.

Спасибо, всё понятно. Если это для тех, кто хочет управлять несколькими средами разработки, то это точно не для меня (я всё ещё думаю, стоит ли мне настраивать одну :rofl:)

Это полезно даже для одной среды, так как значительно упрощает настройку.

dv build dv new something dv list

Однако это в основном технический инструмент для разработчиков и дизайнеров, он не предназначен для любителей.