chore: bump version to 1.0.3 and refactor model mapping
This commit is contained in:
@@ -10,32 +10,33 @@ import (
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
type modelRule struct {
|
||||
pattern string
|
||||
target string
|
||||
// 模型映射(有序,长 key 优先匹配,避免 "claude-sonnet-4" 误匹配 "claude-sonnet-4.5")
|
||||
type modelMapping struct {
|
||||
key string
|
||||
value string
|
||||
}
|
||||
|
||||
var modelRules = []modelRule{
|
||||
{pattern: "claude-sonnet-4-20250514", target: "claude-sonnet-4"},
|
||||
{pattern: "claude-sonnet-4-6", target: "claude-sonnet-4.6"},
|
||||
{pattern: "claude-sonnet-4.6", target: "claude-sonnet-4.6"},
|
||||
{pattern: "claude-sonnet-4-5", target: "claude-sonnet-4.5"},
|
||||
{pattern: "claude-sonnet-4.5", target: "claude-sonnet-4.5"},
|
||||
{pattern: "claude-haiku-4-5", target: "claude-haiku-4.5"},
|
||||
{pattern: "claude-haiku-4.5", target: "claude-haiku-4.5"},
|
||||
{pattern: "claude-opus-4-6", target: "claude-opus-4.6"},
|
||||
{pattern: "claude-opus-4.6", target: "claude-opus-4.6"},
|
||||
{pattern: "claude-opus-4-5", target: "claude-opus-4.5"},
|
||||
{pattern: "claude-opus-4.5", target: "claude-opus-4.5"},
|
||||
{pattern: "claude-3-5-sonnet", target: "claude-sonnet-4.5"},
|
||||
{pattern: "claude-3-opus", target: "claude-sonnet-4.5"},
|
||||
{pattern: "claude-3-sonnet", target: "claude-sonnet-4"},
|
||||
{pattern: "claude-3-haiku", target: "claude-haiku-4.5"},
|
||||
{pattern: "gpt-4o", target: "claude-sonnet-4.5"},
|
||||
{pattern: "gpt-4-turbo", target: "claude-sonnet-4.5"},
|
||||
{pattern: "gpt-3.5-turbo", target: "claude-sonnet-4.5"},
|
||||
{pattern: "gpt-4", target: "claude-sonnet-4.5"},
|
||||
{pattern: "claude-sonnet-4", target: "claude-sonnet-4"},
|
||||
var modelMapOrdered = []modelMapping{
|
||||
{"claude-sonnet-4-20250514", "claude-sonnet-4"},
|
||||
{"claude-sonnet-4-5", "claude-sonnet-4.5"},
|
||||
{"claude-sonnet-4.5", "claude-sonnet-4.5"},
|
||||
{"claude-sonnet-4-6", "claude-sonnet-4.6"},
|
||||
{"claude-sonnet-4.6", "claude-sonnet-4.6"},
|
||||
{"claude-haiku-4-5", "claude-haiku-4.5"},
|
||||
{"claude-haiku-4.5", "claude-haiku-4.5"},
|
||||
{"claude-opus-4-5", "claude-opus-4.5"},
|
||||
{"claude-opus-4.5", "claude-opus-4.5"},
|
||||
{"claude-opus-4-6", "claude-opus-4.6"},
|
||||
{"claude-opus-4.6", "claude-opus-4.6"},
|
||||
{"claude-sonnet-4", "claude-sonnet-4"},
|
||||
{"claude-3-5-sonnet", "claude-sonnet-4.5"},
|
||||
{"claude-3-opus", "claude-sonnet-4.5"},
|
||||
{"claude-3-sonnet", "claude-sonnet-4"},
|
||||
{"claude-3-haiku", "claude-haiku-4.5"},
|
||||
{"gpt-4-turbo", "claude-sonnet-4.5"},
|
||||
{"gpt-4o", "claude-sonnet-4.5"},
|
||||
{"gpt-4", "claude-sonnet-4.5"},
|
||||
{"gpt-3.5-turbo", "claude-sonnet-4.5"},
|
||||
}
|
||||
|
||||
// Thinking 模式提示
|
||||
@@ -57,9 +58,10 @@ func ParseModelAndThinking(model string, thinkingSuffix string) (string, bool) {
|
||||
lower = strings.ToLower(model)
|
||||
}
|
||||
|
||||
for _, rule := range modelRules {
|
||||
if strings.Contains(lower, rule.pattern) {
|
||||
return rule.target, thinking
|
||||
// 映射模型(有序匹配,长 key 优先)
|
||||
for _, m := range modelMapOrdered {
|
||||
if strings.Contains(lower, m.key) {
|
||||
return m.value, thinking
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user