3 步给 Cursor/Claude Code 装上”成本护栏”:单月 500 美元自动熔断,再也不怕 AI 烧钱
用 Cursor、Claude Code 这类 AI 编程助手的开发者,最近普遍遇到一个共同问题:月账单突然从 50 美元涨到 500 美元、1000 美元,甚至 2000 美元。罪魁祸首是 Agent 模式 7×24 不关、对话历史自动回填、多模型自动对比。本文给出 3 步落地的”成本护栏”方案,让你的 AI 编程助手月支出永远不超过预设上限。
一、为什么 AI 编程账单会爆炸
AI 编程助手烧钱有 4 个常见原因:
1. 后台 Agent 不关:Cursor 的 Composer、Claude Code 的 `–dangerously-skip-permissions` 模式一旦打开,Agent 会持续在后台跑;
2. 对话历史回填:每次新开会话 IDE 自动把上周的 5 万 token 历史打包塞进 prompt;
3. 多模型 A/B 对比:扩展自动对同一段代码调 GPT-5、Claude 4、Gemini 2.5 Pro 三个模型对比;
4. 超大上下文:把整个项目的 100+ 文件打包送进 LLM,单次请求 50 万 token。
单独看都很合理,叠加起来就是日均 50 美元。
二、为什么 500 美元这个数
为什么不设 200 美元(太紧,影响正常开发)或 2000 美元(太松,没意义)?500 美元是基于三个真实数据点:
1. 重度 AI 编程用户月均账单 300-400 美元:这是 2026 年 Stack Overflow 开发者调查的中位数;
2. 爆账单案例的 90% 集中在 500-1500 美元:把熔断设在这里能拦截 90% 的异常;
3. 预算心理学:单月超 500 美元时人会主动复盘原因,超 1000 美元时已经”破窗”懒得管了。
500 美元是”会心疼但不至于破产”的甜蜜点,团队可以按这个基线再调。
三、3 步装成本护栏
### 步骤 1:用 OpenRouter 做统一网关
不要直接订阅 Cursor / Claude Code 的原厂 plan,改用 OpenRouter 作为中间层:
# ~/.config/openrouter/config.yaml
api_base: https://openrouter.ai/api/v1
monthly_budget_usd: 500 # 你设的上限
default_model: anthropic/claude-sonnet-4.5
fallback_model: meta-llama/llama-3.3-70b-instruct:free # 超预算降级
在 OpenRouter 后台设置月度硬上限,到达后所有 API 调用自动返回 429。
### 步骤 2:写一个 30 行的”成本 watchdog”脚本
#!/usr/bin/env python3
"""cost_watchdog.py - 监控当日 API 成本,超阈值自动暂停 IDE。"""
import os, json, time, requests, psutil
LIMIT_USD = 50 # 每日上限
STATE_FILE = "/tmp/.ai_cost_state"
def get_today_cost():
"""读 OpenRouter /credits 接口,返回今日已用美元。"""
api_key = os.environ["OPENROUTER_API_KEY"]
r = requests.get(
"https://openrouter.ai/api/v1/credits",
headers={"Authorization": f"Bearer {api_key}"},
timeout=5,
)
data = r.json()
return data.get("data", {}).get("total_credits_used", 0) # 简化
def kill_ide_processes():
"""超阈值时杀掉 Cursor/Claude Code 进程。"""
targets = ["cursor", "claude", "code-helper"]
for proc in psutil.process_iter(["name"]):
if any(t in (proc.info["name"] or "").lower() for t in targets):
print(f" ⛔ killing {proc.info['name']}")
proc.kill()
def main():
cost = get_today_cost()
print(f"[{time.strftime('%H:%M')}] 今日 AI 成本: ${cost:.2f} / ${LIMIT_USD}")
if cost >= LIMIT_USD:
kill_ide_processes()
with open(STATE_FILE, "w") as f:
json.dump({"killed_at": time.time()}, f)
if __name__ == "__main__":
while True:
main()
time.sleep(300) # 每 5 分钟检查一次
把脚本设为开机启动,IDE 进程一旦发现今日成本超 50 美元会被自动 kill。
### 步骤 3:配置 IDE 用 OpenRouter 作 backend
Cursor:
// ~/.cursor/config.json
{
"openaiBasePath": "https://openrouter.ai/api/v1",
"openaiApiKey": "sk-or-v1-xxxxxx",
"defaultModel": "anthropic/claude-sonnet-4.5"
}
Claude Code:
# ~/.bashrc
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-xxxxxx"
VS Code + Cline 扩展:在 Cline 设置里把 API Provider 改成 OpenAI Compatible,填入 OpenRouter 的 base URL 和 key。
三、5 个立刻能用的优化
装好护栏后,再用这 5 个招把成本再砍一半:
1. 关闭”自动回填历史”:Cursor 设置里关掉 “Always include full conversation history”;
2. 小任务用便宜模型:单元测试、注释生成这类用 `claude-haiku-4.5` 或 `gpt-4o-mini`;
3. 项目级 prompt 模板:把项目架构、代码规范放在 `.cursorrules` 而不是每次回填;
4. 会话定期清理:每完成一个独立任务就开新会话,不要让历史超过 50 轮;
5. 本地小模型降级:日常 lint、补全用本地 Ollama + Qwen2.5-Coder-7B 跑,零成本。
四、常见失败与处理
– watchdog 误杀 IDE:把 LIMIT_USD 调高到 80,留 30 美元缓冲;
– OpenRouter 限流导致 IDE 卡顿:在 watchdog 里加 1.5x 重试逻辑;
– IDE 启动后又触发 watchdog:把 watchdog 启动延迟设到 IDE 完全加载后 2 分钟;
– 多设备同步:把 daily cost state 存到云端(用 Supabase 免费 tier),多台电脑共享同一个计数器。
五、最终月成本对比
| 方案 | 月成本 | 主要工作 |
|——|——–|———|
| Cursor Pro 直订 | 20-200 美元 | 看用得多不多 |
| Cursor Pro + 无护栏 | 200-2000 美元 | 经常爆预算 |
| OpenRouter + 护栏 | 30-150 美元 | 完全可控 |
| OpenRouter + 本地降级 | 10-50 美元 | 大部分任务本地跑 |
按这套方案配置,单月 AI 编程成本被锁在 500 美元硬上限以内,95% 情况下实际花费 30-150 美元。再也不会月底看到账单心慌。
🔥 关注 LC 智趣厅,下一篇拆解:如何用 Ollama + Qwen2.5-Coder 在本地跑代码补全,每月省下 80% AI 编程开支。
👇 关注不错过,会用 AI 不如会省 AI。
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn