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でチーム全体にサービスを提供する方法も紹介します。
#ClineではなくTabbyを選ぶ理由
TabbyとClineは競合ではなく、補完関係です。Cline(およびAider)は会話型チャットやマルチファイルアジェントモードで優れていますが、入力中の各行の自動補完は実装されていません。一方、Tabbyはその機能を専門に実現しており、非常に優れたパフォーマンスを発揮します。2026年の勝利コンボ:Clineで会話とリファクタリング、Tabbyで入力中のグレイサジェストを提供。
- インライン表示のグレーのテキスト
- カーソルのすぐ後ろに、候補が灰色の文字で表示されます。Tabキーで採用し、Escキーで無視します。操作感はCopilotとまったく同じです。
- 100%セルフホスト
- サーバーはお客様の環境(Docker)で動作します。第三者にコードの一部が送信されません——NDAや規制業界のコードに最適です。
- Multi-utilisateurs
- 純粋にローカルな拡張機能とは異なり、Tabbyはサーバーです。1つのGPUでネットワークを介してチーム全体にサービスを提供できます。
- テレメトリは無効化可能
- Tabbyはデフォルトで匿名の統計情報を送信しますが、環境変数を設定することですべてを停止できます。入力したソースコードは一切送信されません。
#前提条件
このガイドでモデルの導入まで、キットでエディタ内でコードを書くコパイロットの導入まで進められます。
- 永久に利用できるオンラインスペース
- 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 の拡張機能は両方に対応しています。
#どの補完モデルを選ぶか
インライン補完にはチャットが持たない制約があります。すなわち遅延です。提案が数百ミリ秒以内に表示されなければ、ユーザーはそれより速く入力してしまうため、遅延を最小限に抑えるために、FIM(Fill-In-the-Middle)方式のコンパクトなモデルを採用します。-baseバージョンを用い、チャット用の大きなインストラクションモデルは使用しません。
| VRAM | コード補完モデル | 注記 |
|---|---|---|
| 4–6 GB | StarCoder2 3B | 応答が速く、多言語に対応しており、Tabbyの標準的な選択肢として適しています。 |
| 6~8 GB | Qwen2.5-Coder 1.5B / 3B(ベース) | FIMは優秀で、非常に高速です。FR/Python/TS。 |
| 8~12 GB | Qwen2.5-Coder 7B(ベースモデル) | 2026年のFIMの定番モデル(4.7 GB):的確な提案で、レイテンシもまだ低い。 |
| 12 GB+ | StarCoder2 7B / Qwen-Coder 7B | 複数の開発者が同じサーバーを共同利用する場合に。 |
#1. DockerでTabbyを起動
TabbyサーバーをGPUにアクセスできるようにし、データを保持する永続的なボリュームと、選択された補完モデルで起動します。ポート8080はWebインターフェースおよびAPIを公開します。
- 01起動の確認最初の起動時にTabbyはモデルをダウンロードします(数分程度)。docker logs -f tabby でログを確認し、サーバーが8080ポートでリスニングしていることを示すメッセージが出るまで待機してください。
- 02ウェブインターフェースを開くhttp://localhost:8080 にアクセスしてください。初回アクセス時に、管理者アカウント(メールアドレスとパスワード)の作成を求められます。これはローカル環境で動作するため、これらの認証情報は手元のボリューム ~/.tabby 内に保存されます。
- 03コード補完をテストするインターフェースの「Playground」タブでは、エディタを接続する前でもモデルが応答することを確認できます。
#2. アクセストークンを作成する
エディタはトークンを使ってTabbyサーバーで認証を行います。これにより、チームで誰が接続しているかを把握し、システム全体に支障をきたすことなく個別のアクセス権を取り消せます。
- 01設定に移動Webインターフェース(http://localhost:8080)で、アカウント/セキュリティのセクションを開いてください。現在のユーザーのトークンが表示されます。
- 02トークンをコピー文字列(多くの場合、auth_で始まります)を取得してください。VS CodeとJetBrainsの拡張機能で入力を求められるのは、この文字列です。
- 03必要に応じて再生成漏洩が起きた場合や、共同作業者が離任した場合は、インターフェースからトークンを再生成してください。古いトークンは直ちに無効になります。
#3. VS Codeを接続する
- 01拡張機能をインストールExtensions(Ctrl+Shift+X)→「Tabby」(公開元:TabbyML)を検索する → Install。
- 02エンドポイントを入力する最初の起動時に、拡張機能はサーバーのURLを要求します。http://localhost:8080(またはネットワーク上の共有サーバーのIPアドレス)を入力してください。
- 03トークンを貼り付ける前のステップでコピーしたアクセストークンを入力してください。ステータスバーのTabbyアイコンが緑色(接続済み)になるはずです。
- 04Coderコードを入力してください。カーソルの後にグレーの補完候補が表示されます。採用するにはTabキーを押し、無視するにはそのまま入力を続けてください。
#4. JetBrains を接続する
同じ設定は、IntelliJ IDEA、PyCharm、WebStorm、GoLand、Riderなど、JetBrainsの全製品で使えます。Tabby拡張機能は、このプラットフォームに対応する一つの共通プラグインです。
- 01プラグインのインストールSettings → Plugins → Marketplace → 「Tabby」を検索 → Install、その後IDEを再起動する。
- 02接続の設定Settings → Tools → Tabby:エンドポイント(http://localhost:8080)とアクセストークンを入力してください。
- 03確認するステータスバーのTabbyインジケーターで接続を確認できます。インラインの候補はVS Codeと同じように表示されます。
#5. Tabby の接続先を自分の Ollama に設定する
すでにClineやAiderのためにOllamaを動作させている場合は、第2の推論エンジンをロードする必要はありません。TabbyはOpenAI互換プロトコルを通じてOllamaバックエンドを利用できます。これにより、補完とチャットのために単一のモデルサーバーを共有できます。
Tabby側では、ローカルモデルの代わりにHTTPバックエンドを指定します。設定はデータボリューム内のconfig.tomlファイル(~/.tabby/config.toml)で行い、補完エンジンの接続先をOllama APIに設定します。
#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ポートを直接公開しないでください。
#パフォーマンス設定とトラブルシューティング
- 遅延が大きすぎる
- モデルを一段小さいものに変更し(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を監視してください。
#よくある質問
Tabby は Cline または Copilot を置き換えるのでしょうか?+
TabbyにはGPUが必要ですか?+
私のコードはどこかに送られますか?+
既存の Ollama を再利用できますか?+
単一のTabbyサーバーで何人の開発者をサポートできますか?+
#結論
これで、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を追加できる構成です。
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。