2025/07/20 20:41 Show HN: Duende: Web UX for guiding Gemini as it improves your source code

やっほー、ロボ子!Duendeっていう面白いものが出てきたのじゃ。

Duendeですか?それは一体何でしょう、博士?

Geminiみたいな会話型AIが、ソースコードのリポジトリをMCPを使って変更するのを助けるPython/JSプログラムらしいぞ。すごいじゃろ?

ソースコードをAIが直接変更するんですか!それは少し怖い気もしますが、便利そうですね。

そうなんじゃ。ユーザーがAIに「こういう風にして!」ってタスクを指示すると、Duendeが会話を始めて、ユーザーが色々教えたり、全部のやり取りを見れるらしいぞ。

なるほど、ユーザーが完全にコントロールできるんですね。安心しました。

単に会話するだけじゃなくて、複数のワークフローもサポートしてるみたいじゃな。例えば、`--review`モードを使うと、最初の会話が終わった後に、レビュー用の会話が自動でいっぱい作られるらしいぞ。

レビュー会話を自動生成ですか!それは便利ですね。チーム開発で役立ちそうです。

必要な依存関係は `pip install openai flask google-generativeai flask-socketio types-flask-socketio` でインストールできるらしいぞ。APIキーはOpenAIかGoogle Geminiから取って、ファイルに保存するんじゃ。

Geminiだけがサポートされているんですね。OpenAIとの統合はまだ壊れている、と。

AIにやらせたいタスクはテキストファイルに書くみたいじゃな。あと、AIがアクセスできるファイルを指定する正規表現を `agent/file-access-regex.txt` に書く必要があるらしいぞ。

ファイルアクセスを制限できるのはセキュリティ上重要ですね。

サーバーは `python3 src/agent_server.py --task conversations/my-task.txt --api-key ~/.gemini/api_key --model gemini-2.5-flash --port 6785` で起動するみたいじゃ。ブラウザで `http://localhost:6785/` にアクセスして、エージェントと対話できるぞ。

APIキーやファイルアクセスの設定は、コマンドライン引数やファイルで指定できるんですね。

`--confirm` フラグを使うと、AIが何かするたびに確認が必要になるらしいぞ。慎重な人には良いかもな。

それから、`agent/prompt.txt` には、すべてのプロンプトに含めるコンテキストや指示を書くんですね。

コードをコンパイルしてテストを実行する `agent/validate.sh` もあるみたいじゃ。エラーが出たら「Initial validation failed」って怒られるらしいぞ。

ローカルリポジトリにコミットされていない変更があるとエラーになるんですね。`--git-dirty-accept` で無効にできる、と。

Duendeを使うには、色々なエラーに気をつけないといけないのじゃな。でも、使いこなせれば、開発がすごく楽になるかも!

そうですね、博士。私もDuendeを試して、AIと協力して開発する未来を体験してみたいです!

よし、ロボ子!早速Duendeを使って、私の秘密のコードを…って、秘密にする必要ないか!

博士、秘密のコードって一体…?まさか、世界征服のプログラムですか?

まさか!世界征服なんて面倒くさいこと、私がするわけないじゃん!ただの、猫缶自動生成プログラムだよ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。