Mac mini クラスタでClaude Codeを回したり、Ollamaをバックアップしたりという記事をこれまで書いてきましたが、ローカルLLMをAPIサーバーとして「常駐させる」という話はまだ扱っていませんでした。LM Studioは2026年1月28日公開のv0.4.0で、GUIなしで動くヘッドレス常駐デーモン「llmster」を追加しています。
この記事は、LM Studio公式のchangelog・ブログ記事・ドキュメントの記述をもとに整理したものです。あわせて、公式が配布しているJavaScript/TypeScript SDK「@lmstudio/sdk」をこのクラウド環境に実際にインストールし、クライアントの接続先やエラーメッセージといった、ソースコードに書かれた挙動まで確認しました。ただし、LM Studio本体(GUIアプリとllmsterデーモン)の配布元であるlmstudio.aiは、このクラウド環境のネットワークポリシー上アクセスできず、GPUやモデル重みも用意されていないため、実際にモデルを読み込んでチャットを完了させるところまでは検証できていません。その境界をできるだけはっきり書き分けます。
LM Studioとは
LM StudioはWindows / macOS / Linux向けのデスクトップアプリで、Hugging Face上のGGUF形式モデルをllama.cppで、MLX形式モデルをApple純正のMLXフレームワークで、それぞれローカル実行できるようにしたツールです。OpenAI互換のAPIサーバーを内蔵しており、ChatGPTやClaudeのAPIを呼ぶコードのエンドポイントを差し替えるだけで、手元のモデルに向けられる設計になっています。
公式が配布しているクライアントSDK「lmstudio-js」のREADMEには、次のような最小コード例が載っています。
import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();
const model = await client.llm.model("llama-3.2-1b-instruct");
const result = await model.respond("What is the meaning of life?");
console.info(result.content);
READMEは、モデルのロード・アンロードや推論パラメータの設定、投機的デコーディングへの対応など、OpenAI SDKには無いローカル推論向けの機能を持つ点を自社のセールスポイントとして挙げています。
v0.4.0で変わったこと:llmsterの登場
LM Studioの公式changelogによると、2026年1月28日公開のv0.4.0は「llmster: the LM Studio Daemon for headless deployments w/o GUI on servers or cloud instances」という1文とともに、次の変更をまとめてリリースしています。
- llmster:サーバーやクラウドインスタンス上で、GUIなしで動く常駐デーモン
- 並列推論:これまでのキュー処理に代わり、複数リクエストを同時に処理(continuous batching)
- ステートフルなREST API:
POST /v1/chatがレスポンスIDを返し、previous_response_idを渡すことで会話を継続できる - ローカルMCPサーバー対応
- UIの刷新
続く更新でも、ローカル推論まわりの機能追加が続いています。v0.4.2(2月6日)では並列リクエストの対象がMLXモデルにも広がり(テキストのみ、VLM対応は開発中とアナウンス)、v0.4.6(2月27日)ではTailscaleで暗号化接続する「LM Link」という、離れた場所のLM Studioインスタンスのモデルをローカルのように扱える機能が追加されています。
なお、ヘッドレス動作自体はv0.4.0が最初ではありません。GUIアプリを起動した状態でAPIサーバーだけを動かす「Local LLM Service」はv0.3.5(2024年10月)の時点で存在していました。v0.4.0のllmsterは、そのGUI依存を切り離し、GUIを一度も開かずにサーバー単体で動かせるようにした点が変更点です。
公式SDKを実際にインストールして挙動を確認する
npmのレジストリは、このクラウド環境のネットワークポリシーで直接アクセスできる数少ない外部ホストの1つだったため、公式SDK@lmstudio/sdk(2026年10月時点の最新版2.1.0、lmstudio-ai社自身が公開)をそのままインストールできました。
npm install @lmstudio/sdk@2.1.0
READMEのQuick Exampleをそのまま実行してみると、LM Studio本体(llmsterやGUIアプリ)が動いていないため、次のエラーで終了しました。
Failed to connect to LM Studio.
Please make sure LM Studio is running on your machine.
If you are attempting to connect to LM Studio on a separate machine, please provide the baseUrl option when creating the LMStudioClient:
const client = new LMStudioClient({ baseUrl: 'ws://<host_name>:<port>' });
(i) For more information, refer to the LM Studio documentation:
https://lmstudio.ai/docs/local-server
このエラー自体は想定どおりですが、SDKのビルド済みソース(node_modules/@lmstudio/sdk/dist/index.cjs)を読むと、接続先を探すguessBaseUrlという関数が実装されていて、ブラウザ環境ではまずws://127.0.0.1:1234への接続を試す、とコメント付きで書かれていました。サーバーが見つからない場合に表示するメッセージには、起動コマンドとしてlms server start --corsが埋め込まれています。ポート1234という既定値と、起動コマンドの綴りが、ドキュメントの記述とソースコードの両方で一致することを確認できた形です。
型定義ファイル(index.d.ts)にはPluginRunnerTypeという型があり、"ecmascript" | "node" | "deno" | "mcpBridge"という4つの値が定義されています。このmcpBridgeという値から、changelogが挙げている「ローカルMCPサーバー対応」が、プラグイン実行の仕組みとしてSDKの型定義にも反映されていることが確認できました。
一方、lmsというCLI本体をnpmで単独インストールしようとすると、公開されているlmsパッケージはrequire("@lmstudio/cli")と書かれた薄いラッパーで、肝心の@lmstudio/cli本体は一般公開されたnpmレジストリには存在しませんでした(404)。実行バイナリ自体はLM Studio本体のインストーラー経由で配布されており、そのインストーラーはlmstudio.aiドメインにあるため、このクラウド環境からは取得できません。
ドキュメント上のヘッドレスセットアップ手順
公式ドキュメント(Headless / llmster関連ページ)によると、Linux・macOSでは1行のインストールスクリプトでlmsコマンドとllmsterデーモンを導入し、Windowsでは専用のPowerShellスクリプトを使うとされています。起動と運用のコマンドは次のとおりです。
lms daemon up/lms daemon down:llmsterデーモン自体の起動・停止lms server start:OpenAI互換APIサーバーの起動。既定では127.0.0.1(ローカルホストのみ)で待ち受け、--bind 0.0.0.0を付けるとLAN内の他端末からも到達可能になるlms daemon status:デーモンの稼働状況の確認
Linux向けドキュメントには、OS起動時にllmsterを自動起動するためのsystemdユニットの例も載っており、ExecStart側でlms daemon upを前段に挟み、ExecStop側でlms daemon downを呼ぶ構成が示されています。Mac miniのような常時稼働機を、画面を開かないサーバーとして使っている人にとっては、電源投入からAPIサーバー起動までを自動化できる経路になります。
使う前に確認しておきたいこと
llmster自体はオープンソースではなく、LM Studio本体と同じクローズドソースの配布物です。先に確認した@lmstudio/sdkやlmsのCLIラッパーはnpmで公開されていますが、推論エンジン本体のソースはGitHub上では公開されていません(クライアントSDKであるlmstudio-jsはMITでGitHub公開されています)。社内の既存資産をどこまで監査したいかによって、Ollamaのような完全OSSの推論サーバーと比べる基準が変わってきます。
また、公式の技術プレビューとして提供されているDocker版は、第三者の解説記事によるとx86環境ではCPUのみの動作とされています。GPUを使ったヘッドレス運用を考えている場合は、この記事執筆時点ではDockerではなくベアメタル(または直接インストール)側の手順を使うほうが無難です。この点は公式ドキュメントで未確認のため、導入前にlms --helpや公式ドキュメントの最新版で挙動を確認してください。
まとめ
LM Studio v0.4.0で追加されたllmsterは、これまでGUIアプリ起動が前提だったローカルLLMサーバーを、サーバーやクラウドインスタンス上でGUIなしのデーモンとして動かせるようにする機能です。このクラウド環境ではLM Studio本体の配布元ドメインにアクセスできず、GPUもないため実際にモデルを読み込んで応答させるところまでは確認できませんでしたが、公式SDKを実インストールしてソースを読むことで、既定の接続先(ws://127.0.0.1:1234)や起動コマンド(lms server start --cors)、MCP関連の型定義が実装されていることは確認できました。Mac miniのような常時稼働機にローカルLLMサーバーを立てたい人にとって、GUIを開きっぱなしにしなくて済む選択肢が増えた形です。
