编程代理
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 美元起,无需订阅。
连接
- 在 Shell 中设置网址和密钥。
- 在你的项目中启动 Aider,模型名前加上
openai/:openai/deepseek-v4.1-flash-uncensored。 - 随便问一个问题。如果回复以“Connected to”开头,说明设置成功。
- 把
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 会警告它不了解该模型的上下文窗口或价格。它仍能工作,但你的主目录或仓库根目录中的两个文件可以消除这个警告,并让成本报告和编辑格式正确。
{
"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"
}
}- name: openai/deepseek-v4.1-flash-uncensored
edit_format: diff
use_repo_map: true
accepts_settings:
- reasoning_effort
extra_params:
max_tokens: 32768edit_format: diff只返回修改过的行,比整个文件更快、更便宜。use_repo_map会给模型一张仓库地图,百万 token 的上下文绰绰有余。max_tokens是每次回复的上限。没有它,回复会停在我们默认的 8,192 个 token。- 如果用 GLM,复制两项,把模型名换成
openai/glm-5.3-flash-uncensored,并使用模型中它自己的数字。
选择哪个模型
deepseek-v4.1-flash-uncensored | glm-5.3-flash-uncensored | |
|---|---|---|
| 上下文 | 1,000,000 个 token | 128,000 个 token |
| 最长回复 | 131,072 个 token | 32,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 的成本报告与账单一致吗?
配合上面的元数据文件基本一致,但它不了解缓存价,因此缓存生效后会显示偏高。控制台显示每次调用的实际成本。