feat(llm): add Claude Opus 5, Sonnet 5, Kimi K3, and Qwen 3.8 models (#693)

* feat(llm): add Claude Opus 5, Sonnet 5, Kimi K3, and Qwen 3.8 models

* test(llm): update anthropic model order expectation for Opus 5 and Sonnet 5
This commit is contained in:
wxwxwxw_orange 2026-08-03 17:30:49 +08:00 committed by GitHub
parent df95361392
commit 27fab9546f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 5 deletions

View file

@ -33,6 +33,8 @@ var registry = []Provider{
AuthHeader: "x-api-key",
EnvVar: "ANTHROPIC_API_KEY",
Models: []string{
"claude-opus-5",
"claude-sonnet-5",
"claude-opus-4-8",
"claude-opus-4-7",
"claude-opus-4-6",
@ -80,6 +82,7 @@ var registry = []Provider{
BaseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
EnvVar: "DASHSCOPE_API_KEY",
Models: []string{
"qwen3.8-max",
"qwen3.7-max",
"qwen3.7-plus",
"qwen3.6-plus",
@ -98,6 +101,7 @@ var registry = []Provider{
BaseURL: "https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1",
EnvVar: "DASHSCOPE_TOKENPLAN_KEY",
Models: []string{
"qwen3.8-max",
"qwen3.7-max",
"qwen3.7-plus",
"qwen3.6-plus",
@ -146,7 +150,6 @@ var registry = []Provider{
BaseURL: "https://tokenhub.tencentmaas.com/v1",
EnvVar: "TENCENT_TOKENHUB_API_KEY",
Models: []string{
"hy3-preview",
"deepseek-v4-pro",
"deepseek-v4-flash",
"glm-5.2",
@ -154,11 +157,10 @@ var registry = []Provider{
"glm-5",
"glm-5-turbo",
"kimi-k2.7-code",
"kimi-k2.7-code-highspeed",
"kimi-k2.6",
"kimi-k2.5",
"minimax-m3",
"minimax-m2.7",
"minimax-m2.5",
},
},
{
@ -168,7 +170,7 @@ var registry = []Provider{
BaseURL: "https://api.lkeap.cloud.tencent.com/plan/v3",
EnvVar: "TENCENT_HUNYUAN_TOKENPLAN_KEY",
Models: []string{
"hy3-preview",
"hy3",
},
},
{
@ -193,6 +195,7 @@ var registry = []Provider{
BaseURL: "https://api.moonshot.cn/v1",
EnvVar: "MOONSHOT_API_KEY",
Models: []string{
"kimi-k3",
"kimi-k2.7-code",
"kimi-k2.7-code-highspeed",
"kimi-k2.6",

View file

@ -76,7 +76,14 @@ func TestLookupProvider_PreservesModelOrder(t *testing.T) {
if !ok {
t.Fatal("anthropic not found")
}
expected := []string{"claude-opus-4-8", "claude-opus-4-7", "claude-opus-4-6", "claude-sonnet-4-6"}
expected := []string{
"claude-opus-5",
"claude-sonnet-5",
"claude-opus-4-8",
"claude-opus-4-7",
"claude-opus-4-6",
"claude-sonnet-4-6",
}
if len(p.Models) != len(expected) {
t.Fatalf("expected %d models, got %d", len(expected), len(p.Models))
}