Files
Local-Cursor/docs/review-v1.1.9.md
FuDie0915 188225fae6 Ð޸´ȫÏîĿÉó²éÎÊÌⲢ·¢²¼ v1.1.9
¸ÄÓñ¾»ú¶ÀÁ¢ CA£¬»ָ´ CLI TLS УÑ飬±£»¤ƾ¾ÝÓëÅäÖò¢·¢±£´档
Ð޸´ Cursor Êý¾ݡ¢»Ự·¾¶¡¢´úÀíÉúÃüÖÜÆڡ¢ģÐÍÇëÇóÓë Skills Îļþ²Ù×÷¡£
Ϊ¶ÀÁ¢ Tab ·þÎñÔö¼ӿͻ§¶˼øȨ£¬Éý¼¶ÒÀÀµÓ빤¾ßÁ´£¬ÍêÉƷ¢²¼ԪÐÅϢͬ²½¡£

Ñé֤£ºÁ½¸ö Go ģ¿éµIJâÊÔ/vet¡¢¹ؼüģ¿é race¡¢ǰ¶˲âÊÔ/Éú²ú¹¹½¨/Éó¼ơ¢
Go ¿ɴï©¶´ɨÃèÓë macOS/Linux ¿ÉÐÐģ¿齻²æ±àÒë¾ùͨ¹ý¡£
Windows ¸ôÀëÆô¶¯ͨ¹ý£»δÍê³ɵĵã»÷ðÑ̺ÍԭÉúƽ̨Ñé֤¼ûÉó²鱨¸档
2026-11-10 09:59:34 +08:00

7.1 KiB
Raw Blame History

v1.1.9 项目审查

审查日期:2026-11-10。范围包括应用与 Wails 桥接、配置与前端、Cursor/CLI 集成、代理与 HTTP 服务、模型适配和流式协议、会话与用量存储、Skills、独立 Tab 服务、构建及发布脚本。

修复清单

类别 问题与处理 回归依据
证书 从运行代码和当前源码树移除共享 CA 私钥;每个本机用户数据目录持久保存独立私有 CA,私钥权限受保护,损坏时拒绝静默轮换 独立性、复用、损坏文件和密钥匹配测试
证书迁移 安装并验证新 CA 后按旧证书指纹清理信任;管理员与当前用户存储分别处理,取消或失败阻止启动 取消、重试、幂等和迁移脚本语法测试
CLI 恢复 TLS 验证,仅重定向 Cursor API,保留 SNI;兼容中文、空格、引号路径和原有附加 CA;移除继承的旧 bypass 配置 Node HTTP/2、错误 CA、无效主机名及 Windows 启动器实测
凭据 前端日志不输出配置正文;旧敏感缓存迁移为偏好白名单;后端统一脱敏并保护日志文件 日志和缓存哨兵测试
配置 补齐 CLI HTTPS 端口的界面往返;通信 revision 做原子比较,冲突保留草稿;后端模型使用记录不被界面回写覆盖 后端 CAS、并发竞争及真实前端状态模块测试
Cursor 数据 损坏设置原样保留;注入前备份受影响键,停止时只恢复仍由本应用占用的键 损坏文件、重复注入、用户并发修改测试
最近项目 保留顶层元数据、文件/工作区条目及未知字段;数据库更新失败时不删除聊天目录 数据库与 workspaceStorage 临时夹具测试
会话存储 拒绝点目录、分隔符、控制字符、NTFS 流及 Windows 保留名称 跨平台路径案例测试
生命周期 HTTP/HTTPS 启动失败回滚;关闭超时后关闭连接、释放端口;串行化启停,保护初始化期间状态读取 端口重绑定、连接取消和 race 测试
协议 修复两处 Protobuf 锁复制;完整传递模型自定义头、Anthropic 扩展参数;处理特殊 Host 头 go vet、模型本地 HTTP/SSE 集成测试
用量 测试夹具改用独立 filler ID,保留跨 500 个事件的去重验证 原失败测试恢复通过
Tab 服务 客户端令牌与上游令牌分离;401、64 MiB 请求上限、取消和流式错误收口;配置变更与 URL 前缀正确生效 独立模块与应用转发集成测试
浏览器访问 本地 RPC/CORS 拒绝无关网站 Origin,允许原生请求和 Cursor/Wails 来源 Origin 欺骗及本地请求测试
重定向 认证请求不向其他 origin 转发头和正文,保留同源重定向及取消语义 本地双服务器测试
Skills 拒绝卸载未知技能及穿过符号链接修改;保留自建文件、修改过的命令;覆盖前在本机私有数据目录备份 自建技能、命令保留及现有安装/刷新测试
Windows 启动 快捷方式路径转义;增加 --version 和 --no-auto-start,支持隔离的只打开界面诊断 版本命令、隔离启动检查
构建 版本资源同步只修改版本字段,避免发布时重新生成并覆盖定制 Wails 模板 元信息同步和自定义构建文件保留测试

