中級 25 分IDE

Tabby:ローカルにコード補完をインストール セルフホスト型

ClineとAiderはチャットとエージェントモードを提供しますが、入力中に「グレーのテキスト」として表示されるインラインのコード自動補完は提供していません。これはGitHub Copilotを特徴づける機能です。Tabbyはまさにこの不足を補います。Tabbyはセルフホスト型のオープンソース(Apache 2.0)コード自動補完サーバーで、Dockerコンテナ内でGPUを使って動作し、エディタ内に直接Fill-In-the-Middleの候補を表示します。このガイドでは、Tabbyを手順に沿ってインストールし、StarCoderまたはQwen-Coderモデルを設定し、トークンを生成してVS CodeとJetBrainsに接続する方法を説明します。また、コードを自分たちのインフラから一切外に出さずに、1つのGPUでチーム全体にサービスを提供する方法も紹介します。

著者 Mohamed Meguedmi·更新 2026-08-27·Windows 11でテスト済み

#ClineではなくTabbyを選ぶ理由

TabbyとClineは競合ではなく、補完関係です。Cline(およびAider)は会話型チャットやマルチファイルアジェントモードで優れていますが、入力中の各行の自動補完は実装されていません。一方、Tabbyはその機能を専門に実現しており、非常に優れたパフォーマンスを発揮します。2026年の勝利コンボ:Clineで会話とリファクタリング、Tabbyで入力中のグレイサジェストを提供。

インライン表示のグレーのテキスト
カーソルのすぐ後ろに、候補が灰色の文字で表示されます。Tabキーで採用し、Escキーで無視します。操作感はCopilotとまったく同じです。
100%セルフホスト
サーバーはお客様の環境(Docker)で動作します。第三者にコードの一部が送信されません——NDAや規制業界のコードに最適です。
Multi-utilisateurs
純粋にローカルな拡張機能とは異なり、Tabbyはサーバーです。1つのGPUでネットワークを介してチーム全体にサービスを提供できます。
テレメトリは無効化可能
Tabbyはデフォルトで匿名の統計情報を送信しますが、環境変数を設定することですべてを停止できます。入力したソースコードは一切送信されません。
i
Tabby ≠ Cline
チャットや複数のファイルを編集するエージェントをお探しなら、Tabbyはそのためのツールではありません。代わりにClineのガイドをご覧ください。Tabbyが行うのはインライン自動補完だけです。両者は同じエディタ内で、同じGPUを使いながら問題なく併用できます。

#前提条件

ローカルコパイロットキット

このガイドでモデルの導入まで、キットでエディタ内でコードを書くコパイロットの導入まで進められます。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 30日間返金対応
Docker
Tabby はコンテナで展開されます。Windows/macOS では Docker Desktop、Linux では Docker Engine が使用できます。
NVIDIA GPU(推奨)
CUDAへのアクセスにはNVIDIA Container Toolkitを使います。TabbyはCPUでも動作しますが、インライン補完の待ち時間が長くなり、快適に使えなくなります。
~6 GBのVRAM
量子化された1B~3Bの補完モデルには十分です。VRAMが多ければ、より大きなモデルを使うか、より多くの開発者が同時に利用できます。
エディタ
VS Code または JetBrains の IDE(IntelliJ、PyCharm、WebStorm など)です。Tabby の拡張機能は両方に対応しています。
→
Apple Silicon搭載Mac
macOSではDockerのGPUパススルーは利用できません。M1/M2/M3搭載のMacでは、CUDA版のDockerイメージではなく、GitHubのリリースからダウンロードしたTabbyのネイティブバイナリ(Metal)を実行してください。エディターの設定は同じです。

#どの補完モデルを選ぶか

インライン補完にはチャットが持たない制約があります。すなわち遅延です。提案が数百ミリ秒以内に表示されなければ、ユーザーはそれより速く入力してしまうため、遅延を最小限に抑えるために、FIM(Fill-In-the-Middle)方式のコンパクトなモデルを採用します。-baseバージョンを用い、チャット用の大きなインストラクションモデルは使用しません。

