mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 13:00:52 +08:00
Fixed: #339
**feat(handlers, executor): add Gemini 3 Pro Preview support and refine Claude system instructions** - Added support for the new "Gemini 3 Pro Preview" action in Gemini handlers, including detailed metadata and configuration. - Removed redundant `cache_control` field from Claude system instructions for cleaner payload structure.
This commit is contained in:
@@ -679,7 +679,7 @@ func claudeCreds(a *cliproxyauth.Auth) (apiKey, baseURL string) {
|
|||||||
|
|
||||||
func checkSystemInstructions(payload []byte) []byte {
|
func checkSystemInstructions(payload []byte) []byte {
|
||||||
system := gjson.GetBytes(payload, "system")
|
system := gjson.GetBytes(payload, "system")
|
||||||
claudeCodeInstructions := `[{"type":"text","text":"You are Claude Code, Anthropic's official CLI for Claude.","cache_control":{"type":"ephemeral"}}]`
|
claudeCodeInstructions := `[{"type":"text","text":"You are Claude Code, Anthropic's official CLI for Claude."}]`
|
||||||
if system.IsArray() {
|
if system.IsArray() {
|
||||||
if gjson.GetBytes(payload, "system.0.text").String() != "You are Claude Code, Anthropic's official CLI for Claude." {
|
if gjson.GetBytes(payload, "system.0.text").String() != "You are Claude Code, Anthropic's official CLI for Claude." {
|
||||||
system.ForEach(func(_, part gjson.Result) bool {
|
system.ForEach(func(_, part gjson.Result) bool {
|
||||||
|
|||||||
@@ -69,6 +69,27 @@ func (h *GeminiAPIHandler) GeminiGetHandler(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
switch request.Action {
|
switch request.Action {
|
||||||
|
case "gemini-3-pro-preview":
|
||||||
|
c.JSON(http.StatusOK, gin.H{
|
||||||
|
"name": "gemini-3-pro-preview",
|
||||||
|
"version": "3",
|
||||||
|
"displayName": "Gemini 3 Pro Preview",
|
||||||
|
"description": "Gemini 3 Pro Preview",
|
||||||
|
"inputTokenLimit": 1048576,
|
||||||
|
"outputTokenLimit": 65536,
|
||||||
|
"supportedGenerationMethods": []string{
|
||||||
|
"generateContent",
|
||||||
|
"countTokens",
|
||||||
|
"createCachedContent",
|
||||||
|
"batchGenerateContent",
|
||||||
|
},
|
||||||
|
"temperature": 1,
|
||||||
|
"topP": 0.95,
|
||||||
|
"topK": 64,
|
||||||
|
"maxTemperature": 2,
|
||||||
|
"thinking": true,
|
||||||
|
},
|
||||||
|
)
|
||||||
case "gemini-2.5-pro":
|
case "gemini-2.5-pro":
|
||||||
c.JSON(http.StatusOK, gin.H{
|
c.JSON(http.StatusOK, gin.H{
|
||||||
"name": "models/gemini-2.5-pro",
|
"name": "models/gemini-2.5-pro",
|
||||||
|
|||||||
Reference in New Issue
Block a user