依赖与兼容

  • Go 工具链固定为 1.26.10,语言基线 1.26.0;升级 x/net、x/text、go-git、go-billy 及必要传递依赖。
  • Vue、Vite、PostCSS 及存在安全公告的传递依赖升级到修复版本,Wails JS runtime 固定为原已使用的 3.0.0-alpha.79。
  • uuid 对 vite-plugin-top-level-await 的传递依赖覆盖为兼容其 v4/v5 调用 API 的 11.1.1;生产构建验证该兼容性。
  • 修复版 esbuild 无法生成原 Safari 13 目标的解构语法降级,前端构建基线调整为 Safari 14.1。Windows WebView2 不受影响;本版不承诺旧版 Safari 内核。

验证记录

检查 结果
根 Go 模块 go test ./... 与 go vet ./... 均通过
独立 Tab 模块 测试、go vet 与 govulncheck 均通过
并发检查 配置、backend、client、certs、skills 的 go test -race 通过,含启动状态轮询与关闭超时
Go 漏洞扫描 0 条可达漏洞、0 条导入包漏洞;根模块有 4 条所需模块中未被本项目调用的公告,不能视为所有传递模块均无公告
前端 4 项 Node 测试通过;生产构建通过;Yarn audit 成功完成,286 项依赖、0 条漏洞
macOS/Linux CGO_ENABLED=0、amd64 下 certs、cursor、skills、netproxy、backend 模块编译通过;补齐仅 Windows 使用的安装路径扫描函数在其他平台的空实现
Windows 启动 最终二进制以 --no-auto-start 在临时用户目录启动,窗口正常响应,WebView2 初始化成功,复用该隔离目录的本机 CA
二进制 Go 1.26.10、windows/amd64、production、CGO 关闭;--version、PE FileVersion 与 ProductVersion 均为 1.1.9
便携包 ZIP 完整性检查通过,仅含 windows-64.exe;压缩包 19,780,599 字节,程序 53,621,248 字节

便携 ZIP:local-cursor-v1.1.9-windows-x64-portable.zip。SHA-256:

8b7898f139983a7caad0bef45ae52d9c0a4789ebb41771682be92d455fb4e150

重点回归包含私有 CA/Node TLS/HTTP2、Windows PowerShell 路径和参数、多窗口保存竞争、异常关闭后端口重绑定、模型认证/SSE/取消、Tab 鉴权/超限/转发、未知数据字段保留、真实前端状态模块与凭据缓存。生产构建存在单个 JS chunk 超过 500 kB 的体积提示,不影响构建成功。

平台限制:本机为 Windows。Windows 窗口点击冒烟因 Computer Use 本地管道不可用未完成;已完成进程响应、日志和 WebView2 初始化检查,不能据此声称已人工确认所有界面交互。macOS/Linux 未运行原生 GUI、完整桌面打包或真实证书存储操作。自动化证书迁移测试使用模拟信任存储和脚本解析,不向本机系统信任库安装测试 CA;涉及 Cursor 数据的破坏性测试使用临时目录与测试数据库。

升级说明

  1. 首次启动需要信任本机新证书并移除旧共享根证书,Windows 可能要求一次管理员授权。失败时可重试,模型配置和历史数据继续保留。
  2. 本机 CA 私有文件为用户数据目录下的 data/local-ca.pem。不要将它放入仓库、发布包或共享给其他机器。旧私钥已经公开,删除旧发布页不能撤回公开过的内容;升级以移除旧根信任为准。
  3. 远程 Tab 服务新增必填 clientToken,必须与上游 token 不同;应用配置的 tabServerToken 填对应客户端令牌。本机未启用 Tab 服务的用户不需要修改。
  4. 被覆盖的 Skills 文件备份保存在本机数据目录的 data/skill-backups/;含自建文件的技能不会被无提示整体删除。
  5. 多窗口配置冲突时保留编辑草稿,核对并刷新版本后重新保存。若目标模型已被其他窗口修改或删除,则不会把草稿写入其他模型。
  6. 发布仅提供 Windows x64 便携 ZIP。旧发布页及附件会移除,旧标签和 Git 提交继续保留。