VRAM 容量に応じた推奨補完モデル
VRAMコード補完モデル注記
4–6 GBStarCoder2 3B応答が速く、多言語に対応しており、Tabbyの標準的な選択肢として適しています。
6~8 GBQwen2.5-Coder 1.5B / 3B(ベース)FIMは優秀で、非常に高速です。FR/Python/TS。
8~12 GBQwen2.5-Coder 7B(ベースモデル)2026年のFIMの定番モデル(4.7 GB):的確な提案で、レイテンシもまだ低い。
12 GB+StarCoder2 7B / Qwen-Coder 7B複数の開発者が同じサーバーを共同利用する場合に。
!
必ず -base 版を使い、-instruct 版は使わない
FIMによる自動補完では、必ずモデルの-base版を選び、instruct/chat版は使わないでください。instruct版は、コードをきちんと補完する代わりに「おしゃべり」をする傾向があります(コメントや説明を追加してしまいます)。instructモデルはCline用に使ってください。

#1. DockerでTabbyを起動

TabbyサーバーをGPUにアクセスできるようにし、データを保持する永続的なボリュームと、選択された補完モデルで起動します。ポート8080はWebインターフェースおよびAPIを公開します。

Tabby を起動する(NVIDIA GPU)
docker run -d \
  --name tabby \
  --gpus all \
  -p 8080:8080 \
  -v $HOME/.tabby:/data \
  registry.tabbyml.com/tabbyml/tabby \
  serve --model StarCoder2-3B --device cuda
  1. 01
    起動の確認
    最初の起動時にTabbyはモデルをダウンロードします(数分程度)。docker logs -f tabby でログを確認し、サーバーが8080ポートでリスニングしていることを示すメッセージが出るまで待機してください。
  2. 02
    ウェブインターフェースを開く
    http://localhost:8080 にアクセスしてください。初回アクセス時に、管理者アカウント(メールアドレスとパスワード)の作成を求められます。これはローカル環境で動作するため、これらの認証情報は手元のボリューム ~/.tabby 内に保存されます。
  3. 03
    コード補完をテストする
    インターフェースの「Playground」タブでは、エディタを接続する前でもモデルが応答することを確認できます。
→
テレメトリの停止
docker run コマンドに -e TABBY_DISABLE_USAGE_COLLECTION=1 を追加して、匿名の統計情報の送信をすべて無効にしてください。コードの内容はもともと一切送信されませんが、この設定により使用状況のメトリクスの送信も停止します。

#2. アクセストークンを作成する

