fix: 健康探测对 Anthropic 渠道补发 x-api-key 与 anthropic-version 头

官方 Anthropic API 只认 x-api-key,之前只发 Bearer 会让 Anthropic 渠道
持续探测失败被误进 cooldown、流量归零。两个认证头并存互不干扰。
This commit is contained in:
Sakurasan committed 2026-10-30 01:21:39 +08:00
1 parent 1f8af649ca
commit 57134d2af2
1 file changed
+9
+9
View File
@@ -86,6 +86,15 @@ func (h *HealthMonitor) probe(ch *store.Channel) {
req, _ := http.NewRequest(http.MethodGet, url, nil)
req.Header.Set("Authorization", "Bearer "+key)
req.Header.Set("Accept", "application/json")
// Anthropic 官方 API 只认 x-api-key(Bearer 被忽略),探测必须带上才不会误判不健康。
// 两个头同时发:官方 API 忽略 Bearer,OpenAI 兼容渠道忽略 x-api-key,互不干扰。
for _, f := range ch.FormatsEffective() {
if f == store.FormatMessages {
req.Header.Set("x-api-key", key)
req.Header.Set("anthropic-version", "2023-06-01")
break
}
}
resp, err := h.hc.Do(req)
ok := err == nil && resp.StatusCode >= 200 && resp.StatusCode < 300
if resp != nil {