把 Claude Opus 4 接进 Continue.dev 我填了两遍——tabAutocomplete 和 chat 要分开写,有一处 anthropic_version 头文档根本没提
上周三我把项目里的 Cursor 换成 VS Code + Continue.dev,原因很简单——Cursor 的订阅到期了,而且我只需要一个能接自定义模型的补全插件。想着把 Claude Opus 4 挂上去应该十分钟搞定,结果折腾了大半个下午。最大的坑不是配置本身,而是 tabAutocomplete 和 chat 是两套完全独立的 provider 配置,写一份不会自动复用到另一份;另外 Continue.dev 的 Anthropic provider 不像 Cursor 那样自动注入 anthropic-version 请求头,漏填直接 400,官方文档一个字没提。
这篇适合谁
- 你在 VS Code 里用 Continue.dev 插件,想接 Claude Opus 做 chat 对话
- 你同时需要 tab 补全功能,但不想 Opus 的高延迟拖慢打字节奏
- 你之前在 Cursor / Cline 里用过 Anthropic API,以为 Continue.dev 配置差不多(不一样)
- 你刚踩了 404 或 400 报错,搜到这篇来的
整体流程
- 确认你有可用的 Anthropic API Key(或聚合平台的 Key)
- 找到 Continue.dev 的
config.json文件 - 在
models数组里配 chat provider(Opus) - 单独配
tabAutocompleteModel(建议用 Claude Haiku 3.5,便宜快) - 手动注入
anthropic-version请求头 - 验证两个功能分别能跑通
graph TD
A[拿到 API Key] --> B[编辑 config.json]
B --> C[配 models 数组 - chat 用 Opus]
B --> D[配 tabAutocompleteModel - 补全用 Haiku 3.5]
C --> E[注入 anthropic-version 头]
D --> E
E --> F[重载生效,验证]
先说结论
| 配置项 | chat(对话) | tabAutocomplete(补全) |
|---|---|---|
| 推荐模型 | claude-opus-4-5(Claude Opus 4) | claude-haiku-3-5(Claude Haiku 3.5) |
| 输入价格 | $15/M tokens | $0.80/M tokens |
| 输出价格 | $75/M tokens | $4.00/M tokens |
| 写在哪 | models 数组 |
tabAutocompleteModel 对象 |
| 是否共享配置 | 否 | 否,完全独立 |
一句话:这两个位置互不感知,你在 models 里写了 Opus 不代表 tab 补全也能用,反过来也一样。
第一步:找到 config.json
Mac/Linux 路径:
~/.continue/config.json
Windows 路径:
%USERPROFILE%\.continue\config.json
也可以在 VS Code 侧边栏点 Continue 的齿轮图标直接打开。文件不存在的话,装完插件第一次打开会自动生成。
第二步:配 chat provider(Opus)
在 models 数组里加一个对象:
{
"title": "Claude Opus 4",
"provider": "anthropic",
"model": "claude-opus-4-5",
"apiKey": "$ANTHROPIC_API_KEY"
}
注意 model 字段。我第一次填的是 claude-opus-4.8,直接报 404:
Anthropic API error: 404
{"type":"error","error":{"type":"not_found_error","message":"model: No such model: claude-opus-4.8"}}
Anthropic 的模型标识符格式是 claude-opus-4-5 这种用短横线连接的,不是小数点。网上流传的"4.8"是不存在的版本号,API 里不认,正确的 API 标识符是 claude-opus-4-5,对应 Claude Opus 4。
第三步:配 tabAutocompleteModel(独立!)
这是我踩的第一个大坑。我以为 models 里配了 Opus,tab 补全就能用了。结果按 Tab 毫无反应。翻了一圈才发现 Continue.dev 的 autocomplete 是单独的顶层字段:
{
"tabAutocompleteModel": {
"title": "Claude Haiku 3.5 补全",
"provider": "anthropic",
"model": "claude-haiku-3-5",
"apiKey": "$ANTHROPIC_API_KEY"
}
}
这里我用 Claude Haiku 3.5 而不是 Opus。原因很实际——Opus 输入 $15/M,Claude Haiku 3.5 输入 $0.80/M,差了将近 19 倍。补全这种每秒触发好几次的场景,Opus 一天能烧掉好几刀,而且延迟明显更高,补全出来的时候你已经打完那行了。
第四步:注入 anthropic-version 请求头(隐藏坑)
配完前面两步,chat 能用了,但 tabAutocomplete 偶尔会返回 400。报错信息长这样:
{"type":"error","error":{"type":"invalid_request_error","message":"missing required header: anthropic-version"}}
说实话一开始我是拒绝的——Cursor 和 Cline 都不需要手动填这个头,它们内部自动附带了。但 Continue.dev 的 Anthropic provider 在某些请求路径(特别是 completion 端点)不会自动注入。
解决方法是在配置里加 requestOptions.headers:
{
"tabAutocompleteModel": {
"title": "Claude Haiku 3.5 补全",
"provider": "anthropic",
"model": "claude-haiku-3-5",
"apiKey": "$ANTHROPIC_API_KEY",
"requestOptions": {
"headers": {
"anthropic-version": "2023-06-01"
}
}
}
}
chat 那边的 models 配置里也建议加上同样的 headers。chat 路径当前版本通常会自动带上该请求头,但建议显式声明以避免因版本差异导致的潜在问题。我在 4 月 22 号测试时,不加这个头 chat 也正常,但 autocomplete 必挂。
第五步:完整配置长这样
把前面的拼起来,一个能跑的最终版本:
{
"models": [{
"title": "Claude Opus 4",
"provider": "anthropic",
"model": "claude-opus-4-5",
"apiKey": "$ANTHROPIC_API_KEY",
"contextLength": 200000,
"requestOptions": {
"headers": {
"anthropic-version": "2023-06-01"
}
}
}],
"tabAutocompleteModel": {
"title": "Claude Haiku 3.5 补全",
"provider": "anthropic",
"model": "claude-haiku-3-5",
"apiKey": "$ANTHROPIC_API_KEY",
"requestOptions": {
"headers": {
"anthropic-version": "2023-06-01"
}
}
}
}
改完保存,Continue.dev 通常会热重载,不用重启 VS Code。侧边栏模型下拉菜单里应该能看到"Claude Opus 4"了。
用聚合平台的 Key 怎么配
如果你用的不是 Anthropic 官方直连,而是通过 OpenRouter 这类聚合网关走(OpenRouter 收 5.5% 手续费),需要额外加 apiBase 字段:
{
"title": "Claude Opus via 聚合",
"provider": "anthropic",
"model": "claude-opus-4-5",
"apiKey": "your-platform-key",
"apiBase": "https://your-platform-api-base/v1"
}
其他字段不变。聚合平台的好处是一个 Key 能切不同模型,团队里多人共用时管理员后台能看到每个人的消耗明细,月底不用挨个对账。请将 apiBase 替换为你实际使用的聚合平台地址,并确认该地址可用。
不同场景怎么选
| 场景 | chat 模型 | autocomplete 模型 | 理由 |
|---|---|---|---|
| 个人日常开发 | Claude Opus 4 | Claude Haiku 3.5 | 质量和成本的平衡点 |
| 团队统一配置 | Claude Sonnet 4 | Claude Haiku 3.5 | Sonnet 性价比更高,$3/M 输入 |
| 预算极紧 | Claude Haiku 3.5 | Claude Haiku 3.5 | 全 Haiku 成本最低 |
| 复杂架构讨论 | Claude Opus 4 | 关掉 autocomplete | Opus 200K 上下文适合长对话 |
我个人现在的配置是 Claude Opus 4 做 chat + Claude Haiku 3.5 做补全。一天大概 40-60 次 chat 对话、补全触发几百次,日均成本在 $1.1-$1.7 左右(仅供参考,实际费用因使用量而异)。如果全用 Opus 做补全,测了一天数据我人傻了——光补全就烧了 $4.7。
踩坑记录 / 常见问题 FAQ
Q: config.json 改完模型列表不显示怎么办?
先用 jsonlint.com 验证 JSON 格式。我有一次多打了个逗号,报错是 Cannot read properties of undefined (reading 'model'),完全看不出是 JSON 语法问题。验证通过后如果还不显示,Cmd+Shift+P 搜 "Continue: Reload" 手动触发一次。
Q: 报 401 invalid x-api-key 怎么排查?
完整报错长这样:
Anthropic API error: 401
{"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}}
三种可能:Key 复制时带了前后空格(最常见)、Key 已在 Anthropic Console 里 revoke 了、用了环境变量但终端没 source。
Q: anthropic-version 头的值填什么?
目前填 2023-06-01 就行,这是 Anthropic Messages API 的稳定版本标识符。未来 Anthropic 可能会推出新版本号,建议使用前以 Anthropic 官方文档 为准。
Q: 能不能 chat 和 autocomplete 用同一个模型?
技术上可以,但不推荐。Claude Opus 4 做补全延迟较高(个人实测 P95 在 1200ms 左右,实际延迟因网络环境和 token 长度而异),打字体验很糟。Claude Haiku 3.5 补全 P95 大概 320ms,体感流畅很多。
Q: Continue.dev 支持自定义 base URL 吗?
支持。在模型配置里加 apiBase 字段,指向你的聚合平台或自建代理地址就行。格式是完整的 URL 到 /v1。
小结
整个配置其实就三个核心认知:model 标识符用短横线不用小数点、chat 和 autocomplete 是两套独立配置、anthropic-version 头要手动加。知道这三点,五分钟就能配完。
折腾半天最大的感受是——Continue.dev 的灵活性确实比 Cursor 高,但代价就是这些细节全得自己填。Cursor 帮你封装好了,Continue 把选择权交给你,也把坑留给你了。
更多推荐



所有评论(0)