首页
/ career-ops 低成本运行完全指南:模型无关设计、spend_tier 分层路由与零成本路径

career-ops 低成本运行完全指南:模型无关设计、spend_tier 分层路由与零成本路径

2026-09-04 11:34:17作者:胡易黎Nicole

本文基于 career-ops 官方文档 docs/RUNNING_ON_A_BUDGET.md 整理并扩充,讲解如何在 Token 成本与速率限制成为瓶颈时,不改动任何一行 career-ops 代码,仅通过模型路由、spend_tier 配置、独立评测脚本与批处理参数,把一条完整的"扫描 → 评估 → 简历定制 → PDF 生成"求职流水线跑到低成本甚至零成本。读完本文,你可以掌握:如何确认自己是否在为已付费订阅重复付费、如何把 OpenCode/Qwen CLI 指向 DeepSeek、OpenRouter、Moonshot 或 Ollama 等廉价端点、如何用独立脚本完成单次评估,以及如何用 --limit/--dry-run/--resume-paused 等标志控制批量运行的烧钱速度。


1. 核心设计:模型无关(Model Agnosticism)

大规模求职流水线的最常见瓶颈是 Token 用量成本与速率限制:career-ops 需要处理完整职位描述(JD)、对照 CV 在五个加权维度上评分、并定制简历与求职信,上下文增长很快。

幸运的是,career-ops 是完全 AI 无关的(AI-agnostic)。流水线由本地模板、Markdown 提示词和 Node/Playwright 脚本组成,AI 逻辑完全由你运行它的那个 AI 编码 CLI(Claude Code、OpenCode、Qwen CLI、Codex、Antigravity CLI、Grok Build CLI 等)驱动。提示词全部集中在 modes/ 目录下的 Markdown 文件中,评分规则、模型路由表等系统逻辑放在 modes/_shared.md,评估模式定义在 modes/oferta.md

这意味着:选择一个支持自定义模型配置的 CLI,把它路由到更便宜的 API 供应商或本地 LLM,即可在不损失任何功能的前提下大幅降低运行成本——零代码改动

从源码结构看,这一设计落在三处:

  • 独立的无 CLI 依赖评测脚本,如 openai-eval.mjs(任意 OpenAI 兼容端点)、ollama-eval.mjs(本地 Ollama)、gemini-eval.mjs(Google AI Studio),它们直接从 modes/oferta.md + modes/_shared.md 读取评估逻辑,从 cv.md 读取简历,生成报告并更新 tracker;
  • 上下文预算管理模块 lib/context-budget.mjs:用约 4 字符/Token 的启发式估算(estimateTokens),并按 P0/P1/P2 优先级压缩 _shared.md 的章节——评分系统、原型检测、岗位真实性、全局规则等 P0 章节永不压缩,面向文本生成的 P2 章节(Voice DNA、写作风格、ATS 规则)在预算吃紧时优先裁剪;
  • 批处理运行器 batch/batch-runner.shbatch/batch-prompt.md,复用单个 worker 而不是每个岗位重发一遍指令。

2. 内置成本旋钮:spend_tier

在配置 CLI 之前,先了解 career-ops 自带的评估成本控制旋钮:config/profile.example.yml 中的 spend_tier 设置(示例文件第 112–117 行有完整注释)。它决定你的 CLI 用哪一档模型来评估岗位——无需任何供应商配置。

档位 行为
economy 最便宜/最快的模型,不启用扩展思考。适合大批量扫描。
standard 均衡模型,不启用扩展思考。键缺失时的默认值。
premium 能力最强的模型,自适应扩展思考。适合高 stakes 的 offer。

在 profile 中设置一次即可:

# config/profile.yml
spend_tier: standard

各档位背后的具体模型取决于你用的 CLI。modes/_shared.md 的 "Spend Tier (Model Routing)" 小节是唯一允许出现模型/供应商名称的位置,其映射表为:

