- TabbyはGitHub Copilotのオープンソース・オンプレミス代替として提供されるセルフホスト型AIコーディングアシスタントであり、クラウドサービスなしで運用するワークフローを目指している
- サーバーはDBMSやクラウドサービスが不要な自己完結型構成を掲げており、OpenAPIインターフェースによりCloud IDEのような既存インフラと統合しやすいよう設計されている
- 実行環境はコンシューマー向けGPUをサポートし、Dockerコマンド1つで
StarCoder-1BコードモデルとQwen2-1.5B-Instructチャットモデルを使ってサーバーを立ち上げられる
- 最近のアップデートには、GitLab Merge Requestをコンテキストとしてインデックス化するv0.30、REST APIで独自ドキュメントを追加するv0.29、Answer Engineのメッセージを共有可能なPagesに変換するv0.28などが含まれる
- IDE/Editor拡張、インストール、設定ドキュメントとコントリビューションガイドが提供されており、Rust環境と一部依存関係を用意すれば
cargo buildで直接ビルドできる
Tabbyの役割と基本的な特徴
- Tabbyはセルフホスト型AIコーディングアシスタントで、GitHub Copilotのオープンソースかつオンプレミスな代替である
- 主な特徴は3つに整理できる
- 自己完結型のためDBMSやクラウドサービスが不要
- OpenAPIインターフェースを提供し、Cloud IDEのような既存インフラと統合しやすい
- コンシューマー向けGPUをサポート
- プロジェクトはドキュメント、Slack、ロードマップへのリンクを提供している
- ライブデモはTabbyのWebサイトで開ける
最近の変更点
- 2025-12-12: GitHub IssueをPochiのタスクに結び付けて実装し、サイドバーでCI/Lint/Test結果の分析とあわせてPRを作成できる
vscode@0.20.0が提供された
- 2025-07-02: v0.30がGitLab Merge Requestをコンテキストとしてインデックス化する機能をサポート
- 2025-05-25: Agentの非公開プレビュー待機列への参加案内が提供された
- 2025-05-20: v0.29でREST APIを通じて独自ドキュメントをTabbyに追加できる
- 2025-05-01: v0.28がAnswer Engineのメッセージを永続的かつ共有可能なPagesへ変換
- 2025-03-31: v0.27がチャットサイドパネルの
@メニューをより充実させた
以前のアップデートから見える機能範囲
- Answer Engineはv0.13.0で社内エンジニアリングチーム向けの中央知識エンジンとして紹介され、開発チーム内部のデータと統合して回答を提供する
- TabbyはGitLab SSO、セルフホスト版GitHub/GitLab、HTTP API統合、Code Browserのrepo-contextのような統合・設定機能を追加してきた
- IDEプラグインの流れには、VSCode/Vim/IntelliJのアップデート、VSCodeチャットサイドパネル、チャットコマンドによる編集、インライン補完の複数候補、自動生成コミットメッセージが含まれる
- コード補完はローカルLSP宣言や最近修正されたコードなどのローカル関連スニペットを活用し、v0.3.0ではRAGベースのコード補完がデフォルトで有効化された
- モデル対応の面では、CodeGemma、CodeQwen、Codestral、CodeLlama 7Bの実験対応、Apple M1/M2 Metal推論対応などが言及されている
始め方と実行例
docker run -it \
--gpus all -p 8080:8080 -v $HOME/.tabby:/data \
tabbyml/tabby \
serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct
- 追加オプションには推論タイプや並列性などの設定が含まれ、別のドキュメントページで確認できる
コントリビュートとビルド
git clone --recurse-submodules https://github.com/TabbyML/tabby
cd tabby
- すでにリポジトリをクローン済みなら、
git submodule update --recursive --initコマンドですべてのサブモジュールを取得できる
- ビルド前の準備事項は以下のとおり
- Rust環境のセットアップ
- macOS:
brew install protobuf
- Ubuntu/Debian:
apt install protobuf-compiler libopenblas-dev
- Ubuntuで便利なツール:
apt install make sqlite3 graphviz
- 準備ができたら
cargo buildでTabbyをビルドできる
- コントリビューションの流れは、変更後にPull Requestを提出する形となる
1件のコメント
Hacker Newsの意見
ホームページの
findMaxElement関数完成デモは、これから来る姿、あるいはもしかするとすでに現状をよく示している例かもしれないその関数に提案された Python 6行は、単に
return max(arr)に置き換え可能で、動きはするが完全に ジュニアレベルのコード だこうしたひどいコード自体も恐ろしいが、これを盲目的に 自動補完 する人たちが実力の伸びを止めてしまいそうなことの方がもっと心配だ
ストーリーポイントは稼げるかもしれないが、実際に開発者として前進したのかは疑問だ
しかしその 20% を理解するには LLM が処理した 80% も理解する必要があるので、LLM がデプロイまで代行することはできないという点であまり心配していない
機械語 → アセンブリ → C → Python → LLM(自然言語)という流れのように、人間のプロンプトを Python のような中間コードへコンパイルしているようなものだ
CPython の初期バージョンも完璧ではなかったはずだし、エンジニアたちも不安だっただろう。運が良ければこの新しい「コンパイラ」も次第に改善されて効率的になるだろうが、完璧にはならないだろう
それでも、人々がアセンブリを直接扱わないことの代償としてすでに払っているのと似たコストを支払うことになるかもしれない
今は AI ができて代わりにやってくれと頼むようになり、結局は知っていることもなく、できることもなくなってしまった
自分たちのプロジェクトが日曜に HN のトップページに載るとは思っていなかった
Tabby は2年前のリリース以降大きく進化し https://www.tabbyml.com、今ではコード補完とコードベースチャットを備えた総合的な AI開発者プラットフォーム になっている
チーム/エンタープライズ用途に合わせて、SSO、アクセス制御、ユーザー認証もサポートしている https://demo.tabbyml.com/search/how-to-add-an-embedding-api-...
導入したユーザーは、Tabby がオンプレミス提供方式の中で完全な セルフサービス型オンボーディング を提供する唯一のプラットフォームであり、性能も市場の他の選択肢に見劣りしないことに気づいているので、興味があれば試してみてほしい
https://www.reddit.com/r/LocalLLaMA/s/lznmkWJhAZ
https://www.linkedin.com/posts/kelvinmu_last-week-i-introduc...
ローカル AI をあまり知らないが使ってみたい立場としては、“run tabby in 1 minute” https://github.com/TabbyML/tabby#run-tabby-in-1-minute が、たとえば ChatGPT 無料版の 4o-mini と比べてどの程度なのか気になる
ミドルレンジの MacBook Pro で以下の Docker コマンドを実行すれば、速度や能力が似た AI を使えるのか、それともまだそこまでではないのか知りたい
docker run -it --gpus all -p 8080:8080 -v $HOME/.tabby:/data tabbyml/tabby serve --model StarCoder-1B --device cuda --chat-model Qwen2-1.5B-Instruct見ると、MacBook 向けの別案内ページがあり、文脈ももう少しある https://tabby.tabbyml.com/docs/quick-start/installation/appl...
「M1/M2 の演算能力は限られているため個人利用には十分かもしれないが、チーム向けの共有インスタンスが必要なら CUDA または ROCm ベースの Docker ホスティングを検討せよ」と書かれている
1.5B のような非常に小さいモデルはかなり賢くなく、対話的にコードを生成するには向いていないが、3B 以下のモデルでも タブ補完の提案 はかなりうまくできる
ローカルで動かせるより大きな「オープン」モデルもあり、32B〜70B クラスのモデルはコード作成を含むほぼすべての面で gpt-4o-mini よりはるかに優れている可能性がある。たとえば
llama3.3-70b-instructやqwen2.5-coder-32b-instructはかなり良いRAM が本当に不足しているなら、
qwen2.5-coder-7b-instructやcodegemma-7b-itも簡単な作業には使えるかもしれない「ミドルレンジの MacBook Pro」という表現だけでは不十分で、RAM がどれだけあるかが重要だ。経験則として、パラメータ 1B あたり約 1GB RAM が必要になる
強く量子化すれば 500MB、非量子化モデルなら 2GB 程度だが、8ビット量子化なら通常 1GB 前後で、たいてい問題ない
「IDE / 拡張機能の telemetry トグル」はCommunity Editionでは無効にできない。このテレメトリデータに何が含まれるのか気になる
struct HealthState {model: String,chat_model: Option,device: String,arch: String,cpu_info: String,cpu_count: usize,cuda_devices: Vec,version: Version,webserver: Option,}https://tabby.tabbyml.com/docs/administration/usage-collecti...
似た用途で Continue.dev と ollama を使っているが、この分野でツールがさらに増えるのはいつでも歓迎
ただし、いつものように実際に良いモデル、たとえば Qwen2.5-coder 32B を動かすにはかなり強力なハードウェアが必要
例はどれも本来ならライブラリで見つかりそうなコードばかりで、一部のコードは品質も怪しい
LLM はコードベース向けのスパムボットになるのだろうか?
「複数の NVIDIA GPU を活用する方法」によると、Tabby は単一 GPU のみをサポートし、複数 GPU を使うには Tabby インスタンスを複数立ち上げたうえで、CUDA では
CUDA_VISIBLE_DEVICES、ROCm ではHIP_VISIBLE_DEVICESを設定するとあるだとすると、NVLink で接続された GPU 2 枚を推論に使うことはサポートされていないのか、それとも NVLink が 2 枚の GPU を 1 枚のように扱うので別の話なのかが気になる
例としては https://tabby.tabbyml.com/docs/references/models-http-api/vl... を参照するとよい
すばらしいプロジェクト。大企業にデータを送って利用規約を信じる必要がないという発想が特に気に入っている
コーディングアシスタントの効果はコンテキスト長に直接比例するが、個人のコンピュータで動かせるオープンモデルはたいていずっと小さい
より複雑なコードベースでどれくらい有用かを定量化した資料があるとよい
推奨ハードウェアが気になる。GPU は必要なのか? 古い Ryzen APU(Zen 3 と Vega 7 グラフィックス)でもそこそこ動くだろうか?
内蔵グラフィックスの有無で大きな違いはなく、CPU だけで動かすとモデルは同じように非常に遅く実行される
Mac が LLM にそこそこ向いている理由は Apple Silicon のメモリ帯域幅が異常に高いからだが、非常に高速な VRAM を持つハイエンド GPU の速度には遠く及ばない
タブ補完に使う非常に小さなモデルであれば、古い AMD CPU でもおそらくそれなりに処理できる
とても良い。特にEclipse クライアントがあるのはうれしい https://github.com/TabbyML/tabby/tree/3bd73a8c59a1c21312e812...
ただ、Eclipse クライアントの情報を見つけるには少し掘る必要があった。メインの README にも、ドキュメントの IDE 拡張一覧にも載っていなかった
単なる記載漏れなのか、まだ「本格公開」する準備ができていないのかは分からない