OpenCode × ローカルLLM(WSL2)構築・運用完全マニュアル

このマニュアル通りに進めれば、Claude Codeに匹敵する「日本語で動く自律型AIコーディング環境」が完全無料で手に入ります。


🤖 OpenCode × ローカルLLM(WSL2)構築・運用完全マニュアル

📌 1. 事前確認(WSL2 / GPUの確認)

すべての作業は、Windows上の WSL2(Ubuntu環境)のターミナル で実行します。
まず、グラフィックボード(RTX 4060 Ti)がWSL2側から正常に認識されているか確認します。

# パッケージの更新
sudo apt update && sudo apt upgrade -y

# NVIDIA GPUの認識確認
nvidia-smi

※ 画面に「GeForce RTX 4060 Ti」とVRAM「16384MiB」が表示されれば準備完了です。


🛠️ 2. インストール手順(4ステップ)

  1. Ollama(Linux版)のインストール: 約1〜2分.
    WSL2のUbuntuに直接Ollamaをインストールします。自動でGPU(CUDA)を検出して最適な設定が行われます。
curl -fsSL https://ollama.com/install.sh | sh

インストール後、念のため状態を確認します。

sudo systemctl status ollama

active (running) と表示されていれば正常に起動しています。

  1. 最適モデル Qwen3-14B のダウンロード: 回線速度による(約9GB).
    VRAM 16GB環境で最も高速かつ高精度にコーディングとTool Calling(関数呼び出し)を行える本命モデルをダウンロードします。
ollama pull qwen3:14b
  1. 軽量・高速なパッケージ管理ツール Bun のインストール: 約10秒.
    OpenCodeを動かすためのJavaScript実行環境「Bun」をインストールします(Node.jsより圧倒的に高速です)。
curl -fsSL https://bun.sh/install | bash
source ~/.bashrc
bun --version
  1. OpenCode CLI のインストール: 約20秒.
    先ほど入れたBunを使って、OpenCodeの本体パッケージ(opencode-ai)をグローバルインストールします。
bun install -g opencode-ai
opencode --version

※ パッケージ名は opencode-ai ですが、実際に使用するコマンドは opencode です。


⚙️ 3. 初期設定(Ollamaの紐付け)

OpenCodeにローカルのOllama(qwen3:14b)を使用するように教えてあげます。

# 設定ディレクトリを作成して設定ファイルを開く
mkdir -p ~/.config/opencode
nano ~/.config/opencode/opencode.json

エディタ(nano)が開くので、以下のJSONをそのまま貼り付けます。
貼り付けたら、Ctrl + O(保存) 👉 Enter 👉 Ctrl + X(閉じる)で保存します。

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3:14b": {
          "name": "Qwen3 14B (Local Coder)"
        }
      }
    }
  }
}

📄 4. プロジェクト個別設定(OPENCODE.md の配置)

あなたのPythonプロジェクトのルートディレクトリ(.venvrequirements.txt を配置する場所)に、OPENCODE.md という名前でファイルを作成し、以下の内容を書き込みます。

これにより、ローカルLLMが環境を汚さず、かつ徹底的に日本語で思考・応答するようになります。

# OpenCode Project Rules (Python & .venv)

This file guides OpenCode on how to develop, build, test, and style code in this Python project. Always execute commands within the local virtual environment (`.venv`).

## 🚨 Language Rule (重要: 言語規則)
- **Communication**: You MUST always communicate, explain, and reply to the user in **Japanese**.
- **Code Comments & Docstrings**: Write all inline code comments, git commit messages, and docstrings in **Japanese** unless explicitly instructed otherwise.
- **Thinking Process**: Think and process instructions in Japanese to maintain high-quality Japanese output.

## 1. Environment & Technical Stack
- Runtime: Python 3.11+
- Virtual Environment: `.venv` (located at `./.venv`)
- Main Frameworks: FastAPI / Pydantic (※必要に応じて変更してください)
- Package Manager: `pip` (inside .venv)

## 2. Standard Development Commands
When asked to perform tasks, you MUST use the absolute or relative paths to the `.venv` executables. Do NOT use global `python` or `pip` commands.

- **Run Application**: `./.venv/bin/python main.py`
- **Run Tests**: `./.venv/bin/pytest`
- **Install Dependencies**: `./.venv/bin/pip install -r requirements.txt`
- **Run Linter (Ruff)**: `./.venv/bin/ruff check . --fix`
- **Run Formatter (Ruff)**: `./.venv/bin/ruff format .`

## 3. Code Generation Guidelines (For Local LLM)
Since you are a local LLM (Qwen3-14B), pay extra attention to the following pythonic standards to minimize errors:
- **Type Hints**: Always use PEP 484 type hints for function arguments and return values (e.g., `def get_user(user_id: int) -> User:`).
- **Docstrings**: Write docstrings for all public modules, classes, and functions using Google Style (in Japanese).
- **Dependencies**: If you need to introduce a new external library, ask the user first. After installation, always update `requirements.txt`.
- **Async Code**: Use `async/await` syntax properly when dealing with I/O bound tasks.

## 4. Workflow Rules
1. **Verification**: After making any file edits, you MUST automatically run `./.venv/bin/pytest` or check code quality with `./.venv/bin/ruff check .` to verify your changes.
2. **Error Handling**: Always implement proper exception handling (try-except blocks) with explicit logging using the standard `logging` module.
3. **Commit Readiness**: When you finish a task, state clearly which files were changed and provide a recommended Git commit message in Japanese.

🚀 5. 実践:OpenCodeの起動と初回接続

準備がすべて整ったら、さっさく動かしてみましょう!

# 1. 開発したいPythonプロジェクトのフォルダへ移動
cd /path/to/your/python-project

# 2. OpenCodeを起動
opencode

🔗 初回のみ必要な接続設定

  1. 画面が立ち上がったら、プロンプトに /connect と入力してエンター。
  2. 矢印キーで Ollama (local) を選択してエンター。
  3. 次に /models と入力し、qwen3:14b を選択してエンター。

画面に Using Ollama (local) - qwen3:14b と表示されれば、完全ローカルの自律型開発環境がスタートします。

💡 プロンプトの指示例:
src/models.py に新しいユーザー属性フィールドを追加して、それに伴うバリデーションエラーが出ないか ./.venv/bin/pytest でテストを確認して。問題がなければ日本語でコミットメッセージを作って」

外部APIへのデータ流出や従量課金を一切気にせず、強力なマシンパワーをフルに活かしたローカルAI開発をお楽しみください!

コメント

タイトルとURLをコピーしました