chore(release): v2.5.3 - Schema压缩+JSON感知解析器+续写重写

This commit is contained in:
小海
2026-03-11 10:24:41 +08:00
parent 4b3715700b
commit 2bea3ce4d8
3 changed files with 40 additions and 1 deletions

View File

@@ -1,5 +1,28 @@
# Changelog
## v2.5.3 (2026-03-11)
### 🗜️ Schema 压缩 — 根治截断问题
- **根本原因定位**90 个工具的完整 JSON Schema 占用 ~135,000 chars导致 Cursor API 输出预算仅 ~3,000 charsWrite/Edit 工具的 content 参数被严重截断
- **compactSchema() 压缩**:将完整 JSON Schema 转为紧凑类型签名(如 `{file_path!: string, encoding?: utf-8|base64}`),输入体积降至 ~15,000 chars
- **工具描述截断**:每个工具描述最多 200 chars避免个别工具如 Agent的超长描述浪费 token
- **效果**:输出预算从 ~3k 提升到 ~8k+ charsWrite 工具可一次写入完整文件
### 🔧 JSON-String-Aware 解析器
- **修复致命 Bug**:旧的 lazy regex `/```json[\s\S]*?```/g` 会在 JSON 字符串值内部的 ``` 处提前闭合,导致 Write/Edit 工具的 content 参数(如含 markdown 代码块的文档)被截断为仅前几行
- **新实现**:手动扫描器跟踪 JSON 字符串状态(`"` 配对 + `\` 转义),只在字符串外部匹配闭合 ```
- **截断恢复**:无闭合 ``` 的代码块也能通过 tolerantParse 恢复工具调用
### ⚠️ 续写机制重写
- **修复空响应问题**:旧实现只追加 assistant 消息Cursor API 看到最后是 assistant 的消息后返回空响应
- **新实现**:每次续写添加 user 引导消息 + 最后 300 chars 上下文锚点
- **防膨胀**:每次基于原始消息快照重建,而非累积消息
- **MAX_AUTO_CONTINUE** 从 4 提升至 6
---
## v2.5.2 (2026-03-11)
### 🗜️ 移除上下文智能压缩 (Reverted)

View File

@@ -31,6 +31,8 @@
- **多层拒绝拦截** - 自动检测和抑制 Cursor 文档助手的拒绝行为(工具和非工具模式均生效)
- **三层身份保护** - 身份探针拦截 + 拒绝重试 + 响应清洗,确保输出永远呈现 Claude 身份
- **🆕 截断无缝续写** - Proxy 底层自动拼接被截断的工具响应(代码块/XML未闭合防止工具调用在长输出中退化为纯文本彻底代替粗暴的上下文压缩解决失忆问题。
- **🆕 Schema 压缩** - 工具定义从完整 JSON Schema (~135k chars) 压缩为紧凑类型签名 (~15k chars),大幅提升 Cursor API 输出预算
- **🆕 JSON 感知解析器** - 正确处理 Write/Edit 工具 content 中的嵌入式代码块,避免工具参数被 markdown ``` 标记截断
- **连续同角色消息自动合并** - 满足 Anthropic API 交替要求,解决 Cursor IDE 发送格式兼容问题
- **上下文清洗** - 自动清理历史对话中的权限拒绝和错误记忆
- **Chrome TLS 指纹** - 模拟真实浏览器请求头
@@ -154,6 +156,20 @@ AI 按此格式输出 → 我们解析并转换为标准的 Anthropic `tool_use`
## 更新日志
### v2.5.3 (2026-03-11) — Schema 压缩 + JSON 感知解析器 + 续写重写
**Schema 压缩 — 根治截断问题**
- 定位根因90 个工具完整 JSON Schema 占用 ~135k charsCursor API 输出预算仅 ~3k chars
- `compactSchema()` 压缩为紧凑类型签名,输入降至 ~15k输出预算提升至 ~8k+ chars
**JSON-String-Aware 解析器**
- 修复 lazy regex 在 JSON 字符串内部的 ``` 处提前闭合的致命 bug
- 手动扫描器正确跟踪 `"` 配对和 `\` 转义状态
**续写机制重写**
- 续写请求增加 user 引导消息 + 300 chars 上下文锚点
- 基于原始消息快照重建(防膨胀),空响应时立即停止
### v2.5.2 (2026-03-11) — 移除上下文压缩 + 内部截断续写
**🗜️ 移除上下文智能压缩 (Reverted)**

View File

@@ -1,6 +1,6 @@
{
"name": "cursor2api",
"version": "2.5.2",
"version": "2.5.3",
"description": "Proxy Cursor docs AI to Anthropic Messages API for Claude Code",
"type": "module",
"scripts": {