Claude Code に近い操作感を、完全ローカルで動作するLLM(Ollama)で実現する自律コーディングエージェントです。
- 完全ローカル動作: Ollama + ローカルLLM(qwen2.5-coderなど)で動作、クラウド不要
- 自律的タスク実行: ファイル読み書き、シェル実行、Web検索を組み合わせてタスクを完了
- 安全な確認システム: ファイル書き込み・シェル実行など破壊的操作は確認を求める
- Windows対応: cmd.exe経由のシェル実行、CWD追跡
- OpenAI互換フォールバック: LM Studio等のOpenAI互換APIも使用可能
- XMLフォールバック: ネイティブtool_calls非対応モデルもサポート
- Python 3.10以上
- Ollama (ローカルLLM用)
- Windows 10/11 または Linux/macOS
setup.bat# 1. 依存パッケージをインストール
pip install -r requirements.txt
# 2. .envファイルを作成
cp .env.example .env
# 3. Ollamaをインストール (未インストールの場合)# Windowsの場合:
winget install Ollama.Ollama
# または https://ollama.ai/download からダウンロード# 4. Ollamaを起動
ollama serve
# 5. モデルをダウンロード (推奨: qwen2.5-coder:7b)
ollama pull qwen2.5-coder:7b
# 6. 接続確認
python main.py --check# ファイル一覧
python main.py "このディレクトリのPythonファイルを一覧表示して"# コード作成
python main.py "足し算・引き算・掛け算ができる calculator.py を作って"# バグ修正
python main.py "このディレクトリのコードを調べてバグがあれば修正して"# Web検索を使った調査
python main.py "Python asyncioの最新のベストプラクティスを調べてまとめて"python main.py
# >>> と表示されたらタスクを入力# 'exit' で終了# モデルを指定
python main.py --model qwen2.5-coder:14b "タスク"# OpenAI互換API (LM Studio等) を使用
python main.py --provider openai_compatible "タスク"# 確認なしで自動実行 (注意)
python main.py --no-confirm "タスク"# ツールモードを指定
python main.py --tool-mode xml "タスク"# XMLフォールバック強制# 環境確認
python main.py --check| GPU VRAM | 推奨モデル | ダウンロード |
|---|---|---|
| 4-6 GB | qwen2.5-coder:7b | ollama pull qwen2.5-coder:7b |
| 8-12 GB | qwen2.5-coder:14b | ollama pull qwen2.5-coder:14b |
| 16+ GB | qwen2.5-coder:32b | ollama pull qwen2.5-coder:32b |
| CPU only | qwen2.5-coder:7b-instruct-q4_K_M | ollama pull qwen2.5-coder:7b-instruct-q4_K_M |
qwen2.5-coder はネイティブtool calling対応でデフォルト推奨です。
llm:
provider: ollama # "ollama" or "openai_compatible"model: qwen2.5-coder:7b # 使用モデルtool_mode: auto # "auto" | "native" | "xml"agent:
max_iterations: 40# エージェントループの最大反復回数confirm_tools: # 実行前に確認が必要なツール
- bash
- write_file
- edit_file| ツール | 説明 | 確認 |
|---|---|---|
read_file | ファイル読み込み(行番号付き) | なし |
write_file | ファイル書き込み | あり |
edit_file | 部分編集(SEARCH/REPLACE) | あり |
list_dir | ディレクトリツリー表示 | なし |
glob | パターンでファイル検索 | なし |
grep | 正規表現でファイル内容検索 | なし |
bash | シェルコマンド実行 | あり |
web_search | DuckDuckGo検索 | なし |
.env ファイルに設定:
OPENAI_API_KEY=not-neededOPENAI_BASE_URL=http://localhost:1234/v1LOCAL_MODEL=your-model-nameconfig.yaml:
llm:
provider: openai_compatibleopenai_base_url: "http://localhost:1234/v1"Ollamaに接続できない:
# Ollamaが起動しているか確認
ollama serve
# または別ターミナルで確認
curl http://localhost:11434/api/tagsモデルが見つからない:
ollama list # インストール済みモデル確認
ollama pull qwen2.5-coder:7bXMLモードを強制使用:
python main.py --tool-mode xml "タスク"確認なしで実行 (CI/CD等):
python main.py --no-confirm "タスク"