如何绕过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.js 中 Gxo 类的 _isPure() 方法
  • 校验和存储:product.json 的 checksums.vs/workbench/workbench.desktop.main.js 字段
相关推荐
七夜zippoe2 小时前
Agent 超时与幂等性:重复请求、副作用控制与状态一致性
ai·agent·超时·控制·幂等性
秋饼2 小时前
Computer Use Agent Java 落地实战:感知-行动循环、执行器与安全围栏生产级实现
java·ai·技术分享·后端开发
又过二十3 小时前
结合Godot八向图实现网页角色设计器测试
ai·aigc·godot·game·qwen-image·游戏素材
aicat_cn5 小时前
json-render 接入 Chat SDK:Agent 在 Slack 和 Teams 里直接回表格和按钮
ai·大模型
weixin_468466858 小时前
视觉Transformer的“第二次革命”:ViT³如何用测试时训练重构注意力范式
人工智能·深度学习·机器学习·ai·重构·transformer·vit
謓泽9 小时前
【插件】用写网页的方式做视频?HyperFrames 让我重新理解了“做视频“这件事!
gpt·ai·大模型·音视频·媒体·claude·视频
我才是银古13 小时前
视频是算出来的:DeepSeek Harness零素材全代码生成视频插件
ai·视频·插件·deepseek·dsh
又过二十18 小时前
macOS 录屏剪辑工具DogSC「逐文件」搬进 Windows —— DogSC Desktop 转写记
ai·aigc·录屏工具
我qq不是451516521 天前
WorkBuddy下载体验
人工智能·经验分享·ai·workbuddy
看浪的路人1 天前
第2讲:共识算法入门:Paxos 的精髓
ai