🆓

【Windows11/gtp-oss/OpenCode】gpt-ossを使って無料でAIエージェントを使えるコーディング環境を構築する

に公開

はじめに

WindowsでOSS版GPT×OpenCodeを組み合わせて、無料でAIエージェントを使えるコーディング環境を構築してみました。

構築の流れとしては下記流れになります。

  • Ollamaを使ってWindows上にローカルLLMを構築する(OSS版GPT)
  • オープンソースのAIコーディング環境を構築する(OpenCode)
  • OpenCodeからローカルLLMを呼び出してAIエージェントによるコーディングを行う

1. Ollama×OSS版GPTでローカルLLMを構築する

■ 公式ページから Ollama をインストールする

公式ページから、Windows版のOllamaをインストールします。

■ OSS版GPTの導入

PowerShell を開き下記コマンドでOSS版GPTをOllama上で動かせる環境を構築します。
※gpt-oss:20b の例

$ ollama pull gpt-oss:20b
pulling manifest
pulling b112e727c6f1: 100% ▕██████████████████████████████████████████████████████████▏  13 GB
pulling fa6710a93d78: 100% ▕██████████████████████████████████████████████████████████▏ 7.2 KB
pulling f60356777647: 100% ▕██████████████████████████████████████████████████████████▏  11 KB
pulling d8ba2f9a17b3: 100% ▕██████████████████████████████████████████████████████████▏   18 B
pulling 55c108d8e936: 100% ▕██████████████████████████████████████████████████████████▏  489 B
verifying sha256 digest
writing manifest
success

■ OSS版GPTを試す

モデルダウンロード後、次のコマンドでプロンプトの実行ができます。

$ ollama run gpt-oss:20b

少し待つと下記のようにプロンプトの入力が可能になります。

2. OpenCodeを導入する

■ リリースページからOpenCodeのZIPファイルをダウンロード&解凍する

公式ページを見ると、Windows版はスクリプトによるインストールは安定しないとのことで、
代わりにWindows 用バイナリを使うように記載されていました。

OpenCodeのリリースページから「opencode-windows-x64.zip」をダウンロードします。

ZIPファイルダウンロード後、下記パスになるようにExeファイルを配置します。

  • C:\Users\ユーザ名\.opencode\bin\opencode.exe 
    ※「.opencode/bin」フォルダは手動作成してください

■ 環境変数を設定する

Exeファイル配置後、下記コマンドで環境変数を設定します。

New-Item -ItemType Directory -Force "$HOME\.opencode\bin" | Out-Null
setx PATH "$env:PATH;$HOME\.opencode\bin"

※手動で下記環境変数設定しても大丈夫です

  • C:\Users\ユーザ名\.opencode\bin

■ OpenCodeがインストールできているか確認する

下記コマンドを実行しバージョンが表示されればOKです。

$ opencode --version
0.5.8

3. OpenCodeを試してみよう

■ 事前準備①:設定ファイル作成

それではOpenCodeを使ってバイブコーディングに挑戦してみます。

適当なプロジェクトフォルダを作成し、直下に下記ファイルを配置してください。

プロジェクトフォルダ

  • AGENTS.md
  • opencode.json

AGENTS.md

opencodeがプロンプトを実行する上でのルールを定めたファイルです。

# Tooling rules for OpenCode
- Use OpenCode tools only: read, write, edit, list, glob, grep, webfetch, bash, task, todowrite, todoread.
- Do NOT call non-existent tools like Repo_browser.\* .
- Prefer `edit` for modifying existing files; use `read` to inspect before editing.

opencode.json

opencodeを使用してバイブコーディングするための設定ファイルです。

{
  "$schema": "https://opencode.ai/config.json",

  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gpt-oss:20b": { "name": "gpt-oss 20B (local)" }
      }
    }
  },

  "model": "ollama/gpt-oss:20b",

  "agent": {
    "build": {
      "description": "Default coding mode with only OpenCode tools.",
      "tools": {
        "read": true,
        "write": true,
        "edit": true,
        "bash": true,
        "grep": true,
        "glob": true,
        "list": true,
        "webfetch": true,
        "patch": true,
        "todoread": true,
        "todowrite": true
      },
      "prompt": "{file:./AGENTS.md}"
    }
  },

  "instructions": ["AGENTS.md"]
}

■ 事前準備②:Ollamaの起動

opencodeを使用するには、ollamaを立ち上げておく必要があります。
(OSS版GPTと連携できるようにする)

下記コマンドを実行してollamaが起動しているか確認します。

$ Get-Process -Name ollama -ErrorAction SilentlyContinue
Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    267      20    51992      55004       0.19  30512   1 ollama

もし、何もプロセスが表示されていなければ、下記コマンドでollamaを立ち上げます。

$ ollama serve

■ OpenCodeを試す

おまたせしました。OpenCodeを試してみます。

任意のプロジェクトのディレクトリにいる状態で、下記コマンドを実行してください。
※ディレクトリ名には日本語は含めないようにしてください

$ opencode

下記画面になればOKです。

今回は下記プロンプトを使用して迷路探査ゲームを作ってもらいます。
※改行してペーストするとプロンプトが実行されるためわざと「\n」を入れています。

You are in OpenCode. Do not use todowrite/todoread. \nUse only: read, write, edit, list, glob, grep, webfetch, bash, patch, task. \nGoal: Create a simple maze exploration game using HTML, CSS, and JavaScript Files to create (use the write tool): \n1) index.html \n2) style.css \n3) main.js\n\nUse the write tool with both filePath and content.\nExample:\n{ \"filePath\": \"index.html\", \"content\": \"<!doctype html>...\" }\n\nNow create index.html, style.css, and main.js for the maze game.


実行すると、OpenCode×OSS版GPTが勝手に作成プランを考えて、ゲームを作り始めました。

最終的にOpenCodeが作ってくれたHTMLファイルをブラウザで開くと、特に問題なく迷路探索ゲームができていました!

付録

■ 他のモデルと連携させる

下記コマンドを実行すると各プロバイダーが提供しているモデルとの連携が可能。

$ opencode auth login

┌  Add credential
│
◆  Select provider

│  Search: _
│  ● Anthropic (recommended)
│  ○ GitHub Copilot
│  ○ OpenAI
│  ○ Google
│  ○ OpenRouter
│  ○ Vercel AI Gateway
│  ○ Alibaba
│  ...
│  ↑/↓ to select • Enter: confirm • Type: to search

例:OpenCodeとGitHub Copilotを連携させる

「GitHub Copilot」を選択した場合、PowerShellの案内に従って連携できる。

  • https://github.com/login/device にアクセスしGitHubにログインする
  • PowerShellに表示されているコード「XXXX-XXXX」をGitHubの画面に入力する
┌  Add credential
│
◇  Select provider
│  GitHub Copilot
│
●  Go to: https://github.com/login/device
│
●  Enter code: XXXX-XXXX
│
◇  Login successful
│
└  Done

OpenCodeでモデルを確認し、GitHub Copilotと連携できていることを確認する。

Discussion