DeepAI Paper API 中转站,OpenAI Compatible API,代码 Agent 教程,客户端接入,错误排查 Continue.dev 接入 DeepAI API 中转站:Edit 和 Autocomplete 误走 /completions 怎么修

Continue.dev 接入 DeepAI API 中转站:Edit 和 Autocomplete 误走 /completions 怎么修

Continue.dev 是很多开发者在 VS Code、JetBrains 里使用的代码 Agent / IDE Assistant。它通过 OpenAI-compatible Provider 接入 DeepAI API 中转站 时,最迷惑的一类问题是:聊天窗口能正常回答,代码编辑和自动补全却报 405 或 404。根因往往不是 Key,也不是 DeepAI 中转站不可用,而是不同功能走了不同接口路径。

Continue.dev 接入 DeepAI API 中转站时 Edit 和 Autocomplete 误走 /completions 的排查流程
Continue.dev 的 Chat、Edit、Autocomplete 可能触发不同请求路径。OpenAI-compatible 网关通常应统一走 /chat/completions,避免旧 /completions 导致 405/404。

GitHub Issue 背景:Chat 成功,Edit / Autocomplete 失败

这个问题来自 Continue Issue #3620。用户在 Windows 10、Continue 0.8.66、VS Code 1.96.2 环境下,把 Open-WebUI 作为 OpenAI-compatible API,配置了 provider: "openai" 和自定义 apiBase。结果 Chat 正常请求 /chat/completions,但代码编辑和自动补全却请求 /completions,而 Open-WebUI 不支持这个旧接口,于是返回 405 Method Not Allowed。

Error streaming diff:
HTTP 405 Method Not Allowed from http://.../api/completions
{"detail":"Method Not Allowed"}

Issue 最后关闭时,作者补充说自己没有读到 OpenAI Provider 文档的末尾:只需要在配置里加一行,就能强制使用 /chat/completions 而不是旧 /completions

核心修复:useLegacyCompletionsEndpoint 设为 false

Continue 官方 OpenAI Provider 文档给出的关键配置是:

"useLegacyCompletionsEndpoint": false

用于 DeepAI API 中转站时,一个旧版 config.json 示例可以写成:

{
  "models": [
    {
      "title": "DeepAI API Relay",
      "provider": "openai",
      "model": "your-model-id",
      "apiKey": "YOUR_DEEPAI_API_KEY",
      "apiBase": "https://api.deepai.wang/v1",
      "useLegacyCompletionsEndpoint": false
    }
  ],
  "tabAutocompleteModel": {
    "title": "DeepAI Autocomplete",
    "provider": "openai",
    "model": "your-model-id",
    "apiKey": "YOUR_DEEPAI_API_KEY",
    "apiBase": "https://api.deepai.wang/v1",
    "useLegacyCompletionsEndpoint": false
  }
}

如果你使用新版 YAML 配置,思路相同:在对应模型条目里加入 useLegacyCompletionsEndpoint: false。关键不是 JSON 还是 YAML,而是 Chat、Edit、Autocomplete 所用的模型配置都要覆盖到。

为什么聊天能通不代表补全能通

代码 Agent 工具通常不是只有一个“聊天接口”。Continue.dev 里至少有这些功能角色:

  • Chat:用户在侧边栏对话,通常走 /chat/completions
  • Edit:根据选中代码生成 diff 或补丁,可能走独立的编辑链路。
  • Autocomplete:输入时自动补全,常常使用单独的 tabAutocompleteModel
  • Agent / Tools:更复杂的场景还会涉及工具调用、上下文检索和多轮规划。

因此,Chat 成功只能说明主模型配置能连通 DeepAI API 中转站;它不能证明 Edit 和 Autocomplete 也用了同一条路径。排查时一定要看实际请求路径和功能角色,而不是只看界面里“模型可用”。

