From 72719ac797728fc80b2bebf2ad637adbfe4531d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=B5=B7?= <7836246@qq.com> Date: Thu, 5 Mar 2026 17:23:54 +0800 Subject: [PATCH] docs+cleanup: update README for v2.2.0, remove jscode/ directory - Updated README: removed jscode setup steps, script_url config, x-is-human Token section; updated project structure; added v2.2.0 changelog with identity protection and code cleanup details - Deleted jscode/ directory (env.js, main.js, README.md) - no longer needed since token generation was removed - Updated defense layer table (L3: 50+ patterns, L4: sanitizeResponse) --- README.md | 50 ++++++++++++++++++++++++----------------------- jscode/README.md | 30 ---------------------------- jscode/env.js | Bin 687890 -> 0 bytes jscode/main.js | Bin 6202 -> 0 bytes 4 files changed, 26 insertions(+), 54 deletions(-) delete mode 100644 jscode/README.md delete mode 100644 jscode/env.js delete mode 100644 jscode/main.js diff --git a/README.md b/README.md index abd963b..774006c 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,8 @@ - **Cursor IDE 场景融合提示词注入** - 不覆盖模型身份,顺应 Cursor 内部角色设定 - **全工具支持** - 无工具白名单限制,支持所有 MCP 工具和自定义扩展 - **多层拒绝拦截** - 自动检测和抑制 Cursor 文档助手的拒绝行为 +- **三层身份保护** - 身份探针拦截 + 拒绝重试 + 响应清洗,确保输出永远呈现 Claude 身份 - **上下文清洗** - 自动清理历史对话中的权限拒绝和错误记忆 -- **Node.js/TypeScript** - 无需外部进程生成 x-is-human token - **Chrome TLS 指纹** - 模拟真实浏览器请求头 - **SSE 流式传输** - 实时响应 @@ -43,34 +43,26 @@ npm install ``` -### 2. 获取必要文件 - -```bash -# 下载浏览器环境模拟脚本 -curl -o jscode/env.js https://raw.githubusercontent.com/jhhgiyv/cursorweb2api/master/jscode/env.js -curl -o jscode/main.js https://raw.githubusercontent.com/jhhgiyv/cursorweb2api/master/jscode/main.js -``` - -### 3. 配置 +### 2. 配置 编辑 `config.yaml`: -- `script_url` - 从 Cursor 文档页 DevTools 网络面板获取 `c.js` 请求 URL -- `fingerprint` - 浏览器指纹信息 +- `cursor_model` - 使用的模型(默认 `anthropic/claude-sonnet-4.6`) +- `fingerprint.user_agent` - 浏览器 User-Agent(模拟 Chrome 请求) -### 4. 启动 +### 3. 启动 ```bash npm run dev ``` -### 5. 配合 Claude Code +### 4. 配合 Claude Code ```bash export ANTHROPIC_BASE_URL=http://localhost:3010 claude ``` -### 6. 配合 OpenAI 兼容客户端(ChatBox、LobeChat 等) +### 5. 配合 OpenAI 兼容客户端(ChatBox、LobeChat 等) 在客户端设置中填入: - **API Base URL**: `http://localhost:3010/v1` @@ -86,11 +78,10 @@ cursor2api/ │ ├── config.ts # 配置管理 │ ├── types.ts # Anthropic/Cursor 类型定义 │ ├── openai-types.ts # OpenAI 类型定义 -│ ├── cursor-client.ts # Cursor API 客户端 + Token 生成 +│ ├── cursor-client.ts # Cursor API 客户端 + Chrome TLS 指纹 │ ├── converter.ts # 协议转换 + 提示词注入 + 上下文清洗 -│ ├── handler.ts # Anthropic API 处理器 + 拒绝拦截 +│ ├── handler.ts # Anthropic API 处理器 + 身份保护 + 拒绝拦截 │ └── openai-handler.ts # OpenAI API 处理器 -├── jscode/ # x-is-human token 生成脚本 ├── config.yaml # 配置文件 ├── package.json └── tsconfig.json @@ -142,15 +133,26 @@ AI 按此格式输出 → 我们解析并转换为标准的 Anthropic `tool_use` |------|------|------| | **L1: 上下文清洗** | `converter.ts` | 清洗历史对话中的拒绝文本和权限拒绝错误,防止模型从历史中"学会"拒绝 | | **L2: XML 标签分离** | `converter.ts` | 将 Claude Code 注入的 `` 与用户实际请求分离,确保 IDE 场景指令紧邻用户文本 | -| **L3: 输出拦截** | `handler.ts` | 25+ 正则模式匹配拒绝文本,在流式/非流式响应中实时拦截并替换 | - -### x-is-human Token - -Cursor 使用 `x-is-human` 请求头进行人机验证。Token 由前端 JS 生成,有效期 25 分钟。 -在 Node.js 中直接执行验证脚本,无需外部进程。 +| **L3: 输出拦截** | `handler.ts` | 50+ 正则模式匹配拒绝文本(中英文),在流式/非流式响应中实时拦截并替换 | +| **L4: 响应清洗** | `handler.ts` | `sanitizeResponse()` 对所有输出做后处理,将 Cursor 身份引用替换为 Claude | ## 更新日志 +### v2.2.0 (2026-03-05) — 身份保护 + 代码精简 + +**🛡️ 三层身份保护** +- ✨ 扩展身份探针检测:关键词匹配(问模型/平台/系统提示词等),直接返回 Claude 模拟回复 +- ✨ 话题拒绝检测:捕获 Cursor "I'm here to help with coding and Cursor IDE questions" 等拒绝 +- ✨ `sanitizeResponse()` 响应清洗:所有输出后处理,替换 Cursor 身份引用为 Claude +- ✨ 拒绝降级返回 Claude 身份回复(不再显示 `[System] filtered` 提示) +- ✨ 50+ 中英文拒绝模式 + +**🧹 代码精简** +- 🗑️ 移除 `x-is-human` token 生成系统(Cursor 已停止校验该字段) +- 🗑️ 移除 `jscode/` 脚本目录、`script_url` 配置、WebGL 指纹字段 +- 🗑️ 移除 `loadScripts()`、`fetchCursorScript()`、token 池管理等死代码 +- ✅ 保留 Chrome TLS 指纹 headers(user-agent、sec-ch-ua 等) + ### v2.1.0 (2026-03-05) — 提示词策略重构 **🔄 策略转换:从"身份覆盖"到"场景融合"** diff --git a/jscode/README.md b/jscode/README.md deleted file mode 100644 index f91e536..0000000 --- a/jscode/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# jscode 目录 - -此目录存放 x-is-human token 生成所需的 JS 文件。 - -## 文件说明 - -- **env.js** - 浏览器环境模拟脚本(模拟 navigator, window, document 等 DOM API) -- **main.js** - Token 生成入口脚本(模板文件,包含占位符) - -## 获取方式 - -### env.js -```bash -curl -o jscode/env.js https://raw.githubusercontent.com/jhhgiyv/cursorweb2api/master/jscode/env.js -``` - -### main.js -```bash -curl -o jscode/main.js https://raw.githubusercontent.com/jhhgiyv/cursorweb2api/master/jscode/main.js -``` - -## 占位符说明 (main.js) - -main.js 中包含以下占位符,运行时会被实际值替换: -- `$$currentScriptSrc$$` → script_url -- `$$UNMASKED_VENDOR_WEBGL$$` → 显卡厂商信息 -- `$$UNMASKED_RENDERER_WEBGL$$` → 显卡渲染器信息 -- `$$userAgent$$` → 浏览器 UA -- `$$env_jscode$$` → env.js 内容 -- `$$cursor_jscode$$` → Cursor 验证脚本内容 diff --git a/jscode/env.js b/jscode/env.js deleted file mode 100644 index 967716b562e637978f4c6016ead906ce04e6fd45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687890 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 diff --git a/jscode/main.js b/jscode/main.js deleted file mode 100644 index a2d83feb9b417da19c5f6615f555fe8016d88993..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6202 zcmc&&TWcCY6h6;|{s)mhBv7Q!DJi6FXz3*u+a?bo7!x%btjfA34aL9S_WR~|*qz}fmP7%u#=#&YbnTOS@%JoSOM zF(}8t4Y5{}J=w><;*8uAS-Y6kfuz4MPAvL#l^11Kd3%`A#;*&?5h!=Ct|vvah;gp- z=aGM2!YSxYt8FF3O{WQC;0$%8=)0eAO~FX9?po@c4wh+*VuLfmTz+iI zlfCTGaeha5e+XE^=w{m?Y)?E;QqpXA+*WIwrDxwpPi0h%tuM@jIIz`4t>Uz3)cS1) z7&B+U{s=m$1TFOR-EPwx8nD%7R<0s5rHEa`r{|?*DqFqC#A(ybTJy^o6z9&j^Ek<( zf=C%dntS(&tW_p=5-gi z*1RdCk*`59uk_j^YMWj~F|X+&s2_zw(XJQ^=2Jcm)lu_^$&hU|ZsyUc5q^r=qKAk@ zY|;kTc!tP7jK{^&WOu9{Z9HtF4172*7PKWi;kx^bY! z@b%%2Gy0E^YkC{{s;@~4^wJr5d-7~%7sk2SO1o5#P}Os1RnF!5**^Q$-X3n!X8?^8 ztimH;DO9ogXxfFEI-E^tKMDNc>8j0YWuPbvZ{*K zET%S(k;5(XHW8Ejie(q}T!(v^mb>NO5W!ms??L)veh-Z&Q0H^X%B1HkT&5+Q$>n!RqgXnxF)vqZ_c}j zD!k>Uwdj+2#=Cd9lVkU&#