mirror of
https://github.com/7836246/cursor2api.git
synced 2026-05-10 07:43:49 +08:00
chore(release): v2.5.3 - Schema压缩+JSON感知解析器+续写重写
This commit is contained in:
23
CHANGELOG.md
23
CHANGELOG.md
@@ -1,5 +1,28 @@
|
||||
# Changelog
|
||||
|
||||
## v2.5.3 (2026-03-11)
|
||||
|
||||
### 🗜️ Schema 压缩 — 根治截断问题
|
||||
|
||||
- **根本原因定位**:90 个工具的完整 JSON Schema 占用 ~135,000 chars,导致 Cursor API 输出预算仅 ~3,000 chars,Write/Edit 工具的 content 参数被严重截断
|
||||
- **compactSchema() 压缩**:将完整 JSON Schema 转为紧凑类型签名(如 `{file_path!: string, encoding?: utf-8|base64}`),输入体积降至 ~15,000 chars
|
||||
- **工具描述截断**:每个工具描述最多 200 chars,避免个别工具(如 Agent)的超长描述浪费 token
|
||||
- **效果**:输出预算从 ~3k 提升到 ~8k+ chars,Write 工具可一次写入完整文件
|
||||
|
||||
### 🔧 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)
|
||||
|
||||
16
README.md
16
README.md
@@ -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 chars,Cursor API 输出预算仅 ~3k chars
|
||||
- `compactSchema()` 压缩为紧凑类型签名,输入降至 ~15k,输出预算提升至 ~8k+ chars
|
||||
|
||||
**JSON-String-Aware 解析器**
|
||||
- 修复 lazy regex 在 JSON 字符串内部的 ``` 处提前闭合的致命 bug
|
||||
- 手动扫描器正确跟踪 `"` 配对和 `\` 转义状态
|
||||
|
||||
**续写机制重写**
|
||||
- 续写请求增加 user 引导消息 + 300 chars 上下文锚点
|
||||
- 基于原始消息快照重建(防膨胀),空响应时立即停止
|
||||
|
||||
### v2.5.2 (2026-03-11) — 移除上下文压缩 + 内部截断续写
|
||||
|
||||
**🗜️ 移除上下文智能压缩 (Reverted)**
|
||||
|
||||
@@ -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": {
|
||||
|
||||
Reference in New Issue
Block a user