DeepAI API 中转站场景下的排查步骤

  1. 确认 apiBase 写到 https://api.deepai.wang/v1,不要写到 /chat/completions
  2. 先测试 Continue Chat,确认 DeepAI API Key、模型 ID 和路由可用。
  3. 再测试 Edit 和 Autocomplete,观察 DeepAI 中转站日志中的请求路径。
  4. 如果日志出现 /v1/completions 且返回 404/405,给对应模型配置加上 useLegacyCompletionsEndpoint: false
  5. 重启 IDE 或刷新 Continue 配置,再测试同一段代码编辑和补全。

如果后台日志没有任何请求,问题还在本地配置、代理或扩展没有加载新配置;如果后台出现 /v1/chat/completions 且返回模型错误,再继续看模型 ID、上下文长度、工具调用或请求体参数。

常见误区

  • 只改 models,不改 tabAutocompleteModel:Chat 修好了,但自动补全仍然走旧路径。
  • 把 apiBase 写太深:Base URL 应到 /v1,路径由客户端拼接。
  • 把 405 当成鉴权错误:405 通常是方法或路径不支持,不是 Key 错。
  • 忽略 IDE 缓存:改完配置后需要刷新 Continue 或重启 IDE,否则旧配置仍可能生效。
  • 混用多个 Provider:同一个项目里同时配 OpenAI、OpenAI-compatible、本地模型时,要给每个功能角色明确模型来源。

为什么 API 中转站日志很关键

没有日志时,这类问题看起来像“Continue 不稳定”或“模型不兼容”。有了 DeepAI API 中转站日志,就可以按路径拆开看:

  • /v1/chat/completions 返回 200:聊天链路正常。
  • /v1/completions 返回 404/405:客户端走了旧 completions 路径。
  • 后台没有请求:IDE 扩展没有打到中转站,继续查本地配置。
  • 路径正确但模型报错:再看模型 ID、上下文、参数、流式输出或工具调用。

这正是 API 中转站的实际价值:它不仅统一 Key 和模型路由,还能把“客户端路径错误”和“模型服务错误”分开。对站长来说,这比单纯告诉用户“换个模型试试”可靠得多。

适用场景

  • Continue.dev、VS Code 代码助手、JetBrains AI 编程插件接入 OpenAI-compatible 网关。
  • DeepAI API 中转站作为统一模型入口,后端模型只支持 Chat Completions。
  • 聊天功能正常,但 Edit、Autocomplete、diff 生成失败。
  • 日志显示客户端访问了 /v1/completions,而不是 /v1/chat/completions

参考资料

总结

Continue.dev 接入 DeepAI API 中转站时,如果 Chat 正常但 Edit 和 Autocomplete 报 405/404,重点检查它们是否误走了旧 /completions 接口。给相关模型配置加入 useLegacyCompletionsEndpoint: false,并确保 apiBasehttps://api.deepai.wang/v1,通常就能让代码编辑和自动补全恢复到 /chat/completions 链路。上线前用 DeepAI 中转站日志逐项验证 Chat、Edit、Autocomplete,能大幅减少代码 Agent 接入时的盲排成本。

Related Post

OpenAI Compatible API 是什么?Base URL、API Key、Model ID 与 DeepAI 接入教程OpenAI Compatible API 是什么?Base URL、API Key、Model ID 与 DeepAI 接入教程

讲清 OpenAI Compatible API、Base URL、API Key、Model ID 和 Endpoint 的区别,并说明 Cherry Studio、Dify、Cline、Open WebUI、Continue 如何接入 DeepAI API 中转站这类兼容接口。

Codex cli deepai openai base url ignored config.png

Codex CLI 接入 DeepAI API 中转站:openai_base_url 不生效仍访问 api.openai.com 的排查Codex CLI 接入 DeepAI API 中转站:openai_base_url 不生效仍访问 api.openai.com 的排查

Codex CLI 配置 DeepAI API 中转站或其他 OpenAI-compatible endpoint 后,仍然请求 api.openai.com,通常不是中转站失效,而是 openai_base_url、model_provider 或 model_providers 写错了配置层级。本文结合 openai/codex Issue #16719 与官方 config.toml 文档,整理可复现排查步骤。