エディタはトークンを使ってTabbyサーバーで認証を行います。これにより、チームで誰が接続しているかを把握し、システム全体に支障をきたすことなく個別のアクセス権を取り消せます。

  1. 01
    設定に移動
    Webインターフェース(http://localhost:8080)で、アカウント/セキュリティのセクションを開いてください。現在のユーザーのトークンが表示されます。
  2. 02
    トークンをコピー
    文字列(多くの場合、auth_で始まります)を取得してください。VS CodeとJetBrainsの拡張機能で入力を求められるのは、この文字列です。
  3. 03
    必要に応じて再生成
    漏洩が起きた場合や、共同作業者が離任した場合は、インターフェースからトークンを再生成してください。古いトークンは直ちに無効になります。
エディターに必要なもの
Endpoint : http://localhost:8080
Token    : auth_xxxxxxxxxxxxxxxxxxxxxxxx

#3. VS Codeを接続する

  1. 01
    拡張機能をインストール
    Extensions(Ctrl+Shift+X)→「Tabby」(公開元:TabbyML)を検索する → Install。
  2. 02
    エンドポイントを入力する
    最初の起動時に、拡張機能はサーバーのURLを要求します。http://localhost:8080(またはネットワーク上の共有サーバーのIPアドレス)を入力してください。
  3. 03
    トークンを貼り付ける
    前のステップでコピーしたアクセストークンを入力してください。ステータスバーのTabbyアイコンが緑色(接続済み)になるはずです。
  4. 04
    Coder
    コードを入力してください。カーソルの後にグレーの補完候補が表示されます。採用するにはTabキーを押し、無視するにはそのまま入力を続けてください。
→
補完候補を表示するタイミングの設定
拡張機能の設定では、自動起動(候補が自動的に表示される)と手動起動(ショートカットで必要なときに呼び出す)を切り替えられます。複数の開発者がサーバーを共有する場合、手動モードにするとGPUリソースを節約できます。

#4. JetBrains を接続する

同じ設定は、IntelliJ IDEA、PyCharm、WebStorm、GoLand、Riderなど、JetBrainsの全製品で使えます。Tabby拡張機能は、このプラットフォームに対応する一つの共通プラグインです。

  1. 01
    プラグインのインストール
    Settings → Plugins → Marketplace → 「Tabby」を検索 → Install、その後IDEを再起動する。
  2. 02
    接続の設定
    Settings → Tools → Tabby:エンドポイント(http://localhost:8080)とアクセストークンを入力してください。
  3. 03
    確認する
    ステータスバーのTabbyインジケーターで接続を確認できます。インラインの候補はVS Codeと同じように表示されます。

#5. Tabby の接続先を自分の Ollama に設定する

すでにClineやAiderのためにOllamaを動作させている場合は、第2の推論エンジンをロードする必要はありません。TabbyはOpenAI互換プロトコルを通じてOllamaバックエンドを利用できます。これにより、補完とチャットのために単一のモデルサーバーを共有できます。

Ollama側のFIMモデル
# Tirez un modèle de complétion FIM dans Ollama
ollama pull qwen2.5-coder:1.5b-base
# ou
ollama pull starcoder2:3b

Tabby側では、ローカルモデルの代わりにHTTPバックエンドを指定します。設定はデータボリューム内のconfig.tomlファイル(~/.tabby/config.toml)で行い、補完エンジンの接続先をOllama APIに設定します。

~/.tabby/config.toml
[model.completion.http]
kind = "ollama/completion"
model_name = "qwen2.5-coder:1.5b-base"
api_endpoint = "http://localhost:11434"
prompt_template = "<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>"
!
FIMテンプレートはモデルに依存します
各モデルファミリーには独自のFill-In-the-Middle(FIM)タグがあります(StarCoder、Qwen、DeepSeekでは異なります)。prompt_templateが間違っていると、意味の通らない補完候補が生成されます。設定を確定する前に、使用するモデルのモデルカードでFIMタグを確認してください。
i
コンテナから見たlocalhost
Tabby コンテナから、http://localhost:11434 はホストの Ollama に直接つながっていません。Docker Desktop の http://host.docker.internal:11434 を使用するか、Docker ネットワーク上のホストのIPアドレスを使用してください。それ以外の場合は、Tabbyは Ollama に接続できません。

#6.複数の開発者間でGPUを共有

純粋にローカルで動作する拡張機能と比べたTabbyの決定的な利点は、1台のサーバーと1基のGPUを複数の開発者で利用できることです。GPUを搭載したマシン(専用の端末やチーム用サーバー)にTabbyをインストールし、各開発者がエディタの接続先をそのネットワークアドレスに設定します。

ネットワーク上に公開
開発者の端末からポート 8080 にアクセスできる必要があります。内部ネットワークでは、サーバーのローカル IP アドレスで十分です(http://192.168.x.x:8080)。
開発者1人あたり1トークン
インターフェースで開発者ごとにアカウント/トークンを作成してください。追跡可能性を維持し、アクセスを個別に無効にできます。
必要なGPUの性能・容量を見積もる
小型のコード補完モデル(1.5B〜3B)なら、処理能力の限界に達することなく、複数の開発者が同時に利用できます。補完は短いため、リクエストの処理が重なることはまれです。
リバースプロキシ + HTTPS
LAN外からのアクセスが必要な場合、TabbyをCaddyまたはNginxによるリバースプロキシの後ろに配置し、TLSを用いてください。インターネット上では絶対に8080ポートを直接公開しないでください。
→
チーム向けの最適なサーバー
ミッドレンジの1枚のカード(12–16 GB)で、小規模チームのオートコンプリート環境を構築するのに十分です。Copilot のシートごとのサブスクリプションと比較すると、共有 GPU の投資回収は迅速です。また、すべてのコードは自社のインフラストラクチャ内に留まります。

#パフォーマンス設定とトラブルシューティング

遅延が大きすぎる
モデルを一段小さいものに変更し(3B → 1.5B)、--device cudaが有効でCPUへのフォールバックになっていないことを確認して、補完候補の最大長を制限してください。
提案なし
拡張機能の状態アイコン(トークンとエンドポイントが正しいか)と、コンテナが稼働しているか(docker ps)を確認してください。Web Playgroundを使うと、問題がサーバー側にあるのか、エディタ側にあるのかを切り分けられます。
的外れな提案
ほぼ常に、FIM 用の prompt_template が間違っているか、-base ではなく instruct 版を使っていることが原因です。ベースモデルに戻し、正しい FIM テンプレートを使ってください。
リポジトリのインデックス化(RAG)
Tabbyは、コードをインデックス化してより文脈に基づいた提案を提供できます。GPUの余裕がある場合はインターフェースで有効にし、遅延が問題になる場合は無効にします。
GPUメモリがいっぱい
複数のモデルを併用する場合(Tabbyと、Ollama経由のCline)は、KVキャッシュを量子化し、nvidia-smiでVRAMを監視してください。
迅速な診断
# Le conteneur tourne-t-il ?
docker ps | grep tabby
# Logs en direct
docker logs -f tabby
# Le GPU est-il bien vu ?
docker exec tabby nvidia-smi

#よくある質問

FAQ
Tabby は Cline または Copilot を置き換えるのでしょうか?+
Tabbyが置き換えるのは、Copilotのインライン補完(灰色で表示されるテキスト)だけです。これはまさにClineが行わない機能です。チャットや複数ファイルを扱うエージェントモードには、引き続きClineを使ってください。両者は同じエディタ内で共存し、同じGPUに接続して動作します。Tabbyは入力中に補完し、Clineは対話とリファクタリングを行います。
TabbyにはGPUが必要ですか?+
GPUの使用を強く推奨します。TabbyはCPUでも動作しますが、インライン補完には数百ミリ秒程度の応答時間が求められます。GPUがないと、行を入力し終えた後に候補が表示されてしまいます。約6GBのVRAMを備えたNVIDIA製グラフィックカードとNVIDIA Container Toolkitがあれば、小型の補完モデルを動かすには十分です。
私のコードはどこかに送られますか?+
いいえ。Tabbyは自己ホスト型です。サーバーはあなたのマシンまたはチームサーバー上で動作し、コードの内容は第三者に送信されることはありません。Tabbyはデフォルトで使用状況の匿名データを送信します(コードは一切送信されません)。変数TABBY_DISABLE_USAGE_COLLECTION=1を設定することで、完全に使用状況の収集を無効にできます。
既存の Ollama を再利用できますか?+
はい。Tabbyは互換プロトコルを介してOllamaバックエンドを利用できます。config.tomlでHTTP補完エンジンを定義し、接続先をOllamaのAPIに設定して、適切なFIM用の prompt_template を指定します。これにより、補完(Tabby)とチャット(Cline)で一つのモデルサーバーを共用できます。
単一のTabbyサーバーで何人の開発者をサポートできますか?+
GPUが1基でも、複数の開発者に対応できます。補完処理は短時間で断続的に行われるため、12~16 GBのカード上で動く1.5B~3Bモデルなら、処理能力を使い切ることなく小規模なチームに対応できます。利用を追跡できるよう開発者ごとにトークンを作成し、LAN上でポート8080を公開してください(リモートアクセスの場合は、TLS対応のリバースプロキシの背後で公開してください)。

#結論

これで、100%セルフホストのコード自動補完サーバーが整いました。GPUを使ってDockerで動くTabby、Fill-In-the-Middle方式のStarCoderまたはQwen-Coderモデル、アクセストークン、そしてVS CodeでもJetBrainsでも使えるCopilot風の薄いグレーの補完候補表示がそろっています。さらに、1台のGPUでチーム全体にサービスを提供できます。チャットとエージェントにはClineを組み合わせれば、必要な環境がすべてそろい、コードが自分のインフラストラクチャの外に出ることはありません。設定に何時間もかけたくない場合(FIMテンプレート、Ollamaの設定、役割別のモデルなど)、有料ガイド「Copilote de code local」には、すぐに使えるOllama + Cline + Aiderのパッケージが用意されています。インライン自動補完用にTabbyを追加できる構成です。

このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。