如何绕过Cursor Pro限制直接调用本地模型

本文直接通过修改cursor编译后的模式实现的cursor绕过pro检测实现本地api接入,直接将下面的所有内容复制给AI,通过AI直接进行配置Mac、Windows亲测均有效

Cursor Local Mode 配置指南

目的

让 Cursor 的 Agent/Chat 功能直连自己的 OpenAI 兼容 API,绕过 Cursor 后端的额度限制。

原理

Cursor 有一个编译时开关 ov.localMode,默认为 false。开启后:

  • Agent/Chat 的 AI 推理请求直连你配置的 API 端点 (OpenAI 兼容格式 POST /chat/completions
  • 工具执行(文件读写、终端、搜索、MCP)完全不受影响(本来就是本地执行)
  • 请求不再经过 api2.cursor.sh,无额度检查

代价

以下功能会被禁用:

  • Cursor Tab(自动补全)
  • Cmd+K(内联编辑)
  • 语义搜索
  • Quick Actions
  • Canvas 分享

配置步骤

Step 1:修改 localMode 标志

文件resources\app\out\vs\workbench\workbench.desktop.main.js

搜索:

复制代码
cursorPredictionOptions:!1,localMode:!1

替换为:

复制代码
cursorPredictionOptions:!1,localMode:!0

!1 是 minified 的 false!0 是 minified 的 true

Step 2:更新 product.json 校验和(关键!)

Cursor 有客户端完整性校验,会对比文件 SHA-256 与 product.json 中存储的值。不更新会导致报错:

Your Cursor installation appears to be corrupt. Please reinstall.

文件resources\app\product.json

找到 checksums 节点中的:

json 复制代码
"vs/workbench/workbench.desktop.main.js": "IFMXreIcz2orQV73+mPB5MXTlNtib3raAVGpQ+HsyVA"

需要用修改后的文件重新计算 SHA-256 并替换。以下提供自动脚本

Step 3:配置 API 连接

在 Cursor 中(二选一):

方式 A:Settings → Models 面板

  • "OpenAI API Key" → 输入你的 Key,开启 Toggle
  • "Override OpenAI Base URL" → 输入你的 API 地址,如 https://your-proxy.com/v1

方式 B:系统环境变量

  • CURSOR_LOCAL_AGENT_API_KEY = 你的 Key
  • CURSOR_LOCAL_AGENT_BASE_URL = https://your-proxy.com/v1

Step 4:重启 Cursor

自动化脚本

以下 PowerShell 脚本可一键完成 Step 1 和 Step 2:

powershell 复制代码
# === Cursor Local Mode Patcher ===
# 用法:在 PowerShell 中运行此脚本
# 需要安装 Python

$cursorRoot = "D:\dev\cursor\resources\app"
$jsFile = "$cursorRoot\out\vs\workbench\workbench.desktop.main.js"
$productFile = "$cursorRoot\product.json"

# Step 1: 修改 localMode
$text = [System.IO.File]::ReadAllText($jsFile)
$oldStr = "cursorPredictionOptions:!1,localMode:!1"
$newStr = "cursorPredictionOptions:!1,localMode:!0"

if ($text.Contains($newStr)) {
    Write-Output "[OK] localMode 已经是 true,无需修改"
} elseif ($text.Contains($oldStr)) {
    $text = $text.Replace($oldStr, $newStr)
    [System.IO.File]::WriteAllText($jsFile, $text)
    Write-Output "[OK] localMode 已改为 true"
} else {
    Write-Output "[ERROR] 未找到 localMode 标志,可能版本已更新,请手动搜索"
    exit 1
}

# Step 2: 更新 product.json 校验和
$pythonScript = @"
import hashlib, base64, json

js_path = r'$jsFile'
pj_path = r'$productFile'

with open(js_path, 'rb') as f:
    content = f.read()

sha256 = hashlib.sha256(content).digest()
checksum = base64.b64encode(sha256).decode().rstrip('=')

with open(pj_path, 'r', encoding='utf-8') as f:
    pj = json.load(f)

old = pj['checksums']['vs/workbench/workbench.desktop.main.js']
pj['checksums']['vs/workbench/workbench.desktop.main.js'] = checksum

with open(pj_path, 'w', encoding='utf-8') as f:
    json.dump(pj, f, indent=4, ensure_ascii=False)

print(f'[OK] Checksum updated: {old} -> {checksum}')
"@

$pythonScript | python

恢复方法

如果需要恢复原样:

  1. 用备份文件覆盖(如果有)
  2. 或反向操作:将 localMode:!0 改回 localMode:!1,并重新计算校验和
powershell 复制代码
# 恢复脚本
$cursorRoot = "D:\dev\cursor\resources\app"
$jsFile = "$cursorRoot\out\vs\workbench\workbench.desktop.main.js"

$text = [System.IO.File]::ReadAllText($jsFile)
$text = $text.Replace("cursorPredictionOptions:!1,localMode:!0", "cursorPredictionOptions:!1,localMode:!1")
[System.IO.File]::WriteAllText($jsFile, $text)
Write-Output "localMode restored to false"

# 然后重新运行 Step 2 的校验和更新

Cursor 更新后的处理

Cursor 每次更新都会覆盖这两个文件,需要重新执行 Step 1 和 Step 2。

建议将上面的自动化脚本保存为 patch-local-mode.ps1,更新后一键运行。

凭据优先级

Local Mode 下,API Key 和 Base URL 按以下优先级解析:

优先级 API Key Base URL
1 Model Details 中的 apiKey Model Details 中的 openaiApiBaseUrl
2 Cursor 设置中存储的 openAIKey Cursor 设置中存储的 openAIBaseUrl
3 环境变量 CURSOR_LOCAL_AGENT_API_KEY 环境变量 CURSOR_LOCAL_AGENT_BASE_URL
4 环境变量 ANTHROPIC_AUTH_TOKEN 环境变量 ANTHROPIC_BASE_URL

已知问题与解决

问题 原因 解决
"Your Cursor installation appears to be corrupt" product.json 中的 SHA-256 校验和不匹配 执行 Step 2 更新校验和
"Local Agent Not Configured" API Key 或 Base URL 未配置 在 Settings → Models 中配置
"Connection failed" API 端点不可达或 Key 无效 检查 Base URL 和 API Key
Cursor 更新后失效 更新覆盖了修改的文件 重新运行补丁脚本

技术细节

  • 修改位置:workbench.desktop.main.js 中偏移量约 542951 处
  • 校验和算法:SHA-256,Base64 编码(去掉末尾 = 填充)
  • 校验代码:workbench.desktop.main.jsGxo 类的 _isPure() 方法
  • 校验和存储:product.jsonchecksums.vs/workbench/workbench.desktop.main.js 字段
相关推荐
爱学习的程序媛5 小时前
2026上半年大模型全景技术解读:推理融合、Agent 爆发与多模态统一
人工智能·ai
陈猪的杰咪10 小时前
GitHub Copilot 2026计费新规:AI Credits消耗解析与节省策略
人工智能·ai·架构·github·copilot
学术头条10 小时前
清华团队开源SCAIL-2:角色动画告别骨骼依赖,端到端还原视频中动作细节
人工智能·科技·机器学习·ai·开源·音视频·agi
华如锦10 小时前
面了很多 Java转AI Agent方向,一些面试题总结
java·开发语言·人工智能·python·ai
Mr.朱鹏11 小时前
科技资讯日报 · 2026-06-12
科技·ai·大模型·业界资讯
实在智能RPA12 小时前
航空维修知识库构建方法:从RAG到Agent-native的架构演进与全栈工程实践
人工智能·ai·架构
任我坤12 小时前
16G显卡跑本地大模型:三大框架选型指南
ai·prompt·ai编程
gis分享者14 小时前
Claude Code 接入蓝耘 GLM-5.1:终端 AI 编程助手配置实战
人工智能·ai·实战·claude·cc·接入glm