本来是想吐槽"大善人"的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 交互。