# LM Studio 教程：用桌面应用运行本地模型

> LM Studio 是一款在自己电脑上运行开放 AI 模型的桌面应用，自带模型搜索、对话窗口，以及一个兼容 OpenAI API 的本地服务器。这篇 LM Studio 教程从内置搜索下载模型，载入并和它对话，再为你的代码启动服务器，最后介绍 `lms` 命令行。

Mindket 编辑部 · 发布于 2026-11-05 · 更新于 2026-11-05 · https://mindket.com/cn/learn/local-ai/lm-studio-tutorial

## 要点

- 在进度条开始走之前，选好你的电脑装得下的下载版本。
- 对一份 PDF 提问，文件始终留在你的电脑上。
- 为 OpenAI 写的代码，直接拿来调用你桌上的模型。
- 在终端或脚本里载入和卸载模型。

## 开始之前

LM Studio 把和 Ollama 同类的引擎装进了一个桌面应用。在所有系统上，它都通过 llama.cpp 运行 GGUF 文件。按 [Hugging Face 的 GGUF 页面](https://huggingface.co/docs/hub/gguf)的说法，GGUF 是一种单文件格式，装着模型权重和一套标准元数据，专为快速载入而设计。

在 Apple 芯片的 Mac 上，LM Studio 还能用 MLX 运行模型。MLX 是 Apple 自己的机器学习框架，要下载单独的 MLX 版本。

应用的[概览页面](https://lmstudio.ai/docs/app)列出了它能做的事。它能下载并运行 gpt-oss、Llama 和 Qwen 这样的开放模型。它能和模型对话。它还能接入 MCP 服务器，也就是模型通过 Model Context Protocol 调用的工具，并在你的电脑上或整个局域网里提供类似 OpenAI 的接口。

三大桌面系统都能用，系统要求页面给出了各自的门槛。在 x64 的 Windows 上，处理器必须支持 AVX2，这是程序依赖的一组 CPU 指令，x64 的 Linux 版默认也带 AVX2 支持。下载模型需要联网。

- macOS：Apple 芯片（M1、M2、M3 或 M4），macOS 14.0 或更新版本，建议 16GB 或更多内存。
- Windows：支持 AVX2 的 x64，或者 ARM（Snapdragon X Elite）。建议至少 16GB 内存和 4GB 独立显存。
- Linux：Ubuntu 20.04 或更新版本，x64 或 ARM64。应用以 AppImage 的形式发布，这是一个不用安装就能运行的单文件。

**塑造了这一课内容的 LM Studio 版本**

1. **2024年5月2日** lms 命令行。`lms` 随应用一起提供，可以在终端里载入模型、启动服务器。
2. **2024年10月8日** Apple MLX。Apple 芯片的 Mac 可以在 GGUF 之外运行 MLX 模型。
3. **2025年6月25日** LM Studio 支持 MCP。LM Studio 成为 MCP 宿主，模型可以调用你添加的服务器里的工具。
4. **2026年1月28日** LM Studio 0.4.0。推出名为 llmster 的无界面核心、llama.cpp 上的并行请求、有状态的 `/v1/chat` 路由，以及 `lms daemon up`。
5. **2026年7月16日** LM Studio Bionic。一款独立的智能体应用，面向开放模型，和 LM Studio 本身并存。
6. **2026年9月18日** Splash 引擎。Bionic 1.1.5 或更新版本里的实验性后端，要求 M3 或更新的 Mac、macOS 26.4 或更新版本，以及至少 36GB 统一内存。

来源：[LM Studio blog: lms, the LM Studio CLI](https://lmstudio.ai/blog/lms) (2026-11-05 查阅)；[LM Studio blog: LM Studio 0.3.4 ships with Apple MLX](https://lmstudio.ai/blog/lmstudio-v0.3.4) (2026-11-05 查阅)；[LM Studio blog: MCP in LM Studio](https://lmstudio.ai/blog/lmstudio-v0.3.17) (2026-11-05 查阅)；[LM Studio blog: LM Studio 0.4.0](https://lmstudio.ai/blog/0.4.0) (2026-11-05 查阅)；[LM Studio blog: Introducing LM Studio Bionic](https://lmstudio.ai/blog/introducing-lm-studio-bionic) (2026-11-05 查阅)；[LM Studio blog: Splash engine](https://lmstudio.ai/blog/splash-engine) (2026-11-05 查阅)

## 下载模型并和它对话

一切从模型搜索标签页开始（界面上叫 Discover），它在应用里直接搜索 Hugging Face。在 Mac 上按 `⌘` + `2`，在 Windows 和 Linux 上按 `Ctrl` + `2`，随时都能跳过去。可以按关键词搜，按 `user/model` 这样的名字搜，也可以直接粘贴完整的 Hugging Face 地址。

每个模型都有好几个下载选项，名字类似 `Q3_K_S` 或 `Q8_0`。它们是同一个模型的不同量化版本。量化就是用更少的位数存每个权重，让文件变小，代价是损失一些质量。[下载页面](https://lmstudio.ai/docs/app/basics/download-model)建议，只要电脑跑得动，就选 4 位或更高的版本。这些标签具体对应多少 GB，第 4 课会算清楚。在那之前，先拿文件大小和你的空闲内存比一比。

下载和载入是两个步骤。载入是把权重放进内存。Chat 标签页顶部的模型载入器负责这件事，载入前还可以先设置参数。其中两项也是 `lms load` 的选项：交给 GPU 的工作比例，以及上下文长度，也就是模型一次能装下多少文字。

给对话附上 `.docx`、`.pdf` 或 `.txt` 文件，模型就会根据它来回答。短文件只要装得进模型的上下文，就会整份放进对话。文档对话页面把上下文称作模型的工作记忆，用 token 计量，一个 token 大约是四分之三个英文单词。整份文件最适合能处理长上下文的模型，页面举的例子是 Llama 3.1 和 Mistral Nemo。长文件会让 LM Studio 改用检索：挑出看起来相关的段落，只把这些交给模型。你的问题决定了它能找到什么。[同一页面](https://lmstudio.ai/docs/app/basics/rag)建议，在问题里写上你预期答案会包含的词。

1. 从 [LM Studio 的下载页面](https://lmstudio.ai/download)下载对应系统的安装程序并安装。Linux 版下载下来是一个 AppImage。
2. 打开模型搜索标签页，搜索一个模型，比如 `gemma` 或 `llama`。
3. 选一个 4 位或更高、内存装得下的下载选项，下载它。
4. 打开 Chat 标签页，打开模型载入器，选中模型并载入。
5. 提一个问题。想处理文件，就把它附到对话里，再问它的内容。

## 为你的代码启动本地服务器

服务器会把载入的模型变成一个 OpenAI 风格的 API。在应用里，打开 Developer 标签页，打开 Start server 开关。在终端里，`lms server start` 效果一样。它的[选项](https://lmstudio.ai/docs/cli/serve/server-start)有选端口的 `--port`，以及允许网页调用服务器的 `--cors`。不加 `--port` 时，它沿用上一次的端口。任何空闲端口都行。

LM Studio 的示例都用 `1234` 端口，所以基础地址是 `http://localhost:1234/v1`。路由有 `GET /v1/models`，以及用 `POST` 调用的 `/v1/chat/completions`、`/v1/responses`、`/v1/completions` 和 `/v1/embeddings`。`model` 字段填的是 LM Studio 为已载入模型显示的标识符。OpenAI 的编程智能体 Codex 也能用这个服务器，因为 LM Studio 实现了 `POST /v1/responses`。

下面的代码就是 LM Studio 自己的 chat completions 示例。如果你在第 2 课里针对 Ollama 的 `/v1` 路由写过代码，同一个客户端换个基础地址就能在这里用。密钥只是占位符，系统消息和其他消息一样放在 `messages` 里。

chat completions 页面还说明，对经过对话调优的模型，LM Studio 会自动套用提示词模板。提示词模板是模型训练时习惯的、包在每条消息外面的一圈特殊 token，所以你的代码只需发送普通的角色和文字。

请求不一定要用你手动载入的模型。JIT 载入是“即时载入”的缩写，服务器会载入请求里点名的模型。空闲 TTL 指这样的模型在没有请求时能在内存里留多久，[TTL 页面](https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict)给出的默认值是 60 分钟。Auto-Evict 会在载入新模型之前，先卸载上一个即时载入的模型。请求还能自带以秒为单位的 `ttl`。

默认情况下，服务器不要密钥就接受请求。身份验证是 Developer 页面 Server Settings 里的一个开关，令牌从 Manage Tokens 按钮生成。新令牌要马上复制，因为应用只显示一次。开关打开后，文档说通过 REST API 和两个 SDK 的调用都需要有效令牌，以 bearer 令牌的形式放在 `Authorization` 请求头里。

通过 Serve on Local Network 设置，或者运行 `lms server start --bind 0.0.0.0`，局域网里的其他设备也能访问这个服务器。[局域网页面](https://lmstudio.ai/docs/developer/core/server/serve-on-network)提醒，只要绑定的不是 `127.0.0.1`，服务器就会暴露到你的电脑之外，所以建议先打开身份验证。页面列出的用途包括用一台强机器服务几台弱设备，以及几个人共用一份。

兼容 OpenAI 的路由并不是唯一的入口。同一个服务器还支持兼容 Anthropic 的格式和 LM Studio 自己的 REST API，LM Studio 也为 Python 和 TypeScript 发布了 SDK，分别是 `lmstudio-python` 和 `lmstudio-js`。

````python
from openai import OpenAI

client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")

completion = client.chat.completions.create(
  model="model-identifier",
  messages=[
    {"role": "system", "content": "Always answer in rhymes."},
    {"role": "user", "content": "Introduce yourself."}
  ],
  temperature=0.7,
)

print(completion.choices[0].message)
````

## 用 lms 在终端里操作 LM Studio

`lms` 命令随 LM Studio 一起安装，不需要另外装什么。先至少启动一次应用，再运行 `lms --help` 确认它能用。

学过第 1 课的话，这些命令看着会很眼熟，只有一点不同：载入是单独的一步。用 `lms get` 下载，用 `lms load` 把模型放进内存，用 `lms chat` 和它对话。Ollama 则是在 `ollama run` 里顺带完成载入。LM Studio 把它单独拿了出来。

脚本靠的是载入选项。`--gpu` 接受 `0` 到 `1` 之间的比例，`max` 表示所有层都放到 GPU，`off` 表示都不放，不写的话由 LM Studio 自己决定。`--context-length` 设置上下文长度。`--identifier` 给载入的模型起一个固定名字，这样换了背后的文件，代码里的 `model` 字段照样能用。这样载入的模型没有 TTL，除非你自己加上，比如 `--ttl 3600` 表示空闲一小时后卸载。

在没有屏幕的机器上，还有两条命令很重要。`lms daemon up` 启动无界面守护进程，也就是一个没有应用窗口的后台服务。`lms runtime` 管理并更新推理运行时，也就是真正运行模型的引擎。

下载时可以在 @ 符号后面写量化版本，比如 `lms get llama-3.1-8b@q4_k_m`，`--mlx` 或 `--gguf` 则把搜索限定在一种格式。这样下载的模型，和应用里下载的放在同一个目录。代码收到奇怪的回答时，`lms log stream` 会打印进出模型的消息。

````bash
lms get llama-3.1-8b@q4_k_m        # download one quantization
lms ls                             # models on disk
lms load openai/gpt-oss-20b --identifier="my-model-name"
lms ps                             # models in memory
lms server start --port 3000       # the API server, on a port you choose
lms log stream                     # watch requests and replies
lms unload --all
````

| lms | 作用 | 最接近的 Ollama 命令 |
| --- | --- | --- |
| `lms get` | 搜索并下载模型 | `ollama pull` |
| `lms ls` | 列出硬盘上的模型 | `ollama ls` |
| `lms load` | 把模型载入内存 | `ollama run`，它在打开对话时顺带载入 |
| `lms ps` | 列出已载入内存的模型 | `ollama ps` |
| `lms unload` | 卸载一个模型，加 `--all` 卸载全部 | `ollama stop` |
| `lms chat` | 开始交互式对话 | `ollama run` |
| `lms server start` | 启动本地 API 服务器 | `ollama serve` |
| `lms import` | 把模型文件导入 LM Studio | 没有单独对应的命令 |
| `lms runtime` | 管理并更新推理运行时 | 没有单独对应的命令 |

## Qwen 团队说，一个 9B 模型在 LM Studio 里要多少内存

阿里巴巴的 Qwen 团队发布开放的基础模型。他们三月在 [X 上](https://x.com/Alibaba_Qwen/status/2028664203872251943)说，Qwen3.5-9B 已经上架 LM Studio，本地运行只要大约 7GB。帖子引用了 LM Studio 自己的公告，公告补充说这个模型能接收图片输入、能思考，也能调用工具。

大约 7GB 是下载的大小，不是全部开销。上下文还要在文件之外再占内存，所以一台刚好装得下文件的电脑，遇到很长的对话或很大的文档，仍然可能不够用。

想试试的话，在模型搜索标签页里搜 Qwen3.5-9B，选一个装下之后还能剩几 GB 的下载选项。载入后打开系统的内存监视器，把它实际占用的内存和帖子里的数字比一比，再在一段长对话之后比一次。

> Qwen3.5-9B 现已登陆 LM Studio。本地运行只需大约 7GB。
>
> Qwen, 阿里巴巴 Qwen 团队的账号，发布开放的基础模型，引文为译文, [X](https://x.com/Alibaba_Qwen/status/2028664203872251943) (2026-11-05 查阅)

[![Qwen（@Alibaba_Qwen）2026 年 3 月 3 日在 X 上说，Qwen3.5-9B 已经上架 LM Studio，本地运行只要大约 7GB。帖子引用了 LM Studio 的公告，说这个模型能接收图片输入、能思考，也能调用工具。](https://mindket.com/blog/shots/x-alibaba-qwen-lm-studio-9b.webp?v=0439295b9370)](https://x.com/Alibaba_Qwen/status/2028664203872251943)

Qwen 在 X 上，2026 年 3 月 3 日

> X 官方嵌入卡片的截图，拍摄于 2026 年 11 月 5 日，时间为 UTC。点击截图可到 X 上打开原帖。

## 常见错误

- 觉得最大的下载选项听起来最好，就选了它。每个选项都是同一个模型，文件越大，载入时要的内存越多。
- 发送的 `model` 值和 LM Studio 显示的标识符对不上。从应用里复制，或者用 `--identifier` 自己定一个。
- 在从没启动过应用的电脑上运行 `lms`。文档要求先启动一次。
- 从不信任的来源安装 MCP 服务器。LM Studio 的 MCP 页面提醒，有些服务器能运行任意代码、读取你的本地文件，还能使用你的网络。
- 以为即时载入的模型一回答完就会释放内存。它会按空闲 TTL 留下来，默认是一小时。
- 对一份很长的附件提一个笼统的问题。检索只把找到的段落交给模型，所以要写出答案里应该有的词。
- 只有脚本调用的服务器，却打开了 `--cors`。CORS 是“跨源资源共享”的缩写，是浏览器让别的地址上的网页访问服务器的规则，脚本根本用不上。

## 自己试一试

- 下载同一个模型的 4 位和 8 位版本，在 My Models 里比较它们的大小。
- 对一页的笔记和一份很长的 PDF 问同一个问题，用上你预期答案里会有的词。
- 启动服务器，运行 `curl http://localhost:1234/v1/models`，把一个标识符复制到 Python 示例里。
- 用 `--identifier` 载入一个模型，再让 Python 示例改用这个名字。
- 在一个终端里运行 `lms log stream`，在另一个终端里运行 Python 示例，看看发出去的是什么。
- 在 JIT 载入打开时，在请求里点名一个还没载入的模型，再到 `lms ps` 里找它。

> 接下来：两个工具都把同一个模型分成好几种大小，还问你要放多少到 GPU 上。[第 4 课](https://mindket.com/cn/learn/local-ai/local-llm-hardware)从参数量讲起，算出哪个模型、哪种量化适合你的电脑。

## 自测一下

1. 在 Windows 上，哪个快捷键能打开 LM Studio 的模型搜索？

   A. Ctrl + S
   B. Ctrl + M
   C. Ctrl + 2
   D. Ctrl + D

   答案：C。 在 Windows 和 Linux 上按 Ctrl + 2，在 Mac 上按 ⌘ + 2，就能打开在应用里搜索 Hugging Face 的标签页。

2. 只要电脑跑得动，LM Studio 建议选哪种下载选项？

   A. 4 位或更高的版本
   B. 最小的文件
   C. 永远选完整的 16 位文件

   答案：A。 下载页面建议，电脑性能够的话，选 4 位或更高的版本。

3. Python 代码连上了服务器，但模型名写错了，怎样一劳永逸地解决？

   A. 打开 --cors
   B. 重启应用
   C. 调大上下文长度
   D. 用 --identifier 载入模型，并在代码里用这个名字

   答案：D。 固定的标识符能让 model 字段一直有效，哪怕你换了背后的文件。

4. 附到对话里的长 PDF 会怎样处理？

   A. LM Studio 把它上传去处理
   B. LM Studio 检索相关段落，只把这些交给模型
   C. 对话拒收这个文件
   D. 整份文件总会贴进上下文

   答案：B。 文件太长、装不进上下文时，LM Studio 会改用检索，而文档始终留在你的电脑上。

## 常见问题

### LM Studio 能离线使用吗？

能，除了获取新东西以外都可以。对话和附上的文档都留在你的电脑上，断网也能用。搜索模型、下载模型、更新应用或运行时需要联网，应用打开时也会检查更新。

### LM Studio 比 Ollama 更好吗？

两者重合的地方比不同的地方多。它们都通过 llama.cpp 运行 GGUF 模型，都在你的电脑上提供兼容 OpenAI 的 API。LM Studio 在前面加了模型浏览器和对话窗口，还能附加文档。Ollama 则围绕命令行、自己的 API 和一个按标签命名的模型库来设计。

### LM Studio 能用 MCP 服务器吗？

能，从 0.3.17 版开始，它就是一个 MCP 宿主。打开右侧边栏的 Program 标签页，选 Install，再选 Edit mcp.json，按 `mcpServers` 的格式添加服务器。

### LM Studio 把下载的模型存在哪里？

存在它的模型目录里，在 My Models 里可以查看和修改。用 `lms get` 下载的模型也放在同一个目录。Hugging Face 的模型页面在“Use this model”里也提供 LM Studio，适用于 GGUF 和 MLX 文件。

## 资料来源

- [LM Studio Docs: Welcome to LM Studio](https://lmstudio.ai/docs/app) (2026-11-05 查阅)
- [LM Studio Docs: System requirements](https://lmstudio.ai/docs/app/system-requirements) (2026-11-05 查阅)
- [LM Studio Docs: Get started](https://lmstudio.ai/docs/app/basics) (2026-11-05 查阅)
- [LM Studio Docs: Download an LLM](https://lmstudio.ai/docs/app/basics/download-model) (2026-11-05 查阅)
- [LM Studio Docs: Chat with documents](https://lmstudio.ai/docs/app/basics/rag) (2026-11-05 查阅)
- [LM Studio Docs: Offline operation](https://lmstudio.ai/docs/app/offline) (2026-11-05 查阅)
- [LM Studio Docs: Use MCP servers](https://lmstudio.ai/docs/app/mcp) (2026-11-05 查阅)
- [LM Studio Docs: Local server](https://lmstudio.ai/docs/developer/core/server) (2026-11-05 查阅)
- [LM Studio Docs: Idle TTL and Auto-Evict](https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict) (2026-11-05 查阅)
- [LM Studio Docs: Authentication](https://lmstudio.ai/docs/developer/core/authentication) (2026-11-05 查阅)
- [LM Studio Docs: Serve on Local Network](https://lmstudio.ai/docs/developer/core/server/serve-on-network) (2026-11-05 查阅)
- [LM Studio Docs: OpenAI compatibility](https://lmstudio.ai/docs/developer/openai-compat) (2026-11-05 查阅)
- [LM Studio Docs: Chat completions](https://lmstudio.ai/docs/developer/openai-compat/chat-completions) (2026-11-05 查阅)
- [LM Studio Docs: lms CLI](https://lmstudio.ai/docs/cli) (2026-11-05 查阅)
- [LM Studio Docs: lms server start](https://lmstudio.ai/docs/cli/serve/server-start) (2026-11-05 查阅)
- [LM Studio Docs: lms get](https://lmstudio.ai/docs/cli/local-models/get) (2026-11-05 查阅)
- [LM Studio Docs: lms load](https://lmstudio.ai/docs/cli/local-models/load) (2026-11-05 查阅)
- [Hugging Face Docs: GGUF](https://huggingface.co/docs/hub/gguf) (2026-11-05 查阅)
- [Hugging Face Docs: Use AI models locally](https://huggingface.co/docs/hub/local-apps) (2026-11-05 查阅)
- [LM Studio blog: lms, the LM Studio CLI](https://lmstudio.ai/blog/lms) (2026-11-05 查阅)
- [LM Studio blog: LM Studio 0.3.4 ships with Apple MLX](https://lmstudio.ai/blog/lmstudio-v0.3.4) (2026-11-05 查阅)
- [LM Studio blog: MCP in LM Studio](https://lmstudio.ai/blog/lmstudio-v0.3.17) (2026-11-05 查阅)
- [LM Studio blog: LM Studio 0.4.0](https://lmstudio.ai/blog/0.4.0) (2026-11-05 查阅)
- [LM Studio blog: Introducing LM Studio Bionic](https://lmstudio.ai/blog/introducing-lm-studio-bionic) (2026-11-05 查阅)
- [LM Studio blog: Splash engine](https://lmstudio.ai/blog/splash-engine) (2026-11-05 查阅)
- [Qwen on X: Qwen3.5-9B is now available on LM Studio](https://x.com/Alibaba_Qwen/status/2028664203872251943) (2026-11-05 查阅)

[浏览 MCP 服务器](https://mindket.com/cn/mcp-servers)
