2026年7月11日 2 分钟阅读

Local Motion 实战:让 Cursor 用上本地大模型,macOS 一键切换

tinyash 0 条评论

你打开 Cursor,想在聊天中用本地模型跑一跑代码审查,不用等 API 响应也不担心隐私泄露。然后你打开 Ollama,拉模型,配置 Cursor 的 OpenAI Base URL,折腾一圈发现 Cursor 拒绝 127.0.0.1,必须开隧道,隧道又不知道怎么配——每次换模型都要重来一遍。

这就是 Local Motion 要解决的问题。它是一个 VS Code 扩展,让你在 Cursor(和原生 VS Code)上一键开关本地编码模型,自动选兼容的 GGUF 量化版本、自动管理内存、自动打通 Cursor 的隧道访问。

它做什么

Local Motion 的核心任务只有一件:在 macOS 上把你的本地模型变成 Cursor 和 VS Code 能直接使用的编码助手

具体来说:

  • 自动检测你的 Mac 架构、统一内存大小、可用磁盘空间,从 Hugging Face 上选一个兼容的量化版本
  • 通过 Homebrew 自动安装或复用已有的 llama-server,加载模型后暴露一个 loopback OpenAI 兼容端点
  • 在 Cursor 中自动开启 cloudflared 隧道,让 Cursor 的云后端能访问到你的本地模型(因为 Cursor 不允许直接连 127.0.0.1)
  • 用完一键释放内存,下次启动时如果模型文件还在磁盘上,几秒就可恢复

默认安装两套模型:Max(Qwen3-Coder-30B-A3B)和 Mini(Gemma 4 26B A4B),分别适配大内存和日常使用场景。你也可以手动更换任意 Hugging Face GGUF 仓库。

快速上手

安装

在 VS Code 或 Cursor 的扩展市场搜索 “Local Motion” 安装即可。如果你从源码安装:

git clone https://github.com/mattmireles/local-motion.git
cd local-motion
npm install
npm run package

启动

  1. 安装后,Local Motion 会自动打开本地 Agent 开关面板
  2. 点击 Turn On Local Agent
  3. 扩展会自动安装 llama.cpp(通过 Homebrew),下载兼容的 GGUF 模型文件(支持断点续传)
  4. 模型加载完成后,在 Cursor 中运行 Local Motion: Connect Cursor to Local Agent
  5. 命令面板会复制完整的 Cursor 设置块:API Key、Base URL、模型 ID
  6. 打开 Cursor Settings → Models,粘贴设置,开启 OpenAI API Key 开关

整个过程大约 5-15 分钟(取决于你的网络速度),之后每次启动 Cursor 都可以一键恢复上次使用的模型。

内存管理细节

Local Motion 在内存管理上做得比多数工具更细致:

  • 自动按统一内存的 80% 设定预算,考虑到 Metal wired-memory 的实际上限
  • 默认启用双模型配置:Max 用满预算,Mini 用一半
  • 从磁盘重新加载已下载的模型只需几秒(模型文件缓存在扩展的全局存储目录中)
  • Local Motion: Free Memory 立即卸载模型,释放 GPU 显存

如果你的 Mac 有 16GB 统一内存,Mini 配置(Gemma 4 26B A4B)可以流畅运行。32GB 以上可以跑 Max(Qwen3-Coder-30B-A3B)。

Cursor 隧道说明

这是 Local Motion 最值得注意的设计取舍。

Cursor 出于安全和架构原因,不开放 VS Code Language Model API(vscode.lm)——这意味着任何本地模型都不能像在 VS Code 中那样通过 loopback 直连。Cursor 将所有自定义模型请求路由到自己的云后端,再转发到你的端点,而云后端拒绝私有地址127.0.0.1localhost)。

Local Motion 的解决方案是自动启动一个 cloudflared 隧道,在本地代理前面暴露一个公网 HTTPS URL。Cursor 的请求经过:

你的 Mac → llama-server → Local Motion 代理 → cloudflared 隧道 → Cursor 云后端 → Cursor 编辑器

这有两个重要的注意事项:

  1. 不是完全私有的。虽然计算在本地,但提示词会经过 Cursor 云后端和隧道运营商的网络。Cursor 的零数据留存策略(Zero Data Retention)不适用于自定义 API Key
  2. 仅 Chat 模式官方支持。Cursor 的自定义 API Key 只对 Chat 模型生效。Tab 自动补全、Apply、Inline Edit 和 Agent 模式可能不使用自定义端点,需实测验证

在真正的 VS Code 中不存在这个问题——vscode.lm 路径完全走 loopback,100% 本地。

模型切换与自定义

默认的 Max/Mini 配置通过一个两槽的快捷切换面板管理。点击槽位旁的 Replace,粘贴 Hugging Face GGUF 仓库地址,扩展会自动验证兼容的 Q4+ 量化版本并下载替换。


支持任意 GGUF 格式的模型,只要兼容 llama-server。扩展内置了从 Hugging Face 实时搜索和排序的模型选择器,按你的 Mac 兼容性自动筛选。

局限与适用场景

场景适合?说明
VS Code + 本地编码助手vscode.lm 全本地,零隧道
Cursor Chat 本地模型需 cloudflared 隧道,提示词经 Cursor 后端
Cursor Agent/Composer⚠️自定义端点对 Agent 是 best-effort,需实测
完全离线/零信任环境Cursor 路径必须用隧道,无法完全离线
Windows/Linux仅 macOS

同类工具对比

工具平台模型管理Cursor 支持一键安装
Local MotionmacOS 仅自动选型 + 双槽切换,开箱即用✅ cloudflared 隧道✅ VS Code 扩展市场
OllamamacOS/Linux/Windows手动 ollama pull,需自行配置⚠️ 需手动配 tunnel❌ brew/手动
LM StudiomacOS/WindowsGUI 下载,手动选型⚠️ 需手动配 tunnel✅ 独立 App
LocalAILinux/macOSDocker❌ 无 Cursor 集成❌ Docker 手动

Local Motion 的独特价值在于自动化程度——它把模型选型、内存预算计算、Homebrew 依赖安装、Cursor 隧道打通和设置代码块复制,全部打包成一个 Turn On Local Agent 按钮。如果你在 macOS 上用 Cursor/VS Code 并想跑本地模型,这是目前最省心的选择。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。