ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Ollama本地Qwen2接入Cursor|搭建免费离线AI代码助手,无需联网、无API费用【第三期】

Ollama本地Qwen2接入Cursor|搭建免费离线AI代码助手,无需联网、无API费用【第三期】 1. 为什么本地 Qwen2 接入 Cursor 值得折腾如果你平时用 Cursor 写代码大概率遇到过这几种尴尬地铁上网络断断续续补全转圈半天不出来免费额度用完后想继续用高级模型得掏订阅费公司项目涉及业务逻辑代码片段传到云端总有点不踏实。Ollama 本地跑 Qwen2 再接到 Cursor 上正好把这几个问题一次性解决——推理全在本机、断网可用、调用次数不限、代码不出本地。这套方案的核心检索词就是Ollama 本地 Qwen2 接入 Cursor本质是让 Cursor 把 AI 请求发到本机的http://localhost:11434/v1而不是默认的云端接口。Ollama 自带 OpenAI 兼容层Cursor 又支持自定义 Base URL两边一对上就通了。适合谁学生刷题练手、独立开发者日常编码、对代码隐私敏感但又不想花钱买订阅的人。轻薄本、无独显的机器也能跑选 1.5B 或 4B 的量化模型响应速度完全够日常补全和问答。我试过在 16G 内存的核显笔记本上跑 qwen2:1.5b补全延迟基本在可接受范围写个工具函数、解释报错、生成注释都很顺。这一期就把从拉模型到 Cursor 配置、再到验证请求的完整路径写清楚顺带把在线模型通道用 TaoToken 统一管理的补充方案也讲一下方便你本地和云端模型混着用。2. 前置准备Ollama 拉取 Qwen2 与 Cursor 环境确认动手之前先把两件事确认好Ollama 装好并且能跑 Qwen2Cursor 装好并且是较新版本。Ollama 的安装各平台都有对应包装完后终端执行ollama --version能看到版本号就说明没问题。接下来拉模型Qwen2 在 Ollama 库里有多个尺寸按你机器内存选模型标签参数量大致内存占用适用场景qwen2:0.5b0.5B约 1GB极低配机器、简单补全qwen2:1.5b1.5B约 2GB轻薄本日常编码、问答qwen2:7b7B约 6GB16G 内存以上、复杂逻辑qwen2:7b-instruct7B约 6GB对话与指令跟随更好拉取命令直接跑ollama pull qwen2:1.5b拉完后用ollama list确认模型已经在本地列表里。然后启动一次对话验证模型能正常推理ollama run qwen2:1.5b能进入交互界面、输入一句话有回复就说明模型和服务都正常。按CtrlC退出对话但注意 Ollama 的后台服务不要关Cursor 后面要靠它。如果你之前没装过 Ollama装完后它一般会常驻后台端口默认11434。可以用下面命令确认服务在监听curl http://localhost:11434/api/tags返回一串 JSON里面能看到qwen2:1.5b就对了。这一步很关键很多人后面 Cursor 连不上根源就是 Ollama 服务根本没起来。Cursor 这边去官网下免费版即可装完先别急着登录账号我们走自定义模型通道。3. 可复制配置Cursor 自定义 Base URL 与模型名Cursor 的模型配置入口在设置里。按Ctrl Shift PMac 是Cmd Shift P打开命令面板输入Preferences: Open Settings回车进入设置页。在搜索框里输入OpenAI能找到几个关键项OpenAI Base URL、OpenAI API Key、OpenAI Model Name。我们要改的就是这三项。第一项 Base URL 填本地 Ollama 的兼容接口地址http://localhost:11434/v1注意结尾的/v1不能少这是 OpenAI 兼容层的路径。第二项 API KeyOllama 本地接口不做鉴权但 Cursor 这个字段不能空着随便填一串字符即可比如ollama-local。第三项 Model Name 必须和 Ollama 里的模型标签完全一致大小写都不能错qwen2:1.5b如果你拉的是 7b就写qwen2:7b。这里有个坑不要写Qwen2、Qwen2-7B这种带大写或额外后缀的名字Cursor 会原样发给 OllamaOllama 找不到就报模型不存在。除了在设置 UI 里填Cursor 的配置其实落在settings.json里你也可以直接编辑这个文件路径大致在用户配置目录下。对应的 JSON 片段长这样{ cursor.openai.baseUrl: http://localhost:11434/v1, cursor.openai.apiKey: ollama-local, cursor.openai.modelName: qwen2:1.5b }如果你同时想保留在线模型的通道比如用 TaoToken 统一管理其他模型的 Key 和 API 地址可以在需要切换时把 Base URL 换成 TaoToken 的 API 地址https://taotoken.net/apiKey 换成在控制台生成的令牌Model Name 换成对应在线模型 ID。这样本地和在线两套配置可以按场景切换本地负责隐私和离线在线负责更强推理。TaoToken 的接入文档里有各客户端的配置示例需要的时候去 API Keys 页面拿 Key、去接入文档看路径即可。配置改完完全退出 Cursor 再重新打开。不是关窗口是彻底退出进程否则旧配置可能还缓存着。重开后随便打开一个代码文件准备做验证。4. 验证请求一次离线补全与对话的完整动作验证分两步先确认 Cursor 的请求真的打到了本地 Ollama再确认补全和对话功能可用。第一步保持断网状态或者拔掉网线、关掉 WiFi打开一个.py或.js文件写一个函数名比如def calculate_total(items):然后换行等补全。如果 Cursor 弹出基于本地模型的建议说明请求走通了。这时候你可以在终端另开一个窗口看 Ollama 的日志能看到类似POST /v1/chat/completions的记录证明流量确实到了本机。第二步用 Cursor 的对话功能。按Ctrl L打开 Chat输入一句“解释一下当前文件里这个函数的作用”看它是否基于本地模型给出回答。断网状态下如果还能正常回复就彻底证明离线可用。实测 qwen2:1.5b 在这种解释类任务上表现够用7b 会更细致一些。如果你想更直接地验证接口可以绕过 Cursor直接用 curl 打 Ollama 的兼容端点curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2:1.5b, messages: [{role: user, content: 用一句话说明什么是递归}] }返回 JSON 里有choices字段和模型输出就说明兼容层工作正常。这一步能帮你把问题定位清楚如果 curl 通但 Cursor 不通问题在 Cursor 配置如果 curl 都不通问题在 Ollama 服务或模型名。验证通过后你日常的补全、报错分析、注释生成、代码重构都可以在离线状态下跑。需要更强模型时再切到 TaoToken 的在线通道用同一套 Cursor 配置改 Base URL 和 Model Name 即可不用装两套工具。5. 常见报错排查401、local proxy failed 与模型不存在接入过程里最容易撞上的几个报错我按真实遇到的情况列一下对照着排。报错一401 Unauthorized。这个在本地 Ollama 场景下通常不是真的鉴权失败而是 Cursor 把 Key 字段当成了必填且做了校验。解决办法是确认OpenAI API Key填了非空字符串比如ollama-local。如果填了还报 401检查 Base URL 是不是写成了http://localhost:11434而漏了/v1路径不对时某些版本会返回鉴权类错误。报错二local proxy failed 或 connection refused。这说明 Cursor 连不上localhost:11434。先跑curl http://localhost:11434/api/tags确认服务活着。如果没反应执行ollama serve手动启动服务。端口被占用的情况也有换端口的话要同时改 Ollama 启动参数和 Cursor 的 Base URL保持两边一致。报错三model not found / reading choices 报错。前者是模型名不匹配严格用ollama list里显示的名字比如qwen2:1.5b。后者常见于返回体解析失败多半是 Base URL 指向了一个不返回 OpenAI 格式的端点确认路径是/v1结尾的兼容层。报错四OAuth 相关提示或要求登录。Cursor 某些版本会引导你登录官方账号如果你只想用本地模型可以在设置里关掉相关云功能或者忽略登录直接走自定义模型通道。配置保存后记得彻底重启 Cursor。报错五回答卡顿、首 token 很慢。这是本地推理的算力问题不是配置错。换更小的模型比如从 7b 降到 1.5b或者确认没有其他大程序占内存。量化版本本身已经优化过再慢就是硬件上限了。排查时记住一个顺序先 curl 验 Ollama再验 Cursor 配置最后验模型名。三件套 Base URL、Key、Model ID 任何一件对不上都会出问题尤其是 Model ID 必须和ollama list完全一致。6. 本地与在线模型混用用 TaoToken 统一通道管理本地 Qwen2 解决了离线、免费、隐私三个问题但遇到复杂重构、长上下文推理时小模型能力还是有边界。这时候没必要把 Cursor 配置改来改去可以用 TaoToken 把在线模型的 Key 和 API 通道统一管起来需要时切一下 Base URL 和 Model Name 就行。具体做法去 TaoToken 控制台生成一个 API Key然后在 Cursor 里把OpenAI Base URL改成https://taotoken.net/apiOpenAI API Key填生成的令牌OpenAI Model Name填你要用的在线模型 ID。这样本地和在线就是两套配置按项目敏感度和任务复杂度切换。本地跑隐私代码和日常补全在线跑重推理和 Agent 类任务。如果你用 Claude Code 这类工具做长期编码TaoToken 的 Coding Plan 通道也能接配置方式类似Base URL 和 Key 在对应文档里有说明。需要看模型列表和对话验证的话模型对话页面可以直接试。API Keys 页面负责发 Key接入文档页面有各客户端的完整路径示例。这样一套下来本地 Ollama 和在线通道各司其职Cursor 始终只有一个入口不用来回装卸。实际用的时候我一般把本地qwen2:1.5b设为默认写业务代码和敏感逻辑时全程离线遇到需要长上下文分析或者复杂算法推导临时切到在线模型跑完再切回来。切换成本就是改两个字段加重启比装两套编辑器省事得多。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进