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

Aberta Para iniciantes
#651 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
75/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Pouca atividade
Stack de tecnologia
typescript
Domínio
api

Direção de pesquisa

Comece localizando classifyError e lendo seus padrões de erro e quaisquer testes relacionados. Reproduza a falha de conexão do provedor OpenAI-Compatible com uma URL base sem /v1 e, em seguida, verifique se um HTTP 404 é classificado como ENDPOINT_NOT_FOUND sem alterar as classificações genuínas de CLI-not-found.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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
Linguagem predominante
TypeScript
Estrelas
6.5k
Forks
697
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de op7418/CodePilot

Todas as issues de op7418/CodePilot

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.