Skip to main content
Buttress サーバーは macOS、Linux、Windows 向けのスタンドアロン実行ファイル bricks-buttress として提供されます。Node.js ランタイムは不要です。必要であれば npm や Bun からインストールすることもできます。Linux で GPU アクセラレーションを使用する場合は、インストーラーを実行する前に CUDA または Vulkan のドライバーをインストールしてください — インストーラーは検出結果に合わせたビルドを選択します。

ハードウェア

GPU なしでも動作しますが、スループットは大きく低下し、能力スコアでもこのホストは優先度の低いバックエンドとして扱われます。

インストール

スクリプトがアーキテクチャ (Apple Silicon または Intel) を検出し、bricks-buttress~/.bricks-cli/bin にインストールします。Metal アクセラレーションはデフォルトビルドに含まれているため、追加の選択は不要です。~/.bricks-cli/binPATH に含まれていない場合、スクリプトがシェル設定ファイル (~/.zshrc~/.bash_profile~/.config/fish/config.fish) に追記し、シェルの再起動を促します。
スタンドアロン版のインストーラーは BRICKS CLI とインストール先を共有するため、PATH を 1 か所設定するだけで両方のツールをカバーできます。 インストールを確認します:

ネイティブモジュール

スタンドアロンバイナリには GGML、ONNX Runtime、sharpoxc-transform のネイティブアドオンを埋め込めません。インストーラーはこれらを npm レジストリから実行ファイルの隣にある node_modules ディレクトリへダウンロードします。バージョンはバイナリのビルド時に使用したものに固定されます。ステータスダッシュボード (public/status.html)、macOS では MLX ブリッジスクリプトも同じ場所に配置されます。 インストールのたびにこのディレクトリは作り直されるため、アップグレード後に古いネイティブモジュールが残ることはありません。https://registry.npmjs.org ではなくミラーからネイティブパッケージを取得するには BUTTRESS_NPM_REGISTRY を設定します。

GPU アクセラレーションのバリアント

GGML バックエンドはアクセラレーターごとにビルドが分かれています。インストーラーはホストを調べて最適なものを選び、デフォルトの CPU ビルドと合わせてそのバリアントだけをダウンロードします。 検出結果が期待と異なる場合は上書きできます — 例えばドライバーを後からインストールしたマシンなどです:
指定できる値は auto (デフォルト)、defaultcudavulkansnapdragon (Linux のみ)、all です。all はすべてのバリアントをダウンロードします — サイズは大きくなりますが、インストールディレクトリをイメージ化して他のホストへ展開する場合に便利です。
Windows の MSYS や Git Bash から install.sh を実行した場合、その環境では結果が信頼できないため GPU の検出はスキップされます。--ggml-variant を明示的に渡すか、PowerShell 版インストーラーを使用してください。

インストーラーのオプション

サーバーを起動

設定ファイルなしの場合、ポート 2080 で妥当なデフォルト値を使って起動します:
TOML 設定を指定する場合:
同じフラグでパスではなくインライン TOML 文字列を渡すこともできます:
完全なスキーマは設定リファレンスを参照してください。

CLI フラグ

ポートは次の順で解決されます:--port フラグ → TOML 内の [server] port → デフォルト 2080 bricks-buttress にはサブコマンド update もあります — 下のアップデートを参照してください。

環境変数

システム環境変数は TOML の [env] セクションの値を上書きします。

macOS の GPU メモリ

Apple Silicon Mac では既定で GPU はシステムメモリの約 70% までしか使えません。大きいモデルを読み込む前に上限を引き上げるには:

動作確認

サーバー起動時に LAN から到達可能な URL(例:Visit http://<ip>:2080/status to see status via LAN.)が表示されます。その URL、またはローカルから http://localhost:2080/status を開くとステータスダッシュボードが表示されます。 ダッシュボードはバックエンド(GGML-LLM、GGML-STT、MLX-LLM)ごとに以下を表示します:
  • 読み込まれている generator の一覧と、現在アクティブなモデル context を保持しているもの
  • STT の並列スロット使用状況とキューに溜まったリクエスト
  • 直近のモデルロード履歴、completion/文字起こし履歴(折りたたみ可能)
ページ上の Refresh ボタンで同じデータを再取得できます。/status には認証がありません — サーバーは信頼された LAN でのみ公開してください。 機械可読な形式が必要な場合は、JSON エンドポイントを直接叩いてください:
/buttress/info は Foundation デバイスが HTTP フォールバック検出で読み取るエンドポイントです — LAN 自動検出を参照してください。

ベータチャンネル

実行ファイル名はどちらのチャンネルでも bricks-buttress のため、ベータ版をインストールすると既存の安定版を置き換えます。同じディレクトリで共存はできません — 両方が必要な場合は --dir / -InstallDir を指定してください。

アップデート

bricks-buttress update で既存のインストールをその場で更新できます。サーバーのインストール方法 — スタンドアロンバイナリ、npm グローバル、Bun グローバル — を検出し、対応する更新処理を実行します:
  • スタンドアロンバイナリ — CDN のインストーラーを再実行し、実行ファイルを置き換えてネイティブモジュールのディレクトリを再構築します。新しいリリースでネイティブパッケージのバージョンが変わっていれば、それも反映されます。既存のインストール先はそのまま使われるため、--dir で指定した場所は保持されます。
  • npm / Bun — グローバルの @fugood/buttress-server パッケージを再インストールします。
リリースチャンネルは実行中バージョンのプレリリース接尾辞から推定されます。バージョン情報の取得元は、npm と Bun のインストールでは npm の dist-tag、バイナリのインストールでは CDN のリリースメタデータです。新しいバージョンが利用可能な場合は、実行中のサーバーもこのコマンドを含むアップグレード通知を表示します。 検出された方法が失敗した場合は、フォールバックとしてバイナリインストーラーを提案します。この経路はネイティブモジュールが欠落・破損している場合にも使えます — update はサーバーのバックエンドを読み込む前に実行されるため、壊れたインストールを自力で修復できます。Windows ではロックされたネイティブモジュールのディレクトリを失敗させずに退避するので、サーバーの実行中でも自己更新できます。

アンインストール

アンインストーラーが削除するのは Buttress 自身のファイル — 実行ファイル、ネイティブモジュールのディレクトリ、ステータスページ、MLX ブリッジスクリプト — だけです。このディレクトリは BRICKS CLI と共有されているため、ディレクトリ自体が削除されることはありません。別の場所にインストールした場合は --dir / -InstallDir を指定してください。

次のステップ

設定

generator、キャッシュ、互換エンドポイントを設定します。

ワークスペースバインディング

サーバーをワークスペースとペアリングして JWT 認証を有効化します。