Lima v2.0 发布,为安全 AI 工作流带来新特性
Lima 项目团队发布了 Lima 的第二个重大版本。在此版本中,团队将项目重点扩展到 AI 领域,同时继续支持容器。
Lima(Linux Machines)是一个命令行工具,用于启动本地 Linux 虚拟机,主要用于在笔记本上运行容器。该项目始于 2021 年 5 月,目标是向 Mac 用户推广 containerd 和 nerdctl(contaiNERD CTL)。
v2.0 更新内容
插件支持
Lima 现提供插件架构,允许第三方实现新功能,无需修改 Lima 核心代码:
- VM 驱动插件:支持更多虚拟机管理程序。
- CLI 插件:为
limactl命令增加子命令。 - URL 方案插件:支持
limactl create SCHEME:SPEC中传入更多 URL 方案。
插件接口仍处于实验阶段,未来版本将稳定接口。
GPU 加速
Lima 新增 krunkit VM 驱动,支持 macOS 主机上的 Linux 虚拟机 GPU 加速。
截图显示 llama.cpp 在 Lima 中运行时,能够识别 Apple M4 Max 处理器为虚拟 GPU。
模型上下文协议(MCP)
Lima 提供了 MCP 工具,通过 VM 沙箱安全地执行本地文件的读写和命令执行:
- glob
- list_directory
- read_file
- run_shell_command
- search_file_content
- write_file
这些工具灵感来自 Google Gemini CLI 自带工具,可作为更安全的替代方案。配置指南见:https://lima-vm.io/docs/config/ai/outside/mcp/
其他改进
limactl start命令新增--progress标志,显示配置进度。limactl (create|edit|start)命令增加--mount-only DIR标志,仅挂载指定主机目录。v1.x 版本中需用复杂语法实现。limactl shell新增--preserve-env标志,允许将主机环境变量传入虚拟机。- 除了 TCP 端口之外,UDP 端口现在也默认转发。
- 多个主机用户可同时运行 Lima,支持使用“Alcoholless” Homebrew 以独立用户账户运行,增强安全性。
详见发布说明:https://github.com/lima-vm/lima/releases/tag/v2.0.0 。
拓展重点:强化 AI 安全
Lima 最初旨在向 Mac 用户推广 containerd,但已给证明适用于多种场景。其中最显著的是在虚拟机内运行 AI 编码代理,以隔离代理对主机文件和命令的直接访问。这样即使 AI 代理被网络上的恶意指令误导(如伪造软件包安装),潜在风险也局限于虚拟机内部或仅限挂载的主机文件。
运行 AI 代理的两种场景:Lima 内的 AI 和 Lima 外的 AI。
Lima 内的 AI
这是最常见的场景,在 Lima 虚拟机内运行 AI 代理。文档提供了多个强化 AI 代理的示例:
- Aider
- Claude Code
- Codex
- Gemini CLI
- GitHub Copilot CLI
- Visual Studio Code 中的 GitHub Copilot
本地大型语言模型也可用,结合 krunkit VM 驱动的 GPU 加速功能。
Lima 外的 AI
指在主机进程中运行 AI 代理,脱离 Lima 虚拟机。Lima 通过提供 MCP 工具,拦截文件访问和命令执行,支持此场景。
快速开始:Lima 内的 AI
介绍如何在 Lima 内运行 AI 代理(如 Gemini CLI),防止 AI 直接访问主机文件和命令。
如果使用 Homebrew,可通过命令安装 Lima:
brew install lima
其它安装方法见:https://lima-vm.io/docs/installation/ 。
用limactl start创建并启动 Lima 虚拟机实例。由于默认配置会挂载整个主目录,强烈建议限制挂载范围为当前目录(.),尤其是运行 AI 代理时:
mkdir -p ~/test
cd ~/test
limactl start --mount-only .
如需允许写权限,在挂载路径后加:w后缀:
limactl start --mount-only .:w
例如可以安装并运行 Gemini CLI,命令如下:
lima sudo snap install node --classic
lima sudo npm install -g @google/gemini-cli
lima gemini
Gemini CLI 可在虚拟机内任意读写执行文件,但只能访问挂载的主机文件,无法直接访问其他主机文件。
更多 AI 代理运行示例见:https://lima-vm.io/docs/examples/ai/


