GitHub Copilot CLIでローカルLLMを使って完全オフラインでコードを書かせる方法
### はじめに
2026/04/07にリリースされたGitHub Copilot CLIから、ローカルLLMを使えるようになりました。
また、外部との通信を必要としないモードも追加されています。
github.blog
これらの機能を使うことで、完全オフラインの環境でもLLMを使ったコーディングができます。
さっそく試してみたので、設定方法などをまとめておこうと思います。
### 環境
* Mac Studio
* 16コアCPU、40コアGPU、16コアNeural Engine搭載Apple M4 Maxチップ
* 64GBユニファイドメモリ
* GitHub Copilot CLI v1.0.21
* LM Studio 0.4.9+1
* openai/gpt-oss-20b
### 設定
GitHub Copilot CLIでローカルLLMを使うためには、OpenAIと互換性のあるAPIが提供されている必要があります。
LM StudioがOpenAI互換のAPIを提供しているため、今回はこれを使います。
LM Studioを起動してgpt-oss-20bのモデルを読み込ませます。
この時、Context Lengthの設定をデフォルトの4096から128000のような大きめの値にしておく必要があります。
これをしないと、以下のようなエラーが出ます。
The number of tokens to keep from the initial prompt is greater than the context length. Try to load the model with a larger context length, or provide a shorter input.
モデルを読み込ませた後に、DeveloperタブのLocal Serverの設定で「Status: Stopped」のトグルをONにして、ローカル用のAPIを起動します。
### GitHub Copilot CLIの実行
以下の環境変数を指定してGitHub Copilot CLIを起動することで、ローカルLLMが使われるようになります。
$ COPILOT_PROVIDER_BASE_URL=http://127.0.0.1:1234/v1 \
COPILOT_MODEL=openai/gpt-oss-20b \
COPILOT_PROVIDER_MAX_PROMPT_TOKENS=128000 \
COPILOT_PROVIDER_MAX_OUTPUT_TOKENS=128000 \
COPILOT_OFFLINE=true \
copilot
あとは、通常と同じようにプロンプトを打ち込んだりしてGitHub Copilot CLIを利用できます。
メモリを10GB以上使うのとそこまでレスポンスが早いわけではないので、実用的かというと微妙なところですが、完全オフライン環境でLLMを使ったコーディングをしたい場合はなんとか使えるかなという印象です。
なお、接続先はOpenAI互換のAPIであればなんでも良いので、LLM実行用の強いサーバーを建ててそちらに接続すればある程度は快適に使えるかもしれません。
また、Azure OpenAIやAnthropicに接続する方法も案内されているので、GitHub Copilot CLIを使いつつGtiHub Copilot以外で利用したい場合も使えそうです。
docs.github.com
### おわりに
ローカルLLMはどうしても性能に限界がありますが、ある程度の精度で問題ない場合やネットワーク接続が難しい環境でLLMを使ったコーディングをしたい場合は、オフラインモードのGitHub Copilot CLIでローカルLLMを使う方法は選択肢になりそうに思いました。
ローカルLLMであればLLMの呼び出しにかかる料金もゼロなので、ある程度シンプルな作業を低コストで実行したい場合にも使えるかもしれません。
直近では常用することは無さそうですが、将来的に高性能なコーディング用のモデルが使えるようになった際は、この方法で利用してみても良さそうに思います。
### 参考サイト
* Copilot CLI now supports BYOK and local models - GitHub Changelog
* Using your own LLM models in GitHub Copilot CLI - GitHub Docs
* openai/gpt-oss-20b · Hugging Face
早速試したのでブログにまとめた
はてなブログに投稿しました
GitHub Copilot CLIでローカルLLMを使って完全オフラインでコードを書かせる方法 - await wakeUp(); https://sublimer.hatenablog.com/entry/2026/04/08/184248
#はてなブログ #GitHub_Copilot_CLI #LocalLLM
0
0
0
0