将 LM Studio 转换为 OpenAI 风格的 API 服务器 (2026)
在 LM Studio 中,打开 Developer 选项卡并开启 Start server 开关:服务器会监听 1234 端口,并提供兼容 OpenAI 的端点(/v1/chat/completions、/v1/responses、/v1/embeddings、/v1/models)。任何 OpenAI 客户端只需更改基础地址即可使用。默认情况下,服务器不要求身份验证,且仅监听 localhost:API 令牌和网络访问可在 Server Settings 中设置。
LM Studio 不仅是聊天界面:其本地服务器可替代 OpenAI API,供您的脚本、代码编辑器和智能体使用,无需向外部发送任何文本。本指南涵盖服务器的启用、每一项设置、经过身份验证的网络访问、模型按需加载以及单台计算机的实际限制,并考虑了 0.4 版本带来的变化。
#您将获得的内容
完成本指南后,您将拥有一个地址 http://localhost:1234/v1,任何 OpenAI SDK(Python、JavaScript、C#)、LangChain 或 Cline、Continue 等代码工具都可以使用该地址,替代 OpenAI API。服务器还在 /api/v1 下提供原生 API(支持有状态聊天、模型加载和下载),以及兼容 Anthropic 的端点。所有内容都保留在您的电脑上:只要您不主动将服务暴露到网络中,模型、请求和响应就不会离开您的电脑。
#1. 启动服务器
只需 1 小时,即可在您的电脑上拥有专属的免费 ChatGPT — LM Studio、Ollama、Open WebUI、您的文档,无需云端。
- 在线空间,终身可用
- PDF + 文件
- 30 天内退款
- 01打开 Developer 选项卡在 LM Studio 中,Developer 选项卡集中提供服务器、其日志和设置。要通过服务器提供服务的模型必须事先下载。
- 02启用 Start server打开 Start server 开关:服务器会在 Server Settings 中指定的端口上启动,文档示例中的端口为 1234。
- 03或通过命令行启动通过终端执行命令lms server start可启动相同服务器,无需打开界面。
- 04检查模型列表调用/v1/models以确认服务正常响应,并查看需在请求中使用的模型标识。
#2. 逐项配置服务器参数
这些设置位于 Developer → Server Settings。它们决定谁可以调用服务器,以及客户端可以让服务器执行哪些操作。大多数集成问题都源于其中某个开关,最常见的是网络或 CORS 开关。
| 设置 | 角色 | 建议 |
|---|---|---|
| Server Port | 服务器监听端口(文档中为1234) | 如果端口已被占用,请更换它 |
| Require Authentication | 要求在 Authorization 请求头中提供有效的 API 令牌 | 一旦服务器不再仅限于 localhost 访问,就启用它 |
| Serve on Local Network | 使服务器能够被局域网中的其他设备访问 | 默认关闭;需与身份验证结合使用 |
| Allow per-request MCPs | 允许客户端使用临时的远程 MCP 服务器 | 除非有明确需求,否则请保持禁用状态 |
| Allow calling servers from mcp.json | 允许客户端使用在 LM Studio 中定义的 MCP 服务器 | 需要身份验证;如果MCP访问您的文件则存在风险 |
| Enable CORS | 允许来自其他源的 Web 应用 | 仅适用于网页应用或某些扩展 |
| Just in Time Model Loading | 按需加载模型,在收到请求时加载 | 便于与第三方工具配合使用;参见相关章节 |
| Auto Unload Unused JIT Models | 卸载已不再使用的JIT模型 | 释放内存 |
| Only Keep Last JIT Loaded Model | 仅保留最后一个按需加载的模型 | 适用于VRAM有限的显卡 |
#3. 使用 curl 进行测试
先发送一次测试请求,就足以验证服务器。在请求中,model 字段必须填写模型在 LM Studio 中显示的标识符,而不是 local-model 这样的通用名称:文档中的 curl 示例也提醒了这一点。
响应是 OpenAI 格式的 JSON:choices[0].message.content 包含文本。如果 model 字段的值不正确,或者按需加载已被禁用且模型尚未加载,请求就会失败:请先检查 /v1/models 返回的模型标识符。
#4. 从Python调用
使用 openai SDK 时,只需更改基础地址:这正是 LM Studio 文档所展示的修改。SDK 要求提供密钥;只要身份验证处于关闭状态,LM Studio 就不会检查该密钥;如果启用身份验证,该密钥就是您的 API 令牌。
流式传输方式与 OpenAI 相同:客户端无需任何更改即可实时显示 token。面向智能体和编辑器,LM Studio 还实现了下文介绍的 /v1/responses 端点。
#该选择哪种 API:OpenAI、Anthropic 还是原生 API
LM Studio 提供三类 API 端点。兼容 OpenAI 的端点涵盖模型、响应、聊天、嵌入和文本补全。兼容 Anthropic 的端点接受 Anthropic 的消息格式。从 0.4.0 版本起,原生 API /api/v1 新增了 LM Studio 特有的功能:有状态聊天、模型加载、卸载和下载,以及为每个请求设置上下文。
| 需求 | Endpoint | 备注 |
|---|---|---|
| 在现有工具中替换 OpenAI API | /v1/chat/completions | 支持流式传输和自定义工具 |
| 智能体或Codex类客户端 | /v1/responses | 支持会话状态和MCP功能 |
| 用于RAG的嵌入向量 | /v1/embeddings | 预先加载的嵌入模型 |
| 支持 Anthropic 格式协议的客户端 | 兼容 Anthropic 的端点 | 同一服务器,不同消息格式 |
| 加载、卸载、下载模型 | /api/v1/models/* | 原生 API,自 0.4.0 版本起由 LM Studio 推荐 |
| 在请求中设置上下文 | /api/v1/chat | 唯一支持通过请求传递上下文的端点 |
#6. 多个模型:按需加载和TTL机制
通过按需加载(JIT,即即时加载),首次调用模型时会将其加载到内存中,/v1/models 将列出所有已下载的模型,而不仅限于已加载的模型。若不启用 JIT,/v1/models 只返回已加载的模型,调用前必须先加载模型。该模式适用于 Zed、Cline 或 Continue 等工具自行选择模型的场景。
- 默认 TTL(存活时间)
- 按需加载的模型在60分钟无请求后将被卸载
- 每次请求的 TTL
- 在请求中添加一个ttl字段(单位:秒);300表示5分钟。
- lms load 的 TTL
- 使用 lms load 加载的模型默认没有 TTL,请使用 --ttl 选项。
- Auto-Evict
- 默认启用:按需加载的模型中,同一时间只有一个会留在内存中。如需同时保留多个模型,请禁用此选项。
#7. 将服务器暴露到网络,并启用认证
要让网络中的另一台电脑调用您的服务器,请在 Server Settings 中启用 Serve on Local Network,或以 0.0.0.0 作为监听地址启动。此时服务器将不再仅监听 localhost:文档提醒,绑定到 127.0.0.1 以外的任何地址都会使服务器暴露到本机之外,并建议启用身份验证。
与一种常见误解相反,LM Studio 支持对请求进行身份验证。默认情况下,它不要求身份验证;在 Server Settings 中启用相应开关后,它只接受携带有效 API 令牌的请求。令牌在 Manage Tokens 中创建,并可选择授予的权限。令牌只在创建时显示:请立即复制。此功能需要 LM Studio 0.4.0 或更高版本。
如果需要从互联网访问,请不要直接暴露端口,而应通过 VPN 或带 TLS 的反向代理访问。其原理与 Ollama 服务器相同,安全加固指南对此有详细说明。如果想使用另一台机器上的模型,更简单的替代方案是 LM Link:它能让您调用远程设备上的模型,就像模型已在本地加载一样。
#无图形界面:使用 llmster 并实现自动启动
自 0.4.0 版本起,LM Studio 的核心以独立守护进程 llmster 的形式提供,专为在 Linux 服务器、GPU 主机或本地电脑上无界面运行而设计。用一条命令即可安装,再用 lms daemon up 启动守护进程,随后用 lms server start 启动服务器。在带图形界面的电脑上,您也可以在应用设置中勾选登录时启动服务器的选项:此时关闭应用会将其最小化到系统托盘,服务器仍会继续运行。
#9. 性能:真正重要的因素
- 将计算卸载到 GPU
- 尽可能多地将模型层加载到 VRAM 中。如果模型无法完全放入显存,需要将一部分放到系统内存中运行,就会损失大部分吞吐量。
- Context Length
- 请选择实际需要的上下文长度,而非最大值:上下文缓存会占用 VRAM,且随长度增加而增长。
- Max Concurrent Predictions
- 单个模型同时处理的请求数量;超出此数量的请求将进入等待队列。
- Unified KV Cache
- 默认启用:资源不会在请求之间按固定份额分配,因此可以支持大小不同的请求。
关于Flash Attention和上下文窗口的指南详细说明了其对内存的影响。对于多用户高吞吐场景,专用服务器仍更合适:vLLM部署指南对此进行了说明。
#限制与替代方案:发生了什么变化
一些经常被提及的限制如今已不再成立,纠正这些说法会影响工具的选择。下表将仍然常见的说法与当前文档中的说明进行对比。
| 常见误解 | 现实 |
|---|---|
| 无需认证 | API 令牌自 0.4.0 版本起可用,默认关闭 |
| 请求依次执行 | 0.4.0 版本可并行处理发往同一模型的请求(连续批处理),并发数量上限由 Max Concurrent Predictions 决定;超出上限的请求会等待 |
| 工作中使用必须取得商业许可证 | 据 LM Studio 的公告,自 2025 年 7 月起,在家和工作中使用均免费 |
| 无图形界面不可行 | llmster以守护进程方式运行,无图形界面 |
| 仅限一台电脑,无法共享 | Serve on Local Network 和 LM Link 可以为其他设备提供服务 |
仍有一些实际限制:LM Studio 是为单台工作站设计的,而非集群;连续批处理不能替代 vLLM 这类为数十名用户设计的服务器;应用更新也可能改变某些行为,因此在提供服务的机器上必须固定应用版本。要在 LM Studio 和其他同类产品之间做出选择,请在决定采用前先进行比较。
- 来源:LM Studio 文档,本地 API 服务器
- 来源:LM Studio 文档,服务器设置
- 来源:LM Studio 文档,认证
- 来源:LM Studio文档,OpenAI兼容性
- 来源:LM Studio 0.4.0 发布公告
如何在 LM Studio 中启用 API 服务?+
如何让其他电脑能够访问 LM Studio 服务器?+
LM Studio 是否为其 API 提供身份验证功能?+
LM Studio 是否支持并行处理多个请求?+
model 字段中应填写哪个标识符?+
在企业中使用 LM Studio 是否免费?+
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。