404 未找到修复指南——Claude Code 与 Codex CLI
Claude Code 或 Codex CLI 接入 DeepSeek、OpenRouter 等服务商时遇到"404 未找到"的分步修复方法。
报错输出
POST https://api.deepseek.com/anthropic/v1/messages -> 404 Not Found
{"error":{"type":"not_found_error","message":"Not Found"}}
常见变体
GET https://api.deepseek.com/anthropic/v1/models -> 404
{"error":{"message":"Invalid URL path"}}
codex: error sending request: status 404 Not Found (url: https://api.deepseek.com/responses)
具体文本随 Agent 版本与服务商略有差异,以状态码和消息类型为准。
快速定位
报错中的 URL 是最有用的线索。检查请求实际发往哪里。
Claude Code
echo $ANTHROPIC_BASE_URL Codex CLI
grep -A5 "model_providers" ~/.codex/config.toml 常见原因
- Base URL 错误——拼写错误、缺少或多余的路径段,或来自旧教程的过时端点。
- Codex:wire 协议与服务商提供的不匹配(Responses 与 Chat Completions)。
- 端点路径与服务商搞混(用 OpenAI 路径搭配 Anthropic 协议,或相反)。
按场景修复
1 刚配置完就报错
- 从接入指南原样复制 Base URL——结尾无斜杠、无多余路径段。
- Claude Code 必须使用 Anthropic 端点(…/anthropic),不能用 OpenAI 风格路径。
- Codex:DeepSeek 与 OpenRouter 需确认 wire_api = "responses";不匹配会在 /responses 上 404。
2 跟着过时教程配置
- 2026-07-24 之前的教程可能引用已退役的模型名或端点。
- 改动前以服务商官方文档为准核对端点。
- 以本站接入页给出的 Base URL 为准,而不是第三方博客。
3 之前能用,突然报错
- 服务商是否迁移或改版了端点?查看变更日志。
- 配置修改是否引入了尾部斜杠或多余路径段?
- 是否有工具自动改写了配置文件(代理安装器、切换工具)?
Agent 差异修复
Claude Code
- 修复
- 精确使用 https://api.deepseek.com/anthropic 或 https://openrouter.ai/api。结尾无斜杠、无多余路径。
- 验证
- `curl -I <base url>` 返回可访问响应,然后运行 `claude /status`。
Codex CLI
- 修复
- base_url 使用 "https://api.deepseek.com" 搭配 wire_api = "responses",或 "https://openrouter.ai/api/v1"。若 DeepSeek 的 /responses 返回 404,删除 wire_api 行以匹配其端点。
- 验证
- 报错 URL 应以 /responses 结尾。修复后重新运行 `codex exec "hi"`。
Claude Code 与 Codex CLI 对照速查
| Claude Code | Codex CLI | |
|---|---|---|
| Base URL 变量 | ANTHROPIC_BASE_URL | base_url in config.toml |
| 端点路径 | /anthropic (Messages API) | /responses (Responses API) |
| 验证命令 | curl -I <url> | codex exec "hi" + error URL |
避免复发
- 在笔记中固化服务商官方文档中的 Base URL。
- 开始长会话前先用一条命令验证。
- 关注服务商变更日志中的端点与模型名变化。
相关错误
相关接入指南
常见问题
为什么 https://api.deepseek.com/v1/messages 404 而 /anthropic 正常?
只有 https://api.deepseek.com/anthropic 这一 Anthropic 兼容端点提供 Messages API。OpenAI 风格路径提供的是 Chat Completions,Claude Code 不使用该协议。
Codex 返回 404,是 base_url 还是 wire_api 的问题?
如果报错中的 URL 以 /responses 结尾而服务商只提供 Chat Completions,则是 wire_api 不匹配;如果主机或路径看起来不对,先修 base_url。