Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

fix: Update TypeSafe JEV client to support API v0.7 schema

Offen
#14,047 2 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@wanghe-fit2cloud arbeitet bereits daran.

Seit 13.10.2026.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

type: ai-gateway type: optimization

现象

1Panel AI 网关应用 v1.3.0 的智能路由「外部决策服务」(provider=typesafe、model=jev-latest)自 2026-10-11 起持续失败:

  • GET /api/v1/admin/smart-routing/decision-service → status.available=false、lastFailureCode="invalid_response";
  • POST /api/v1/admin/smart-routing/decision-service/test → HTTP 502 upstream_invalid_response(2026-10-12 复现);
  • 决策日志(GET /api/v1/admin/smart-routing/decisions)自 10-11 06:14 UTC 起 decisionSource=fallback 条目 100% 出现;同一配置在 10-05~10-08 曾连续成功 600+ 次(decisionSource=jev)。

结果:JEV 模式不可用,智能路由只能降级为 local_vector(向量两档)。

根因分析(供开发参考,证据充分)

  • TypeSafe SDK v0.7(2026-10-09 上线,changelog:序列化库 msgspec → pydantic;Score.criteria 改为有序序列;Choice criteria 要求对象/字典)收紧了 /v1/systemone 的请求 schema。
  • 网关 v1.3.0 的 JEV 决策客户端仍按旧 schema 构造请求 → 上游返回 HTTP 422(pydantic 校验错误),网关归类为 invalid_response。
  • 已排除地区封锁(451):2026-10-12 在同一网络出口直连 api.typesafe.ai/v1/systemone(同凭据、jev-latest、按 v0.7 新 schema 组请求体)21 次全部 200 成功,且答案稳定。

复现步骤

  1. 部署 1Panel AI 网关应用 v1.3.0,启用 JEV/外部决策服务(配置 TypeSafe 凭据);
  2. 调用 POST /api/v1/admin/smart-routing/decision-service/test;
  3. 观察到 502 upstream_invalid_response;status.available=false;决策日志持续出现 decisionSource=fallback。

期望行为

JEV 决策服务跟随 TypeSafe API v0.7 新 schema(choice criteria = dict(选项→描述)、score criteria = 有序数组)正常调用,/test 返回 200,JEV 模式可作为智能路由的第一选择(向量模式保留为兜底)。

环境

  • 1Panel AI 网关应用:v1.3.0(2026-09-24,Docker 镜像 1panel/ai-gateway)
  • 上游:TypeSafe System One API(api.typesafe.ai/v1/systemone,model jev-latest,实测解析为 jev-1.13.0)
  • 故障起点:2026-10-11 06:14 UTC(与 TypeSafe v0.7 上线时间 10-09 吻合)

附带建议

  1. 升级网关内 TypeSafe 客户端的 /v1/systemone 请求体构造至 v0.7 schema;
  2. 目前 admin API 对 decision-service 只读(PUT/POST 均 400/404),endpoint/凭据只能在 Web UI 配,建议补充 PUT /smart-routing/decision-service 写接口与端点可配置能力,方便用户在官方端点异常时切换到自建/代理端点。
Vorherrschende Sprache
Go
Sterne
37.1k
Forks
3.4k
Ø Merge
11 Std. 40 Min.
Gemergte PRs (30 T.)
95

Entwicklungsumgebung

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 1Panel-dev/1Panel

Alle Issues in 1Panel-dev/1Panel

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

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