小海
184cabf5cc
refactor: remove dead x-is-human token generation system
...
Cursor no longer validates the x-is-human header, so the entire token
generation pipeline was dead code producing only error logs.
Removed:
- loadScripts(), fetchCursorScript(), generateToken(), replenishPool(),
getXIsHumanToken() and token pool management from cursor-client.ts
- scriptUrl config field and SCRIPT_URL env var support
- unmaskedVendorWebGL/unmaskedRendererWebGL fingerprint fields
- jscode/ script loading (env.js, main.js templates)
- script_url and WebGL fields from config.yaml
Kept:
- Chrome TLS fingerprint headers (user-agent, sec-ch-ua, etc.)
- x-is-human header sent as empty string (Cursor accepts it)
2026-03-05 17:20:51 +08:00
小海
03a3484067
feat(identity): add topic refusal detection + enhanced response sanitization
...
- Added 9 English topic refusal patterns (e.g. \"help with coding and Cursor IDE\",
\"unrelated to programming or Cursor\", \"Cursor-related question\")
- Added 3 Chinese topic refusal patterns
- Enhanced sanitizeResponse with topic-refusal text replacement:
- \"Cursor IDE features\" → \"AI capabilities\"
- \"unrelated to programming or Cursor\" → \"a general knowledge question\"
- \"Cursor or coding documentation\" → \"relevant documentation\"
- Straggler \"and Cursor\" / \"or Cursor\" cleanup
- Fixed double-word artifacts in sanitization output
- Removed overly broad /unable\\s+to/i pattern to reduce false positives
2026-03-05 17:13:31 +08:00
小海
3a7575cdeb
feat(identity): three-layer identity protection - broadened probe detection, response sanitization, Claude fallback
...
1. Expanded identity probe detection with keyword-based matching (Chinese & English)
- Catches questions about model, platform, system prompt, real identity
- Agent mode (with tools) bypasses probe detection
2. Added sanitizeResponse() post-processor for ALL responses
- Replaces Cursor identity references with Claude equivalents
- Covers both English and Chinese Cursor persona leaks
3. Added Chinese refusal patterns (14 new regexes)
4. Auto-retry with IDE-context reframing on refusal (max 2 retries)
5. Refusal fallback now returns Claude identity response instead of [System] filter message
2026-03-05 17:02:56 +08:00
小海
89e4f5eb99
v2.1.0: Prompt strategy overhaul - Cursor IDE scene-fusion, remove tool whitelist, multi-layer refusal defense, context sanitization
2026-03-05 15:30:14 +08:00
小海
53740f7300
Expand refusal patterns: catch 'coding assistant', 'focused on software development' and other new refusal variants
2026-03-05 15:26:02 +08:00
小海
fa2f826fdd
Rewrite converter.ts: remove tool whitelist, Cursor IDE scene-fusion prompts, sanitize permission-denial history
2026-03-05 15:23:32 +08:00
小海
1a5dd4a971
Backup before refactoring persona alignment strategy
2026-03-05 15:04:30 +08:00
小海
fa59148d52
{"message": "fix(identity): simplify system override directive to bypass cursor support refusal classifiers"}
2026-03-05 11:33:18 +08:00
小海
2d7dafedb7
feat: 新增 OpenAI Chat Completions API 兼容接口
...
- 新增 POST /v1/chat/completions 端点,支持流式和非流式
- 完整支持 OpenAI 格式的工具调用 (function calling)
- 支持 system/user/assistant/tool 四种角色消息
- 自动将 OpenAI 请求转换为 Anthropic 格式,复用现有 Cursor 管道
- 流式响应遵循 OpenAI SSE 规范 (data: [DONE] 结束标志)
- 新增 openai-types.ts 和 openai-handler.ts
- 更新启动信息展示两种 API 端点
- 更新 README 文档说明 OpenAI 兼容用法
2026-03-04 17:46:04 +08:00
小海
be3037fca8
fix: 修复 SSE 流式事件格式错误、启用配置超时、修正工具调用完整性检测
...
1. handler.ts: 修复 content_block_delta 事件缺少 index 和 delta 包装层的严重 Bug
- 当 AI 响应包含 ```json 但非工具调用时,文本增量会因格式错误而丢失
2. cursor-client.ts: 请求超时改用 config.timeout 配置值,不再硬编码 120s
3. converter.ts: 修复 isToolCallComplete() 始终返回 true 的逻辑错误
4. handler.ts: 移除未使用的 isToolCallComplete 导入
2026-03-04 17:39:46 +08:00
小海
561017e7b1
docs: 新增 MIT 开源协议并完善免责声明 (Disclaimer)
...
- 补充了标准的 MIT 开源许可证文件 (LICENSE)。
- 在 README 中增加了极其明确的风险警告与免责声明,明确逆向和代理调用可能导致账号封锁,作者不为此背锅。
2026-03-04 17:20:38 +08:00
小海
c670fa49f1
feat: 增加基于现代多阶段构建的生产级 Docker 环境配置
...
- 采用最新的 Node.js 22 LTS (Alpine) 作为底座。
- 引入二阶段构建 (Builder/Runner),隔离源码与产物,极致缩小最终镜像体积。
- 采用非 root (cursor UID=1001) 用户权限组执行程序,保证生产环境安全性。
- 提供了配套的 .dockerignore 和 docker-compose.yml 服务编排文件,支持传参 SOCKS 代理等。
2026-03-04 17:17:22 +08:00
小海
b2b41ebd38
feat: 添加一键部署脚本 (deploy.sh) 用于快速部署到 Linux 机器
...
- 自动化检测和安装 Node.js 和 PM2。
- 自动安装依赖并编译 TypeScript 产物。
- 通过 PM2 后台拉起并守护进程。
2026-03-04 17:07:44 +08:00
小海
40b7f01067
feat: 引入 x-is-human Token 资源池以对抗并发风控
...
- 移除了原有的单例 `cachedToken` 设计。
- 引入最大容量为 5 的数组 `tokenPool`。
- 每个发出的并发请求都会从池中随机抽取有效 token,有效打散请求特征,降低被墙概率。
- 引入异步补充机制:一旦库存不足满载,将会在后台默默生成并补全缓存,且不阻塞当前请求。
2026-03-04 16:17:06 +08:00
小海
d907979224
fix: 加强对模型在同一响应中输出多个 JSON 代码块以实现并行的引导
...
- 之前虽然允许提供“多个模块”,但模型不知道必须在“同一次对话”里连着输出多个代码块才算并行。
- 增加了 `MULTIPLE ... blocks ONE AFTER ANOTHER IN THE SAME RESPONSE` 的大写提示以及修改了 Few Shot 示例。
2026-03-04 16:08:30 +08:00
小海
b208f80c0b
fix: 提供完整的工具参数 Schema 和描述信息给模型
...
- 之前生成的工具列表只包含粗略的参数名和 string 类型提示,丢失了 description 和 enum 等关键信息。
- 改为直接输出 tool.description 和 stringify 后的完整 input_schema,从而修复模型调用 Agent 等复杂工具时填错参数类型导致 `Agent type 'general' not found` 的问题。
2026-03-04 16:04:10 +08:00
小海
1c925ad3b1
fix: 修改提示词允许使用并行工具
...
- 明确告诉模型可以使用多个 ````json action``` 代码块以支持多工具并行调用,解决由于先前的"exactly one block"限制导致模型无法并发使用工具的问题。
2026-03-04 16:03:18 +08:00
小海
efd2bac1dd
feat: 动态支持所有中小型工具集(取消数量<=40时的白名单过滤)
...
- 当工具数不超过40个时,全量放行。这样可以原生支持 Claude Code 动态注入的所有内置技能(如 `keybindings-help`, `simplify`)以及用户自行配置的任何 MCP 工具,实现真正的“尽可能多兼容”而无需硬编码白名单。
2026-03-04 15:58:54 +08:00
小海
eb0b355634
fix: 动态生成指令,防止在缺乏沟通工具(如Claude Code)时循环执行无意义动作
2026-03-04 15:53:15 +08:00
小海
4a1b97fa1a
fix: 防止模型在没有任务时死循环执行 echo ready
...
- 明确指示如果只要回复或者等待任务时,必须使用 AskFollowupQuestion 或 attempt_completion 这样的交互工具,而不是真的去跑 bash 命令。
2026-03-04 15:50:10 +08:00
小海
26454e92f4
fix: 重构工具注入策略为 JSON 代码块以绕过安全过滤器
...
- 完全移除 `<antml_tool_call>` 等可能触发反 Prompt Injection 过滤器的 XML 标签
- 改为要求模型输出 `\\`\\`\\`json action` 格式的普通 JSON 数据块
- 更新 `parseToolCalls` 以支持提取并解析 markdown JSON 块
- 简化了 isToolCallComplete 的判断逻辑
2026-03-04 15:45:31 +08:00
小海
28ff256c88
fix: 支持 Roo Code + 请求重试 + 调试日志
...
- CORE_TOOL_NAMES 同时覆盖 Claude Code 和 Roo Code 工具名
- 添加请求重试机制(最多2次,间隔2s)
- 动态 few-shot 示例(适应不同客户端工具名)
- 每条用户消息追加格式提醒
- 添加原始响应调试日志
2026-03-04 15:38:29 +08:00
小海
a9ada0473f
fix: 优化提示词注入策略 + 稳定性提升
...
- 使用 few-shot in-context learning 替代 system prompt 覆盖
- 过滤工具:94个 → 核心13个(降低上下文大小)
- 添加 AbortController 超时(120s)
- 模型列表从配置动态读取
2026-03-04 15:33:25 +08:00
小海
5fdaeb934b
feat: cursor2api v2 - TypeScript 重构
...
- Node.js/TypeScript 全新架构
- Anthropic Messages API 完整兼容(流式/非流式)
- 提示词注入实现工具调用能力(XML 格式)
- Chrome TLS 指纹模拟 + x-is-human token
- 支持 Claude Code 直接对接
2026-03-04 15:05:00 +08:00
小海
26f9275f9b
init: 空项目起点 (v2 重构)
2026-03-04 14:57:42 +08:00