CLI economy standard premium 扩展思考
Claude Code Haiku 4.5 Sonnet 5 Opus 5 off / off / adaptive
OpenCode / Gemini CLI / Copilot CLI / Codex / Qwen / Antigravity CLI 该 CLI 最便宜/最快的可用模型 均衡模型 最强模型 off / off / adaptive

modes/_shared.md 的源码注释看,Claude Code 一行给出具体模型名是因为其模型阵容稳定可查;其余 CLI 刻意不点名,"错误的猜测会把用户路由到不存在的模型"。这一约束还有一条纪律性规则:modes/ 下其他所有位置只能引用 "the economy/standard/premium tier",不得重复硬编码模型名——这样路由逻辑保持模型无关,任何 CLI 的映射变化只需改表中一行。同时 Output parity(输出一致性) 有明确保证:无论哪一档模型,A-H 报告结构、标题与分节完全相同,评分语义不变。

此外,文档还提到一个与成本直接相关的配套机制:在 standard 与 premium 档位下,流水线会先跑一个预筛选门(pre-screen gate)——用经济档等价的便宜模型快速判断 JD 是否明显不匹配(领域错位、级别错位、地点/签证硬性冲突),命中则直接标记 skipped 跳过完整评估。这一逻辑写在 modes/batch.md("standard or premium tier: Before a worker runs the full A-F evaluation..." 一段);economy 档则无此门,因为它本身就是最便宜档,再加预筛选只增加延迟不省钱。config/profile.example.yml 中还提供了更细的两段式 triage 门配置(pipeline.triage_threshold 默认 3.5、triage_min_urls 默认 5,混合批次下可把总 Token 削减约一半)以及 auto_pdf_score_threshold(默认 3.0,低分岗位不自动渲染 PDF)——这些都是同一"先筛后算"思路的延伸。

3. 已在付费订阅上?确认你确实在用它

如果你已经在为某个套餐付费(Claude Pro/Max,或其他 CLI 的等价套餐),却又在按 Token 被计费,常见原因是:环境里放着一个 API key——大多数 CLI 会优先使用显式 key 而不是你已登录的订阅。工具无法知道你更想花已经买过的套餐。

本节以 Claude Code 为主(这是问题出现最多的 CLI),其他 CLI 有各自的优先级规则,形态相同。

3.1 检查当前用的是什么

echo $ANTHROPIC_API_KEY     # 这里打印出任何内容 = 正在按 token 计费

在 Claude Code 内,/status 报告当前登录身份,key 生效时会显示 API-key 行;/usage 显示订阅的计划用量,或 key 计费下的会话美元成本。

3.2 切换到订阅计费

  1. 从所有导出该变量的地方移除(~/.zshrc~/.bashrc~/.profile、项目 .env,或任何替你设置它的工具)。unset ANTHROPIC_API_KEY 只影响当前 shell,必须同时改文件,否则下个终端又回来。
  2. 重启终端。
  3. 在 Claude Code 中执行 /login 并登录。

注意 ANTHROPIC_AUTH_TOKEN 以及云供应商开关(CLAUDE_CODE_USE_BEDROCKCLAUDE_CODE_USE_VERTEX)同样具有优先级——如果找不到多余的 key,也要检查这些。

3.3 settings.json 里的 helper 可能把 key 带回来

即使环境干净,~/.claude/settings.json 也可以配置 apiKeyHelper——一个 Claude Code 在每次请求时执行的、用于产生 API key 的脚本。一旦设置,该 key 会压过订阅登录,仅执行上面的步骤无法修复计费问题。检查方法:

grep -n "apiKeyHelper" ~/.claude/settings.json 2>/dev/null   # 任何匹配 = 已配置 helper

移除后重启 Claude Code:

{
  "apiKeyHelper": "/path/to/script.sh" // 删除这一行
}

项目级 .claude/settings.json~/.claude/settings.local.json 也能设置同一 key——如果问题反复出现,这两个文件也要查。

3.4 批量模式是已知例外

