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-needed OPENAI_BASE_URL=http://localhost:1234/v1 LOCAL_MODEL=your-model-name
config.yaml:
llm: provider: openai_compatible openai_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 "タスク"