v1.1.9
改用本机独立 CA,恢复 CLI TLS 校验并保护凭据。 修复配置并发保存、Cursor 数据完整性、会话路径、代理生命周期和 Skills 文件操作。 为独立 Tab 服务增加客户端鉴权,升级依赖与工具链,完善模型请求和发布元信息同步。 验证:两个 Go 模块测试/vet、关键模块 race、前端测试/构建/审计通过; Go 扫描无可达漏洞,macOS/Linux 可行模块交叉编译通过。 Windows 隔离启动通过。界面点击与原生平台验证的限制见 docs/review-v1.1.9.md。 本提交为已验证源码树的版本标记;保留上一提交与原有标签历史。
Local-Cursor
本地运行的 Cursor IDE 代理工具。通过 MITM 代理劫持 Cursor 的 AI 请求,转发到自定义模型 API(OpenAI / Anthropic 兼容),支持本地助手模式与直连上游模式;同时适配 CLI 版 cursor-agent,并提供 Skill 分发、一键汉化、使用量统计等增强功能。
基于 cursor-byok 衍生,感谢原作者。本项目仅供学习与个人使用,请支持正版 Cursor。
下载:最新公开发布;v1.1.9 审查与升级说明。
功能
| 功能 | 说明 |
|---|---|
| 请求劫持与转发 | MITM 代理劫持 Cursor AI 请求,转发到自定义 API |
| 多模型渠道 | 支持同时配置多个 OpenAI / Anthropic 兼容渠道 |
| 模型批量拉取 | 通过 /v1/models 端点拉取可用模型列表,勾选后批量添加渠道 |
| Skill 管理 | 内置 Skill(含斜杠命令)分发到任意打开过的 Cursor 项目,开关即装/卸 |
| Cursor 状态面板 | 自动检测 Cursor 安装目录与运行状态,5 秒心跳刷新,支持手动指定路径 |
| 一键汉化 | 自动检测安装目录,运行社区汉化包(自动适配 fnm/nvm 等 Node 环境) |
| Tab 补全 | 可配置上游 Tab 补全服务地址(可选 Docker 部署) |
| 模型测速 | 内置模型渠道延迟/吞吐量基准测试 |
| 会话统计 | 使用量持久化与聚合统计,支持定时刷新与累计/本次运行两种口径 |
| CA 证书管理 | 自动注入 CA 证书到系统信任链 |
| Cursor 设置注入 | 自动写入代理、HTTP/2、证书配置,并写入 update.mode: none 禁用自动更新 |
| CLI 代理适配 | 自动检测 CLI 版 cursor-agent,生成 wrapper + preload,重定向 TCP 连接 |
| 快速启动 | 运行时自动注册开始菜单快捷方式,Flow Launcher / PowerToys Run 可直接检索 |
| 网络代理感知 | 自动检测系统/环境变量代理并适配出站连接 |
架构
┌──────────────────────────────────────────────────┐
│ Cursor IDE │
│ (settings.json 注入 http.proxy) │
└────────────┬─────────────────────────────────────┘
│ HTTPS CONNECT
▼
┌──────────────────────┐ 白名单域名(.cursor.sh)
│ MITM Proxy Server │ ────────────────► ┌──────────────────┐
│ (127.0.0.1:28080) │ │ Backend Server │
│ │ ◄──────────────── │ (127.0.0.1:28090)│
│ 非白名单域名直连回源 │ 转发+路由 └────────┬─────────┘
└──────────────────────┘ │
┌────────┴────────┐
│ Forwarder │
│ BidiAppend/SSE │
│ Prompt 编译 │
│ Provider 调用 │
└────────┬────────┘
│
┌────────┴────────┐
│ Custom API │
│ (OpenAI/Anthropic)│
└─────────────────┘
┌──────────────────────────────────────────────────┐
│ CLI 版 cursor-agent │
│ (agent.cmd wrapper + tls-bypass.cjs preload) │
└────────────┬─────────────────────────────────────┘
│ TCP 重定向 (patch net.connect/tls.connect)
▼
┌──────────────────────┐
│ CLI HTTPS Listener │
│ (127.0.0.1:39092) │ ← HTTPS+HTTP/2,跳过 MITM
│ 复用 Backend 路由 │
└──────────────────────┘
IDE 模式:Cursor 通过注入的 http.proxy 将请求发往本地 MITM 代理(:28080),白名单域名解密后转发到本地后端(:28090),按 routing.mode 选择本地处理或上游转发。
CLI 模式:CLI 的 connect-node 使用 HTTP/2,无法被 goproxy MITM,因此通过 Node preload 在 TCP 层把 api2/api3.cursor.sh 重定向到本地 HTTPS+HTTP/2 监听器(:39092),复用同一后端路由。
默认端口
| 服务 | 地址 | 说明 |
|---|---|---|
| Backend Server | 127.0.0.1:28090 |
嵌入式 HTTP 后端 |
| MITM Proxy | 127.0.0.1:28080 |
Cursor 流量劫持代理 |
| CLI HTTPS | 127.0.0.1:39092 |
CLI 专用 HTTPS+HTTP/2 监听器 |
| Tab 补全 | 18041(可选) |
Docker 部署的 Tab 补全服务 |
安装与使用
- 从 Releases 下载对应平台分发包并安装/解压。
- 启动后点击「开启服务」,程序自动完成 CA 证书注入、Cursor settings.json 注入与 CLI wrapper 生成。
- 在「模型配置」中添加渠道,或使用「拉取模型」从 API 端点批量导入。
- 配置完成后正常使用 Cursor / cursor-agent 即可,流量将走你配置的模型。
程序运行时会自动注册开始菜单快捷方式,Flow Launcher、PowerToys Run 等启动器可直接检索 Local-Cursor。
配置
首次启动后自动生成 ~/.cursor-local-assistant-v2/config.yaml,关键字段:
providerStreamIdleTimeout: 240
backendListenAddr: "127.0.0.1:28090"
proxyListenAddr: "127.0.0.1:28080"
cliHttpsListenAddr: "127.0.0.1:39092"
modelAdapters:
- displayName: "My Model"
type: "openai" # openai | anthropic
baseURL: "https://api.example.com"
apiKey: "sk-xxx"
modelID: "gpt-4"
reasoningEffort: "medium" # low | medium | high | xhigh
openAIEndpoint: "/v1/responses" # /v1/responses | /v1/chat/completions
contextWindowTokens: 500000 # 留空使用默认 500K
maxCompletionTokens: 278000 # 留空使用默认 278K
routing:
mode: "local" # local | upstream
homeMetrics:
includeCacheWriteInHitRate: false
refreshIntervalSeconds: 60 # 统计定时刷新间隔(秒,最小 5)
persistentMode: true # 累计统计
tabServerBaseURL: ""
tabServerToken: ""
构建与开发
前置依赖
- Go 1.26.10(项目已固定工具链,语言基线 1.26.0)
- Node.js 20+(含 yarn,可用 corepack)
- Wails v3 CLI:
go install github.com/wailsapp/wails/v3/cmd/wails3@latest - protoc + protoc-gen-go + protoc-gen-connect-go(生成
gen/,运行task sync:proto或手动执行build/Taskfile.yml中的 generate:proto)
常用命令
# 前端依赖
corepack yarn install --cwd frontend
# 生成 Wails 前端绑定(修改 service 后需要)
wails3 generate bindings -clean -d frontend/bindings
# 构建当前平台分发包
task build
# 开发模式
task dev
数据目录
所有数据存储在 ~/.cursor-local-assistant-v2/:
~/.cursor-local-assistant-v2/
├── config.yaml # 用户配置
├── data/
│ ├── ca.crt # 注入本机 CA 证书
│ ├── local-ca.pem # 本机私有 CA(不得共享或提交)
│ ├── codebase-index/ # 代码库索引
│ └── docs-index/ # 文档索引
├── history/
│ ├── usage.json # 使用量聚合统计
│ └── <conversation_id>/ # 会话状态
├── logs/ # 运行日志
├── cli/ # CLI wrapper 与 preload(自动生成)
└── rules/ # 用户规则
免责声明
本项目通过本地代理方式修改 Cursor 的请求路由,仅供学习研究。请购买正版 Cursor 订阅,因使用本项目产生的任何问题与原作者及本项目维护者无关。
License
致谢
- cursor-byok — 原项目
- Wails v3 — 桌面框架
- @polang233/cursor-language-pack — Cursor 汉化包
Releases
1
Local-Cursor v1.1.9
Latest
Languages
Go
88.4%
Vue
5.6%
JavaScript
4.6%
NSIS
0.7%
CSS
0.5%
Other
0.2%