batch/batch-runner.sh 驱动的是 claude -p headless worker,headless 路径不使用交互式登录。若想让批量运行走订阅而不是按 credits 计费,生成一次长期 token:

claude setup-token          # 需要活跃的 Claude 订阅

然后把它打印出的值导出为批量运行环境中的 CLAUDE_CODE_OAUTH_TOKEN。这是一个凭据:按凭据对待,切勿提交到版本库。

3.5 两件事要提前预期

  • 计划限制是窗口,不是余额。 订阅制给的是滚动用量窗口而非信用余额,重扫描可能让你在窗口重置前暂停。spend_tier: economy 与上文预筛选门正是为"高量日"设计的降本手段。
  • 细节会变化。 认证优先级与命令名来自 CLI 本身而非 career-ops;若本文描述与你所见不符,以供应商官方文档为准。

4. 配置替代 CLI:OpenCode 与 Qwen CLI

不同 CLI 对模型路由的灵活度不同,预算场景下最常见的两个选择是 OpenCodeQwen CLI

4.1 OpenCode CLI

OpenCode 是开源编码代理,可便捷地路由到自定义 API 供应商(DeepSeek、OpenRouter、Together AI 等)或本地端点(Ollama):

  1. 在项目目录中初始化/打开 OpenCode:

    opencode
    
  2. 打开其配置(通常位于 .opencode/config.json,或通过 CLI 提示/设置界面配置)。

  3. provider 设为所选端点(如 OpenRouter 或任意 OpenAI 兼容端点)。

  4. 按需配置自定义端点的环境变量:

    # Git Bash / Linux / macOS:
    export OPENAI_API_BASE="https://openrouter.ai/api/v1"
    export OPENAI_API_KEY="your_openrouter_api_key_here"
    
    # Windows CMD:
    set OPENAI_API_BASE=https://openrouter.ai/api/v1
    set OPENAI_API_KEY=your_openrouter_api_key_here
    
    # Windows PowerShell:
    $env:OPENAI_API_BASE="https://openrouter.ai/api/v1"
    $env:OPENAI_API_KEY="your_openrouter_api_key_here"
    

4.2 通过 OpenCode 使用 Kimi K2.5(已验证配方)

注意区分"Kimi 模型"与"Kimi CLI"。 本配方是在 OpenCode CLI 内运行 Moonshot 的 Kimi K2.5 模型,与把独立的 Kimi CLI 当作宿主是两回事(支持的 CLI 清单见 docs/SUPPORTED_CLIS.md)。名称撞车,配置不撞车。以下步骤全部在 OpenCode 内完成。

以下配置已经 career-ops 配合 Moonshot AI 的 OpenAI 兼容 API 验证通过。

opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "moonshot": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Moonshot Kimi",
      "options": {
        "baseURL": "https://api.moonshot.ai/v1",
        "apiKey": "{env:MOONSHOT_API_KEY}"
      },
      "models": {
        "kimi-k2.5": {
          "name": "Kimi K2.5"
        }
      }
    }
  },
  "model": "moonshot/kimi-k2.5"
}

环境变量(按平台三选一):

# Linux/macOS
export MOONSHOT_API_KEY="your_api_key"
# Windows PowerShell
$env:MOONSHOT_API_KEY="your_api_key"
# Windows CMD
set MOONSHOT_API_KEY=your_api_key

验证结果: 该配置在本地通过完整的 career-ops 评估流程验证:评估成功完成、Markdown 评估报告成功生成、应用 tracker 成功更新、验证运行中未观察到格式错误的结构化输出;PDF 生成因本地未配置 Playwright MCP 而被跳过。

说明: 实测运行时间反映的是完整 career-ops 流水线(岗位抓取、提示词加载、报告生成、tracker 更新),而非裸模型推理延迟;Kimi K2.5 在 Moonshot OpenAI 兼容端点上工作正常。

备选方案对比:

