Skip to content

Title: Error classifier misclassifies HTTP 404 "Not Found" as "CLI_NOT_FOUND" #651

Description

@Song-ic

CodePilot 版本 / Version

0.57.0

操作系统与架构 / OS & arch

Macos 26.5

Runtime

Codex

Provider / Model

自定义第三方本地模型

是否可复现 / Reproducible?

每次都能复现 / always

复现步骤 / Steps to reproduce

问题: classifyError 中 CLI_NOT_FOUND 的 patterns 包含 "not found",且排在数组第一位。当 OpenAI-Compatible provider 的 base_url 配错(少了 /v1),服务端返回 HTTP 404 "Not Found" 时,被误分类成 "Claude Code CLI not found",而不是 ENDPOINT_NOT_FOUND。

复现: 添加 OpenAI-Compatible provider,base_url 填 http://localhost:18818(不带 /v1),点测试连接 → 报 "Claude Code CLI not found"。

建议修复: 把 CLI_NOT_FOUND 的 "not found" 模式收窄,比如改成 "command not found" 或 "binary not found",避免吃掉 HTTP 404 的 "Not Found"。或者调整匹配顺序,让 ENDPOINT_NOT_FOUND 排在 CLI_NOT_FOUND 前面。

期望 vs 实际 / Expected vs actual

问题: classifyError 中 CLI_NOT_FOUND 的 patterns 包含 "not found",且排在数组第一位。当 OpenAI-Compatible provider 的 base_url 配错(少了 /v1),服务端返回 HTTP 404 "Not Found" 时,被误分类成 "Claude Code CLI not found",而不是 ENDPOINT_NOT_FOUND。

复现: 添加 OpenAI-Compatible provider,base_url 填 http://localhost:18818(不带 /v1),点测试连接 → 报 "Claude Code CLI not found"。

建议修复: 把 CLI_NOT_FOUND 的 "not found" 模式收窄,比如改成 "command not found" 或 "binary not found",避免吃掉 HTTP 404 的 "Not Found"。或者调整匹配顺序,让 ENDPOINT_NOT_FOUND 排在 CLI_NOT_FOUND 前面。

日志 / 截图 / session id

No response

影响面 / Impact

  • 涉及文件写入或可能误改/丢失数据 / involves file write or possible data loss
  • 导致崩溃、闪退或对话被自动中断 / causes crash / quit / auto-interrupt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions