Myder(マイダー)は、AiderをDocker環境で実行し、OpenRouter経由で様々なAIモデルと対話するためのラッパーツールです。
Dockerを用いることでセットアップを容易にし、実行時にAiderが参照出来るファイルを実行時ディレクトリに限定もできます。
また、OpenRouterが提供するModelの指定も楽にできます。
- Docker
- OpenRouterのAPIキー (ここで生成できます)
Bind mountする都合上、以下指定を追加したほうがよいかもしれません
--user $(shell id -u):$(shell id -g)
-
このリポジトリをクローンします:
git clone https://github.com/uzulla/myder.git cd myder
-
Dockerイメージをビルドします:
make build
Q: なぜ、ビルドしているのか? A: Aiderの公式コンテナはツールが足りない(curlすらない)のでつらいからです。そしてphpがあるのは作者の趣味です。
- 都度環境変数
OPENROUTER_API_KEY
を設定するか、.env
ファイルをcloneしたDirectoryに作成し、OpenRouterのAPIキーを設定します:OPENROUTER_API_KEY=your_api_key_here
-
プロジェクトディレクトリで以下のコマンドを実行:
cd /path/to/your/project make -f /path/to/myder/Makefile run # あるいは後述の設定がしてあれば myder run
-
Aiderのシェルが起動します。
-
AIに対して自然言語で指示を出すことができます: 詳しくはAiderのドキュメントを参照してください。
利用可能なすべてのコマンドとその説明を表示するには、以下を実行してください:
make help
# または
myder help
これは初めて使う際や、利用可能なオプションを確認したい場合に役立ちます。
make run
デフォルトのGemini-2.5-pro-exp-03-25モデルを使用して実行:
特に、このモデルが推奨ということではありません。
make run MODEL=anthropic/claude-3-opus
利用可能なモデルはOpenRouterのモデル一覧から確認できます。
make run NOMOUNT=1
つまり、ホストを破壊しません。
make run FORCE_YES=1
OKをEnterで押すのにつかれた人向け
make run MODEL=anthropic/claude-3-haiku-20240307 FORCE_YES=1 NOMOUNT=1
make run-bash
make run-bash NOMOUNT=1
make run-root-bash
make run-root-bash NOMOUNT=1
このコマンドの修正はコマンド再実行時に保存されません。必要ならDockerを修正してビルドしなおしてください。
make build
どのディレクトリからでも簡単にMyderを使えるようにするには、シェルのエイリアスを設定すると便利です:
alias myder="make -f ~/dev/myder/Makefile"
このエイリアスを.bashrc
、.zshrc
などのシェル設定ファイルに追加することで、永続的に使用できます:
echo 'alias myder="make -f ~/dev/myder/Makefile"' >> ~/.bashrc
# または
echo 'alias myder="make -f ~/dev/myder/Makefile"' >> ~/.zshrc
設定後は、任意のディレクトリから以下のように使用できます:
# 基本実行
myder run
# モデル指定
myder run MODEL=anthropic/claude-3-opus
# オプション組み合わせ
myder run MODEL=anthropic/claude-3-haiku-20240307 FORCE_YES=1 NOMOUNT=1
たとえば以下のようなファイルが生成されますが、これらはAider実行時に生成されるファイルであり、削除しても問題ありません。
.aider
.aider.chat.history.md
.aider.input.history
AiderをClaude codeのようにつかう(プログラミングに使う)場合、Modelの選定が重要です。
性能の良いものをつかいましょう。たとえば anthropic/claude-3-7-sonnet
です