方案 成本 备注
OpenRouter :free 免费层 配置简单,受模型可用性与速率限制约束。
Kimi K2.5 Moonshot API 已验证可配合 OpenCode 与 Moonshot OpenAI 兼容端点工作。
Ollama 本地 无 API 成本,但需要合适的本地硬件,且推荐更大的模型才能保证可靠评估。

4.3 Qwen CLI

Qwen CLI 原生支持 Qwen 系列模型,也可以配置指向任意 OpenAI 兼容 API base URL:

# Git Bash / Linux / macOS:
export QWEN_API_BASE="https://api.deepseek.com/v1"
export QWEN_API_KEY="your_deepseek_api_key_here"

# Windows CMD:
set QWEN_API_BASE=https://api.deepseek.com/v1
set QWEN_API_KEY=your_deepseek_api_key_here

# Windows PowerShell:
$env:QWEN_API_BASE="https://api.deepseek.com/v1"
$env:QWEN_API_KEY="your_deepseek_api_key_here"

5. 推荐的低成本模型与独立评测器

选择预算友好模型时,需要较强的推理能力来处理多维评分与简历定制。以下是文档推荐的、在评估任务下表现稳定的模型:

模型 供应商 / 端点 每 1M 输入/输出 Token 价格 使用理由
DeepSeek V3 DeepSeek API / OpenRouter ~$0.14 / ~$0.28 首选推荐。 推理能力对价格的比值无可匹敌,以零头成本逼近前沿模型表现。
DeepSeek-Coder-V2 DeepSeek API / OpenRouter ~$0.14 / ~$0.28 结构化 Markdown 与简历定制方面指令遵循出色。
Qwen-2.5-Coder (32B / 72B) OpenRouter / DeepInfra ~$0.07 - ~$0.30 编码与结构化推理强,性价比极高。
GLM-4-Air / GLM-4 Zhipu AI / OpenRouter 非常便宜 多轮推理与 JSON/Markdown 生成可靠。
Gemini 2.5 Flash Google AI Studio 免费层 (15 RPM) 通过独立脚本 node gemini-eval.mjs 使用。适合零成本低量运行,但受速率限制约束。
Kimi K2.5 Moonshot AI 按 API 定价 已通过 OpenCode + Moonshot OpenAI 兼容端点验证,产出适合 career-ops 评估的结构化 Markdown(见 4.2 配方)。

独立评测器(无需任何 CLI 配置): 上表所有 OpenAI 兼容供应商(DeepSeek、Qwen、GLM、Together、Groq、OpenRouter 等)都可以通过 openai-eval.mjs 直接工作——设置 base URL、模型与 key 即可:

OPENAI_BASE_URL=https://openrouter.ai/api/v1 \
OPENAI_MODEL=deepseek/deepseek-chat \
OPENAI_API_KEY=your_key \
node openai-eval.mjs --file ./jds/job.txt

执行 node openai-eval.mjs --help 可看到按供应商列出的示例(OpenRouter、Together、Groq、DeepSeek、Zhipu GLM、LM Studio 各自的 --url--model 组合)。要 100% 本地/私有运行,把 --url 指向本地服务器(LM Studio / llama.cpp / vLLM),或改用 node ollama-eval.mjs

NVIDIA NIM 同样可用(托管端点 https://integrate.api.nvidia.com/v1 或自建容器的 /v1),例如 --model meta/llama-3.3-70b-instruct。托管免费层可能排队数分钟,因此要把 OPENAI_TIMEOUT_MS 提到默认值 300 秒以上——这一点在 openai-eval.mjs 源码中可确认:OPENAI_TIMEOUT_MS 默认 300000 毫秒(第 299 行),非法值会直接报错退出。

从源码看,openai-eval.mjs 还内置了安全护栏:非回环端点必须走 HTTPS(明文传输会暴露 CV、JD 与 key,脚本会拒绝启动);托管端点必须提供 API key,仅 localhost 本地服务器可豁免。脚本默认模型为 gpt-4o-mini,支持 --file/--model/--url/--key/--no-save/--no-compress 标志,并调用 lib/context-budget.mjsbuildBudgetedPrompt 做按优先级的上下文压缩(--no-compress 可关闭、注入全量上下文)。

6. 本地 LLM 的权衡(Ollama / llama.cpp)

通过 Ollama 完全本地运行模型一分钱不花,但权衡显著:

6.1 尺寸 vs. 质量

  • 避开小模型(如 8B 参数):Llama 3 8B、Qwen-2.5-Coder 7B 这类模型对 career-ops 普遍太弱——它们经常无法遵循复杂的评估 schema(A-H 分块结构)、输出合法 Markdown/JSON,或生成低质量、模板化的简历定制。
  • 最低推荐尺寸:至少使用 32B+ 或 70B+ 模型(如 Qwen 2.5 Coder 32B/72B 或 Llama 3.1 70B)才能保证可靠的评分与高质量简历定制。

6.2 硬件与 VRAM 要求

  • 32B 模型:需要至少 16GB–24GB VRAM 的 GPU(如 RTX 3090/4090、Mac Studio 或 32GB+ 统一内存的 Apple Silicon Mac)。
  • 70B 模型:至少 48GB VRAM 才能获得尚可的速度。

预算提示:对大多数用户,通过廉价托管 API(DeepSeek 官方或 OpenRouter)运行 DeepSeek V3Qwen 2.5 Coder 72B,远比投资本地硬件高效划算——几十个评估的成本只有几美分。

7. Token 节约最佳实践

为防止不必要的 API 开销或撞上速率限制,落地以下做法:

  1. --limit 标志控制批量上限:不要手工拆分 batch/batch-input.tsv,用 --limit <N> 每次只处理少量(如 5–10 条)offer,先检视输出质量再投入大批量运行:

    ./batch/batch-runner.sh --limit 5
    
  2. --dry-run 先做干跑:批量运行前永远先验证哪些 offer 会被处理:

    ./batch/batch-runner.sh --dry-run
    
  3. --resume-paused 恢复中断的运行:批量运行若被速率限制或网络错误中断,不要从头再来。用 --resume-paused 从断点续跑,跳过已完成岗位,避免浪费 Token:

    ./batch/batch-runner.sh --resume-paused
    

    batch/batch-runner.sh 源码看,这三个标志都实际存在(--dry-run 仅展示不执行、--resume-paused 恢复被 Claude 会话/速率限制暂停的 offer、--limit N 限制本次运行条数且必须是非负整数);运行器在撞到会话/速率限制时会打印 "Batch paused: session/rate limit reached. Resume later with --resume-paused." 的提示。

  4. 扫描时用 --verify:运行职位板扫描时启用存活校验,在过期岗位进入流水线前过滤掉,避免浪费 LLM Token 去评估已关闭的岗位:

    npm run scan -- --verify
    

    scan.mjs 的头部注释确认 --verify 会用 Playwright 逐一检查新 URL 并丢弃过期发布,还可选 --throttle(~5–10 秒抖动间隔,避免触发对方速率限制)、--throttle=8000(自定义基础间隔)、--headed-fallback(反爬拦截时切换有头浏览器重试)、--rediscover-404(复验 tracked URL 中的 404/410)。

8. 实战演练:用 DeepSeek V3 via OpenRouter 跑一条低成本流水线

下面是一次端到端的具体走查:扫描职位、评估单个岗位,全程使用 DeepSeek V3(OpenRouter 端点) 与独立 openai-eval.mjs 评测器,绕开了昂贵 CLI agent 的"重评估块"。

第 1 步:扫描职位(0 Token)

门户扫描器直接用 Playwright 与标准 HTTPS 请求查询 ATS API,不用 LLM 读职位板:

node scan.mjs

成本:0 Token,$0.00。(产出新职位 URL 列表并填充 data/pipeline.md。)

第 2 步:抓取 JD(0 Token)

打开扫描器找到的某个 URL,复制职位描述文本,本地保存(如 jds/my-target-role.txt)。

第 3 步:评估 offer(约 4,500 Token)

对 OpenRouter 的 DeepSeek V3 端点运行评估。脚本读取你的 cv.md 与 JD,生成完整评估报告与 tracker 条目:

OPENAI_API_KEY="sk-or-your_openrouter_key" \
node openai-eval.mjs \
  --url https://openrouter.ai/api/v1 \
  --model deepseek/deepseek-chat \
  --file ./jds/my-target-role.txt

近似 Token 用量:

  • 输入: 约 20,000 Token。仅静态前缀就达 17,728:脚本把 modes/_shared.md(4,127)+ modes/oferta.md(13,601)作为系统提示发出,cv.md 与 JD 叠加在其上。
  • 输出: 约 1,000 Token(评估报告本身)。
  • 成本: 按 DeepSeek V3 价格(~$0.14/1M 输入、~$0.28/1M 输出),每次评估约 $0.003。依然便宜,且下面这个数字比它更值得关心。

这些文件随每个版本增长,所以自己测量,别照抄这段文字:

node --input-type=module -e "
import { estimateTokens } from './lib/context-budget.mjs';
import { readFileSync } from 'fs';
for (const f of ['modes/_shared.md','modes/oferta.md','AGENTS.md'])
  console.log(f, estimateTokens(readFileSync(f,'utf8')));"

默认交互路径的真实成本(多数人实际在付的钱)

上面是独立脚本的数字。如果你在 CLI 里粘贴一个职位 URL,agent 会加载 AGENTS.md(8,285)+ modes/_shared.md(4,127)+ modes/oferta.md(13,601)≈ 每次评估 26,000 Token 的指令——那还没算你的 CV、JD 和任何工具输出。这才是交互式评估的真实地板,也是"长时间粘贴 URL 的会话烧掉批量脚本调用不会烧掉的配额"的原因。

由此得出两个最便宜的改进:

  • 批量优于粘贴:有多个岗位时,batch/batch-runner.sh 复用一个 worker,而不是每个岗位重发一遍指令;
  • 单次评估不是风险,无界研究才是:一次评估过去可以扇出几十个 subagent、烧掉数千万 Token。现在 modes 已把网页研究限制在五次查询以内并禁止为它生成 subagent(这一护栏同时写在 modes/_shared.md 的 "Subagent delegation (cost guardrail)" 小节:subagent 是单程 worker,不得嵌套、不得调用开放式研究技能),评估因此保持有界。如果你自己写 mode,请保留这个上限——它是 $0.003 一次评估与耗尽五小时配额之间的差别。

第 4 步:定制 CV HTML(约 3,000 Token)

用 headless tailor 注入 JD 关键词、重排经历,为该岗位构建定制 HTML:

OPENAI_API_KEY="sk-or-your_openrouter_key" \
node openai-tailor.mjs \
  --url https://openrouter.ai/api/v1 \
  --model deepseek/deepseek-chat \
  --jd ./jds/my-target-role.txt \
  --report reports/001-companyname-2026-07-07.md

成本:约 3,000 Token(不到 $0.001),产出定制 HTML 到 output/ 目录。

第 5 步:生成 ATS 优化 PDF(0 Token)

有了定制 HTML,PDF 生成器用 Playwright 把它编译成定制简历 PDF:

node generate-pdf.mjs output/cv-candidate-companyname.html output/cv-candidate-companyname-2026-07-07.pdf --format=letter --report=001

成本:0 Token,$0.00。

把最重的环节(评估)路由到廉价的 OpenAI 兼容端点后,一个完整的求职申请周期从前沿模型上的 ~$0.05–$0.15 降到不到一分,从而可以负担得起地跑批量处理。

9. 零成本路径(无需 Claude / 付费 CLI)

career-ops 内置一条完全跑在免费模型上的流水线——不需要 Claude Code、不需要 Anthropic API key、不需要付费 CLI 订阅。以下内容在一次性 .env 配置后开箱即用。

路径 A:OpenRouter 免费模型(or:* 脚本)

不需要 Claude Code CLI——使用 OpenRouter 免费模型并自动回退。

npm 快捷命令(覆盖整条流水线):

npm run or:scan        # 扫描门户获取新发布(Greenhouse API,0 token)
npm run or:pipeline    # 处理 data/pipeline.md 中所有待处理 URL
npm run or:eval        # 评估单个 offer(粘贴 URL 或文本)
npm run or:apply       # 为某份报告生成申请问题草稿答案

(以上四个脚本名在 package.json 的 scripts 中均可确认。)

用法:

node openrouter-runner.mjs scan              # 扫描 Greenhouse API 公司的新发布
node openrouter-runner.mjs evaluate <url>    # 按 URL 评估一个岗位
node openrouter-runner.mjs evaluate          # 交互式粘贴岗位文本
node openrouter-runner.mjs pipeline          # 处理 pipeline.md 中所有待处理 URL
node openrouter-runner.mjs apply <report_no> # 生成申请表单草稿答案
node openrouter-runner.mjs models            # 列出可用免费模型
node openrouter-runner.mjs help              # 显示帮助

配置步骤:

1. copy .env.example .env
2. 在 .env 中加入 OPENROUTER_API_KEY=sk-or-v1-...
3. 到 OpenRouter 官网注册获取免费 API key

openrouter-runner.mjs 是约 900 行的独立运行器,封装了扫描、评估、流水线处理与申请草稿生成的完整命令面。

路径 B:Ollama 全本地(ollama:eval

想要零网络调用与完全隐私,就把评估打到本地 Ollama 实例:

npm run ollama:eval

这会调用 ollama-eval.mjs 请求本地 Ollama 服务器——无 API key、无互联网、零成本。模型尺寸建议见第 6 节(可靠评分至少 32B)。

路径 C:任意 OpenAI 兼容端点(openai:eval

指向任何实现 OpenAI chat-completions API 的端点——NVIDIA NIM(免费层)、Zhipu GLM、Together、Groq、LM Studio、llama.cpp、vLLM,甚至 Ollama 的 /v1 路由:

npm run openai:eval

通过 .env 配置:

OPENAI_BASE_URL=https://integrate.api.nvidia.com/v1   # 或任意兼容 base URL
OPENAI_MODEL=meta/llama-3.1-70b-instruct              # 该端点上的模型名
OPENAI_API_KEY=your_provider_key_here                  # 部分免费端点也需要 key

运行 node openai-eval.mjs --help 查看各供应商的精确 URL 与模型名示例。

选哪条路径:路径 A 起步(一个环境变量,全流程覆盖);断网/纯本地场景用 B;已有自建推理端点用 C。


小结

career-ops 的成本结构可以拆成三层,每层都有对应的官方手段:

  1. 指令层(每次评估固定付出的系统提示)——用 spend_tier 选档、用预筛选/triage 门跳过明显不匹配、用 batch/batch-runner.sh 批量复用 worker;
  2. 推理层(模型单价)——模型无关设计允许你自由路由到 DeepSeek V3、OpenRouter 免费模型、Gemini 免费层或本地 Ollama,独立脚本 openai-eval.mjs / gemini-eval.mjs / ollama-eval.mjsnpm run or:* 覆盖了扫描到申请草稿的完整流水线;
  3. 执行层(速率限制与中断)——--limit--dry-run--resume-pausednpm run scan -- --verify 四件套控制烧钱速度并避免重跑浪费。

三者叠加,把完整评估从前沿模型上的几分钱压到美分以下,甚至归零——而不修改 career-ops 仓库里的任何一行代码。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
527
590
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
904
1.82 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
docsdocs
暂无描述
Markdown
889
5.78 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.52 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.33 K
1.45 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
982
502
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384