mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-28 00:07:33 +00:00
fix(grok): 让跨客户端消息映射服从配置开关
This commit is contained in:
@@ -69,10 +69,14 @@ func (g *Group) ResolveMessagesDispatchModel(requestedModel string) string {
|
||||
}
|
||||
|
||||
if g.Platform == PlatformGrok {
|
||||
if claudeMessagesDispatchFamily(requestedModel) != "" {
|
||||
return xai.DefaultModelMapping()["grok"]
|
||||
if claudeMessagesDispatchFamily(requestedModel) == "" {
|
||||
return ""
|
||||
}
|
||||
return ""
|
||||
opts := xai.RuntimeModelMappingOptions()
|
||||
if !opts.EnableCrossClientMap {
|
||||
return ""
|
||||
}
|
||||
return xai.ModelMappingWithOptions(opts)["claude-*"]
|
||||
}
|
||||
|
||||
cfg := normalizeOpenAIMessagesDispatchModelConfig(g.MessagesDispatchModelConfig)
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package service
|
||||
|
||||
import "testing"
|
||||
import (
|
||||
"testing"
|
||||
|
||||
import "github.com/stretchr/testify/require"
|
||||
"github.com/Wei-Shaw/sub2api/internal/pkg/xai"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestNormalizeOpenAIMessagesDispatchModelConfig(t *testing.T) {
|
||||
t.Parallel()
|
||||
@@ -26,14 +29,21 @@ func TestNormalizeOpenAIMessagesDispatchModelConfig(t *testing.T) {
|
||||
}, cfg.ExactModelMappings)
|
||||
}
|
||||
|
||||
func TestGroupResolveMessagesDispatchModel_GrokMapsClaudeFamilyToGrok(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
func TestGroupResolveMessagesDispatchModel_GrokRequiresCrossClientMapping(t *testing.T) {
|
||||
original := xai.RuntimeModelMappingOptions()
|
||||
t.Cleanup(func() { xai.SetRuntimeModelMappingOptions(original) })
|
||||
group := &Group{Platform: PlatformGrok}
|
||||
|
||||
require.Equal(t, "grok-4.5", group.ResolveMessagesDispatchModel("claude-sonnet-4-5"))
|
||||
require.Equal(t, "grok-4.5", group.ResolveMessagesDispatchModel("claude-opus-4-6"))
|
||||
require.Equal(t, "grok-4.5", group.ResolveMessagesDispatchModel("claude-haiku-4-5"))
|
||||
xai.SetRuntimeModelMappingOptions(xai.ModelMappingOptions{})
|
||||
require.Empty(t, group.ResolveMessagesDispatchModel("claude-sonnet-4-5"))
|
||||
|
||||
xai.SetRuntimeModelMappingOptions(xai.ModelMappingOptions{
|
||||
DefaultText: "grok-build-0.1",
|
||||
EnableCrossClientMap: true,
|
||||
})
|
||||
require.Equal(t, "grok-build-0.1", group.ResolveMessagesDispatchModel("claude-sonnet-4-5"))
|
||||
require.Equal(t, "grok-build-0.1", group.ResolveMessagesDispatchModel("claude-opus-4-6"))
|
||||
require.Equal(t, "grok-build-0.1", group.ResolveMessagesDispatchModel("claude-haiku-4-5"))
|
||||
require.Empty(t, group.ResolveMessagesDispatchModel("grok"))
|
||||
require.Empty(t, group.ResolveMessagesDispatchModel("gpt-5.3-codex"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user