lms
LM Studio 桌面应用的命令行控制工具,一条命令管理本地模型、启停 API 服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
LM Studio 桌面应用的命令行控制工具,一条命令管理本地模型、启停 API 服务器
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你刚刚在 LM Studio 桌面应用中下载了一个 70 亿参数的模型,正准备在深夜调试 prompt,却不想离开键盘去操作 GUI 窗口——这时候,lms 就是你的救星。
lms 是 LM Studio 官方出品的命令行工具(CLI),它把 LM Studio 桌面应用的所有核心能力搬到了终端里。无论是查看已下载模型、动态加载/卸载模型、启动本地推理 API 服务器,还是流式读取日志,全部一条命令搞定。对于习惯在终端里工作的开发者来说,这相当于给本地大模型装上了一个"遥控器"。
图1:lms CLI 工具在不同终端主题下的 Logo 展示
LM Studio 诞生于 2024 年初,由一支专注本地 AI 推理的团队打造。它的核心目标是:让大模型推理像安装一个桌面应用一样简单,彻底消除云端 AI 的隐私焦虑和使用成本顾虑。
在 LM Studio 快速迭代的过程中,团队发现桌面 GUI 虽然降低了普通用户的使用门槛,但高级用户和开发者仍然渴望更高效的交互方式——他们习惯在终端里写脚本、编 pipeline、做自动化测试。于是 lms 应运而生,成为 LM Studio 工具链中不可或缺的一环。
从 GitHub 提交记录来看,该 CLI 仓库已累计超过 320 次提交,保持着活跃的维护节奏。MIT 开源许可也确保了任何人都可以自由使用、二次开发或集成到自己的项目中。
通过 lms ls 可以快速列出本地已下载的所有模型及其文件大小、格式信息。如果需要机器可读的输出,加上 --json 参数即可无缝对接自动化脚本。加载模型使用 lms load <模型路径> -y,-y 参数会自动确认,最大化 GPU 加速,无需任何交互操作。用完以后 lms unload <模型标识> 或 lms unload --all 一键卸载,释放显存和内存。
这是 lms 最有生产力的功能之一:lms server start 可以将本地模型暴露为一个 OpenAI 兼容的 REST API。这意味着现有大量基于 OpenAI API 编写的应用(如 Cursor、Ragflow、各种 AI 助手)无需修改代码,只需改一个 endpoint 地址,就能直接切换到本地模型进行推理。所有数据流转完全在本地完成,隐私零泄露。
对于开发者来说,这意味着可以在完全断网的环境中搭建 AI 工作流——比如企业内部的知识库问答系统、医疗记录处理工具、代码审查流水线,数据永远不出公司网络。
lms status 可以实时查看 LM Studio 运行状态(是否在运行、加载了哪些模型)。lms ps --json 配合脚本可以做定时巡检,监控模型存活情况。lms log stream 则提供了实时的日志流,调试推理异常时非常有用。
从代码结构来看,lms 是 lmstudio.js monorepo 的一个子包,名为 @lmstudio/lms-cli。
技术栈:
目录结构采用了高度模块化的设计:
src/subcommands/:各子命令(ls、load、unload、server、ps 等)的具体实现src/types/:TypeScript 类型定义src/utils/:工具函数(进度条、文件下载、格式化、时间戳等)src/*.ts:核心逻辑(如 createClient.ts 建立与 LM Studio 后端的 gRPC 连接)值得注意的是,lms 并不是一个独立运行的服务器,它本质上是一个 LM Studio 后端服务的客户端。它通过 SDK(@lmstudio/sdk)与运行中的 LM Studio 桌面应用(或其 headless 服务端)通信。这意味着 CLI 的能力完全依赖于 LM Studio 本身的功能——CLI 只负责发起命令和展示结果。
适合你使用 lms 吗? 可以从以下维度判断:
| 维度 | CLI (lms) | GUI (LM Studio 桌面) |
|---|---|---|
| 适合人群 | 开发者、极客、DevOps | 普通用户、AI 爱好者 |
| 交互方式 | 终端命令,管道/脚本 | 鼠标点击,可视化 |
| 自动化能力 | 高(可嵌入 pipeline) | 低 |
| 学习曲线 | 中等(需熟悉命令) | 低 |
| 远程控制 | 支持(API server) | 不支持 |
如果你已经在用 LM Studio 桌面应用但需要自动化或远程调用,lms server start + SDK 是最佳组合。如果你是普通用户只是想和模型聊聊天,桌面 GUI 更加直观。
lms 并非没有短板,以下几点值得注意:
1. 必须依赖 LM Studio 本身。 lms 不能脱离 LM Studio 独立运行——它只是一个控制工具,不是推理引擎。如果 LM Studio 桌面应用崩溃或未启动,所有 CLI 命令都会失败。这对于追求高可用的生产环境来说是一个隐患。
2. 文档相对简略。 README 只提供了基础命令列表,缺少故障排查指南和高级用法(如如何配置 API 限流、如何做模型热切换)。对于复杂集成场景,开发者可能需要去 Issues 区翻找答案。
3. Node.js 版本要求较高。 engine 字段要求 ^25.5.0(即 25.5 以上版本),而目前大多数 Linux 发行版的默认 Node.js 还停留在 18-20 区间。这意味着在某些服务器环境中无法直接安装,需要通过 nvm 或 fnm 等版本管理器切换 Node 版本,增加了部署复杂度。
4. 没有 Docker 支持。 项目没有提供 Dockerfile 或 docker-compose,对于习惯容器化部署的团队来说,只能自己编写镜像,增加了接入成本。
lms 的存在反映了一个明确的行业趋势:本地 AI 推理工具链正在快速成熟。
从 2023 年 Ollama 引领本地 LLM 潮流,到 2024 年 LM Studio 带来更好的 GUI 体验,再到如今 lms 将这一切搬到命令行,本地大模型的使用门槛已经大幅降低。过去需要掌握复杂 Docker 配置、GPU 驱动、CUDA 环境才能跑起来的模型,现在点几下鼠标或敲几条命令就能搞定。
GitHub 上超过 4800 颗 star 的数据也印证了社区的强烈需求——无论是 AI 开发者、Prompt 工程师,还是关注数据隐私的企业团队,都对"本地运行、无隐私风险、可定制"的 AI 工具有着极高的期待。
随着模型量化技术的进步和硬件成本的持续下降,可以预见未来会有更多类似的工具出现,而 lms 作为 LM Studio 生态的重要组成部分,已经在这个方向上占据了有利位置。
# 方式一:已有 LM Studio 0.2.22+,直接运行
lms --help
# 方式二:新安装,添加到 PATH
npx lmstudio install-cli
# 查看已下载模型
lms ls --json
# 启动本地 API 服务器(OpenAI 兼容)
lms server start
# 加载模型并最大化 GPU 加速
lms load <model-path> -y