Skip to content

Navigation Menu

Sign in
Sign up

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LocalCode - ローカルLLM自律コーディングエージェント

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

インストール

Windows (簡単セットアップ)

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対応でデフォルト推奨です。

設定 (config.yaml)

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検索 なし

OpenAI互換API (LM Studio等)

.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:7b

XMLモードを強制使用:

python main.py --tool-mode xml "タスク"

確認なしで実行 (CI/CD等):

python main.py --no-confirm "タスク"

About

ClaudeCodeのようなローカルLLMと組み合わせたアプリ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /