跳到正文
全部文档

编程代理

Aider 设置

Aider 通过两个环境变量和带 openai/ 前缀的模型名,即可连接任何兼容 OpenAI 的 API。随后两个小文件会告诉它模型真实的上限和价格。

核对于 2026年10月29日

参数值

OPENAI_API_BASE
https://nokeep.ai/v1
API 密钥
sk-nokeep-test to test, then your own sk-nokeep-… key
模型
deepseek-v4.1-flash-uncensored
上下文窗口
1000000
最大输出 token 数
32768

先用免费测试密钥:它会对每个请求回复一句固定的话,且不调用工具,无需花钱即可证明网址和密钥正确。然后从控制台粘贴你自己的密钥。积分 5 美元起,无需订阅。

连接

  1. 在 Shell 中设置网址和密钥。
  2. 在你的项目中启动 Aider,模型名前加上 openai/:openai/deepseek-v4.1-flash-uncensored。
  3. 随便问一个问题。如果回复以“Connected to”开头,说明设置成功。
  4. 把 OPENAI_API_KEY 设为你在控制台获得的密钥,然后重新启动 Aider。
export OPENAI_API_BASE=https://nokeep.ai/v1
export OPENAI_API_KEY=sk-nokeep-test

cd /path/to/your/project
aider --model openai/deepseek-v4.1-flash-uncensored

保留 openai/ 前缀:正是它把调用发送到 OPENAI_API_BASE。没有它,Aider 无法识别模型名,调用会失败。

如果你想让 OpenAI 的变量仍用于 OpenAI,请改为用参数传入这两个值:--openai-api-base 和 --openai-api-key。

上限、价格与编辑

Aider 会警告它不了解该模型的上下文窗口或价格。它仍能工作,但你的主目录或仓库根目录中的两个文件可以消除这个警告,并让成本报告和编辑格式正确。

.aider.model.metadata.json
{
  "openai/deepseek-v4.1-flash-uncensored": {
    "max_tokens": 131072,
    "max_input_tokens": 1000000,
    "max_output_tokens": 131072,
    "input_cost_per_token": 4.5000000000000003e-7,
    "output_cost_per_token": 0.00000175,
    "litellm_provider": "openai",
    "mode": "chat"
  }
}
.aider.model.settings.yml
- name: openai/deepseek-v4.1-flash-uncensored
  edit_format: diff
  use_repo_map: true
  accepts_settings:
    - reasoning_effort
  extra_params:
    max_tokens: 32768
  • edit_format: diff 只返回修改过的行,比整个文件更快、更便宜。
  • use_repo_map 会给模型一张仓库地图,百万 token 的上下文绰绰有余。
  • max_tokens 是每次回复的上限。没有它,回复会停在我们默认的 8,192 个 token。
  • 如果用 GLM,复制两项,把模型名换成 openai/glm-5.3-flash-uncensored,并使用模型中它自己的数字。

选择哪个模型

deepseek-v4.1-flash-uncensoredglm-5.3-flash-uncensored
上下文1,000,000 个 token128,000 个 token
最长回复131,072 个 token32,768 个 token
工具调用支持,所有 tool_choice支持,tool_choice 为 auto 或 none
读取截图支持,每次请求最多 10 张不支持,仅文本
思考默认关闭,除非要求始终开启,简短思考
每百万 token$0.45 输入 · $0.011 缓存 · $1.75 输出$0.20 输入 · $0.04 缓存 · $0.65 输出

代理工作请用 DeepSeek。整个仓库能装进它的上下文,它以各种形式调用工具,代理每次重新发送的历史按每百万 $0.011 的缓存价计费。对于不重复发送长历史的简短一次性任务,可以用 GLM,它的新输入和输出价格更低。

两个模型的拒答都已从权重中移除,因此在敏感话题附近工作,例如对你自己系统的安全测试或审核工具,会得到代码而不是拒绝。比较模型。

思考

DeepSeek 默认立即回答,除非请求指定了 reasoning_effort,这适合代理快速编辑并运行的循环。需要规划或排查难题时,请让它思考:可取 none、low、high、max。其他应用的 minimal、medium、xhigh 会按最接近的这几档运行;任何其他值都会被以 400 invalid_reasoning_effort 拒绝。思考按输出计费。

在 Aider 中,可以用 --reasoning-effort high 启动,或在会话中输入 /reasoning-effort high。上面的设置文件把 reasoning_effort 列为模型接受的设置,因此 Aider 会发送它,且不会给出警告。

一次会话的花费

代理每次调用都会发送整段对话:指令、它读过的文件、到目前为止的每一步。假设一次调用发送 60,000 个 token,其中 55,000 个与上一次调用的开头相同,并写入 1,000 个。在 DeepSeek 上这次调用约 $0.0046,因此 200 次调用约 $0.92。如果没有缓存,同样的调用需 $0.0288。

  • 缓存是自动的,无需开启。约 1,000 个或以上 token 的开头,如果在几分钟内重复,就按缓存价计费。
  • 每次调用会先冻结它可能的费用(提示词加最大输出),再结算为实际用量。在最大输出 32,768 个 token 时,冻结额中的输出部分约为 $0.0573。
  • 控制台显示每次调用的实际 token、缓存 token 和积分。代理自带的成本计数器可能不知道缓存价,因此会显示偏高。

计费方式。

如果无法工作

代理显示解决办法
401密钥错误或已被撤销。重新粘贴,前后不要有空格或引号。
402账户已用完购买的积分。请在控制台充值,最低 5 美元,并在那里打开 自动充值,这样长任务不会中途停止:余额低于你选定的金额时,它会用已保存的银行卡补充积分。
429一个密钥每分钟超过 120 次请求,或超出你为它设置的每日上限。同时运行多个子代理的代理最先遇到这个问题。等待 Retry-After 中的秒数,在控制台提高上限,或为每个代理分配各自的密钥。
400 invalid_reasoning_effort代理发送了模型不支持的推理强度。DeepSeek 支持 none、low、high、max;GLM 支持 low 或 high。
404网址错误,或路径重复了。使用 https://nokeep.ai/v1,不要加 /chat/completions,并对照 /v1/models 检查模型 ID。
503模型繁忙。几秒后重试;不会扣费。
固定的测试回复设置正确。换成你自己的密钥即可获得真实回复。

每个错误及其解决办法都列在错误说明中。

常见问题

我的代码会被保留吗?

不会。我们每次调用只保留一行计数:时间、密钥、模型、token、积分和状态。从不保留提示词、文件或回复。我们保留什么。

为什么第二次调用比第一次便宜?

第二次调用的开头与第一次相同,因此该开头按每百万 $0.011 从缓存读取,而不是 $0.45。代理的大部分输入在第一次调用后都会被缓存。

Aider 的成本报告与账单一致吗?

配合上面的元数据文件基本一致,但它不了解缓存价,因此缓存生效后会显示偏高。控制台显示每次调用的实际成本。