mirror of
https://github.com/7836246/cursor2api.git
synced 2026-06-06 05:49:36 +08:00
fix: 添加模型名称映射逻辑
- claude-* 映射到 claude-4.5-sonnet - gpt-* 映射到 gpt-5.2 - gemini-* 映射到 gemini-3-flash - 支持精确匹配和前缀匹配 - 更新 README 模型映射表
This commit is contained in:
@@ -382,9 +382,11 @@ curl http://localhost:3010/tools/execute \
|
||||
|
||||
| 请求模型 | 映射到 Cursor |
|
||||
|---------|--------------|
|
||||
| claude-* | anthropic/claude-sonnet-4.5 |
|
||||
| gpt-* | openai/gpt-5-nano |
|
||||
| gemini-* | google/gemini-2.5-flash |
|
||||
| claude-* | claude-4.5-sonnet |
|
||||
| claude-opus-4-* | claude-4.5-opus |
|
||||
| gpt-* | gpt-5.2 |
|
||||
| gemini-* | gemini-3-flash |
|
||||
| gemini-*-pro | gemini-3-pro |
|
||||
|
||||
## MCP 服务器
|
||||
|
||||
|
||||
@@ -103,11 +103,58 @@ func getTextContent(content interface{}) string {
|
||||
|
||||
// mapModelName 将模型名称映射到 Cursor 支持的格式
|
||||
func mapModelName(model string) string {
|
||||
// 直接透传模型名称,不做转换
|
||||
if model == "" {
|
||||
return "claude-opus-4-5-20251101"
|
||||
return "claude-4.5-sonnet"
|
||||
}
|
||||
return model
|
||||
|
||||
// 模型映射表
|
||||
modelMap := map[string]string{
|
||||
// Claude 系列 -> claude-4.5-sonnet
|
||||
"claude-3-opus": "claude-4.5-sonnet",
|
||||
"claude-3-sonnet": "claude-4.5-sonnet",
|
||||
"claude-3-haiku": "claude-4.5-sonnet",
|
||||
"claude-3.5-sonnet": "claude-4.5-sonnet",
|
||||
"claude-3.5-haiku": "claude-4.5-sonnet",
|
||||
"claude-3.7-sonnet": "claude-4.5-sonnet",
|
||||
"claude-sonnet-4-20250514": "claude-4.5-sonnet",
|
||||
"claude-opus-4-20250514": "claude-4.5-opus",
|
||||
|
||||
// GPT 系列 -> gpt-5.2
|
||||
"gpt-4": "gpt-5.2",
|
||||
"gpt-4o": "gpt-5.2",
|
||||
"gpt-4-turbo": "gpt-5.2",
|
||||
"gpt-3.5": "gpt-5.2",
|
||||
|
||||
// Gemini 系列 -> gemini-3-flash
|
||||
"gemini-pro": "gemini-3-flash",
|
||||
"gemini-1.5-pro": "gemini-3-pro",
|
||||
"gemini-1.5-flash": "gemini-3-flash",
|
||||
"gemini-2.0-flash": "gemini-3-flash",
|
||||
"gemini-2.5-flash": "gemini-3-flash",
|
||||
}
|
||||
|
||||
// 精确匹配
|
||||
if mapped, ok := modelMap[model]; ok {
|
||||
log.Debug("模型映射: %s -> %s", model, mapped)
|
||||
return mapped
|
||||
}
|
||||
|
||||
// 前缀匹配
|
||||
switch {
|
||||
case len(model) >= 6 && model[:6] == "claude":
|
||||
log.Debug("模型映射 (前缀): %s -> claude-4.5-sonnet", model)
|
||||
return "claude-4.5-sonnet"
|
||||
case len(model) >= 3 && model[:3] == "gpt":
|
||||
log.Debug("模型映射 (前缀): %s -> gpt-5.2", model)
|
||||
return "gpt-5.2"
|
||||
case len(model) >= 6 && model[:6] == "gemini":
|
||||
log.Debug("模型映射 (前缀): %s -> gemini-3-flash", model)
|
||||
return "gemini-3-flash"
|
||||
}
|
||||
|
||||
// 未知模型,使用默认
|
||||
log.Warn("未知模型 %s,使用默认 claude-4.5-sonnet", model)
|
||||
return "claude-4.5-sonnet"
|
||||
}
|
||||
|
||||
// ================== 处理器函数 ==================
|
||||
|
||||
Reference in New Issue
Block a user