Cursor无限Max模型
本来是想吐槽"大善人"的EDU收回的事情来着,话接上次Cursor教育验证只改前端不改后端,我合理认为这次Max的更新也可能是一样的"草台班子",于是我就去找了一下大佬的方法,你还别说,真让我找到了一个无限使用Max模型的方法
我一直都是在使用Cursor的,最近当然也有在使用Augment,但是仍然遇到了瓶颈,例如到达了上下文窗口限制。而Max模式获得了完整的 200K 上下文窗口,但每个请求的成本为 0.05 美元,每个工具调用的成本为 0.05 美元(这可以快速增加 200 个可能的工具调用)。在深入研究了应用程序代码后,我发现了一种方法来修改 Cursor,使常规的 Claude 3.7 具有与 Max 变体相同的 200K 上下文窗口。
修改方法
修改上下文长度
首先我们要定位到Cursor的JavaScript 文件中 /resources/app/out/vs/workbench/workbench.desktop.main.js
这是Cursor配置模型的主要Js文件
在这个文件中我们可以找一下
async getEffectiveTokenLimit(e) {
将这个函数内容修改为,这就代表着Claude-3.7全系列的上下文窗口都提高到了200K
async getEffectiveTokenLimit(e) {
if(e.modelName && e.modelName.includes('claude-3.7')) return 200000;
// Original function code below
const n = e.modelName;
if (!n) return 3e4;
const r = `${n}_token_limit`;
// Rest of the original function...
}
万用版本,这样所有的模型都修改为了200K
async getEffectiveTokenLimit(e) {
return 200000; // Always use 200K limit for all models
// Original function code will never run
const n = e.modelName;
// ...
}
同时继续搜索js中的其他函数
发现,还可以控制思维深度
getModeThinkingLevel(e) {
return this.getAllModes().find((n) => n.id === e)?.thinkingLevel ?? "none";
}
我们修改成最高深度的思考方式
getModeThinkingLevel(e) {
return "high";
}
然后验证一下 getThinkingLevel
函数
getThinkingLevel(e) {
switch (e) {
case "high":
return tH.HIGH;
case "medium":
return tH.MEDIUM;
default:
return tH.UNSPECIFIED;
}
}
完成上面的部分,就能达到Max的标准了,但是我们还要继续修改UI显示
查找常规 Claude 3.7
型号的样式,方法是搜索:
a = { ...e, title: "claude-3.7-sonnet", id: r, _serializableTitle: () => "claude-3.7-sonnet" },
替换为以下代码以添加自定义样式
a = { ...e, title: "claude-3.7-sonnet", id: r, subTitle: "MAX", subTitleClass: "!opacity-100 gradient-text-high font-bold", _serializableTitle: () => "3.7 MAX" },
这样修改后我们会得到下面的效果
- 添加“MAX”副标题
- 应用与“MAX”版本相同的渐变样式
- 将文本加粗
- 在下拉菜单和模型选择 UI 元素中显示“3.7 MAX”
声明
这些修改仅影响客户端代码。实际的令牌使用仍然由 Anthropic 的 API 控制,因此您可能会遇到服务器端限制。
这些修改不会绕过任何 API 密钥要求。如果您使用的是自己的 API 密钥,则成本仍由 Anthropic 的定价决定。
将思维水平设置为“高”将使 Claude 更多地展示其推理过程,这可能会增加令牌使用。
请记住在进行更改之前进行备份。这些修改只影响本地客户端,不会改变 Claude 的实际功能或底层 API 交互。