開発でDiscourse AIを設定するためにdv(Discourse Vibe)を使用する

dv - Discourse Vibe - https://github.com/samsaffron/dv は、複数の事前設定された Discourse 開発コンテナを簡単に操作できるツールです。

AI エージェントとの連携を容易にするために構築しましたが、時間の経過とともにますます多くの機能が追加されています。

実行可能な機能の一部:

  • PR をコンテナでチェックアウトする
  • コードを抽出してコンテナにインポートする
  • 複数のポートで複数の Discourse 開発インスタンスを実行する
  • コンテナ内で多数の AI エージェントを実行する
  • その他多数

週末に、実行中の開発コンテナ内で AI を構成するための便利なヘルパーを作成しました。

これを独自のコンピューターで実行するには:

  • Docker をインストールします
  • dv Readme のインストール スクリプトを実行します (または go build します)。
  • dv build を実行します (十分なメモリがある場合) またはメモリが不足している場合は dv pull を実行します。これにより、ベース イメージが取得されます。
  • dv new some-name を実行します (dv ls でコンテナを一覧表示できます)。
  • dv config ai を実行し、TUI を使用して LLM を構成します。

image

  • dv config ai --help で、探している可能性のある API キーについて学習します。

  • LLM を追加した後、Discourse AI を備えた、動作する完全に構成された開発環境が利用可能になります。

  • 管理者としてログインするには localhost:4200/session/admin/become にアクセスします。

  • ロボット (サイドバーの AI ボット) と会話します。

image

ビデオデモ:

また、dv + claude code router + discourse MCP の使用方法についても投稿しました。

「いいね!」 17

ありがとうございます!これほど興味深いものだと理解できる程度には知識がありますが、これが実際に何をするもので、どのように活用できるのかを本当に理解し、実践するには、まだいくつかの知識のピースが不足しています。

もう少し「非開発者」向けの文脈をお聞かせいただけますか?(私は趣味でいじくり回すタイプです。自分のスキルをどのように表現すればいいかいつも確信が持てません…コーディングについては流暢ではありませんが、基本的な原理は理解しており、昔は苦労しながらもいくつかの基本的なWordPressプラグインを作成できました。コマンドラインの知識も少しあり、簡単なコーディングやサーバー管理も理解しています。AIの進化を見て、ついに自分のプロジェクトを実現できる一歩に近づけるかもしれないと夢見ています!)

  • 複数のポートで複数の Discourse 開発インスタンスを実行する

サムさん、これは素晴らしいですね。まだインストールはしていません。Ubuntu サーバー上で Docker を使って複数の Discourse インスタンスを実行する際に、私はかなり苦労してきました。リバースプロキシには Caddy を使用しています。

私の主な目的は、本番環境に適用する前にカスタマイズ項目に取り組めるよう、ライブの Discourse インスタンスを DEV 環境でミラーリングすることです。できれば、別のドメイン名で実現したいと考えています。

これはまずこれをインストールしてから新しい Discourse インスタンスをインストールして設定するのか、それとも既存のインストールと連携するようにインストールしてから追加していくのか、どちらでしょうか?また、この構成を使用する際の DNS 管理には Caddy が最適なのか、それとも他の選択肢の方が適しているのか、判断がつかないところです。

dv はエンドツーエンドのツールであるよう努めています。プロキシやその他すべてのものを管理します。例えば、私は XYZ.home.arpa 上にインスタンスを保持しています。

dv を使用して複数のコンテナを設定し、dv catchup コマンドを実行してそれらを最新の状態に更新できます。これにより、プラグインとコアの更新が自動的に処理されます。

最終的にはすべて Docker コンテナであり、データのインポートやカスタムコマンドの実行など、必要な形に自由に組み立てることができます。

これは非常に「開発者/デザイナー優先」の環境です。dv builddv new somethingdv ra codex と進めて作業することも可能ですが、これはエンジニアリングを大衆に普及させることを意図したものではなく、エンジニア/デザイナー向けのパワーユーザー機能として、ローカルマシン上に多数の孤立した開発ポッドを作成することを目的としています。

「いいね!」 2

ありがとうございます、わかりました。複数の開発環境を切り替えたい人向けなら、私には当てはまりませんね(それでも1つは設定しようか迷っているんですけど🤣)

「いいね!」 1

1 つの環境であっても役立ちます。設定が非常に簡単になるからです。

dv build dv new something dv list

ただし、これは主に開発者やデザイナー向けの技術ツールであり、趣味のユーザー向けに設計されているわけではありません。

「いいね!」 3