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

Offen Anfängerfreundlich
#651 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
75/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
typescript
Bereich
api

Rechercherichtung

Beginne damit, classifyError zu finden und seine Fehlermuster sowie alle zugehörigen Tests zu lesen. Reproduziere den Verbindungsfehler des OpenAI-Compatible-Anbieters mit einer Basis-URL, bei der /v1 fehlt, und prüfe dann, dass ein HTTP 404 als ENDPOINT_NOT_FOUND klassifiziert wird, ohne echte CLI-not-found-Klassifizierungen zu ändern.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug
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
Vorherrschende Sprache
TypeScript
Sterne
6.5k
Forks
697
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus op7418/CodePilot

Alle Issues in op7418/CodePilot

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.