History

feat(provider): Introduce dedicated provider type for Gemini-Web

hkfires committed 1 year ago

Commit 9253bdb1 parent 41effa55 files · +47 −3Browse files

Unified · Split

5 files
  1. internal/client/gemini-web_client.go +3 −3
  2. internal/constant/constant.go +1 −0
  3. internal/translator/gemini-web/openai/chat-completions/init.go +20 −0
  4. internal/translator/gemini-web/openai/responses/init.go +20 −0
  5. internal/translator/init.go +3 −0
internal/client/gemini-web_client.go+3−3
@@ -207,7 +207,7 @@ func (c *GeminiWebClient) registerModelsOnce() { · 206 unmodified lines
207 if c.modelsRegistered {207 if c.modelsRegistered {
208 return208 return
209 }209 }
210 c.RegisterModels(GEMINI, geminiWeb.GetGeminiWebAliasedModels())210 c.RegisterModels(GEMINIWEB, geminiWeb.GetGeminiWebAliasedModels())
211 c.modelsRegistered = true211 c.modelsRegistered = true
212}212}
213 213
@@ -219,8 +219,8 @@ func (c *GeminiWebClient) EnsureRegistered() { · 5 unmodified lines
219 }219 }
220}220}
221 221
222func (c *GeminiWebClient) Type() string { return GEMINI }222func (c *GeminiWebClient) Type() string { return GEMINIWEB }
223func (c *GeminiWebClient) Provider() string { return GEMINI }223func (c *GeminiWebClient) Provider() string { return GEMINIWEB }
224func (c *GeminiWebClient) CanProvideModel(modelName string) bool {224func (c *GeminiWebClient) CanProvideModel(modelName string) bool {
225 geminiWeb.EnsureGeminiWebAliasMap()225 geminiWeb.EnsureGeminiWebAliasMap()
226 _, ok := geminiWeb.GeminiWebAliasMap[strings.ToLower(modelName)]226 _, ok := geminiWeb.GeminiWebAliasMap[strings.ToLower(modelName)]
internal/constant/constant.go+1−0
@@ -3,6 +3,7 @@ package constant · 2 unmodified lines
3const (3const (
4 GEMINI = "gemini"4 GEMINI = "gemini"
5 GEMINICLI = "gemini-cli"5 GEMINICLI = "gemini-cli"
6 GEMINIWEB = "gemini-web"
6 CODEX = "codex"7 CODEX = "codex"
7 CLAUDE = "claude"8 CLAUDE = "claude"
8 OPENAI = "openai"9 OPENAI = "openai"
internal/translator/gemini-web/openai/chat-completions/init.go+20−0
@@ -0,0 +1,20 @@
1package chat_completions
2
3import (
4 . "github.com/luispater/CLIProxyAPI/v5/internal/constant"
5 "github.com/luispater/CLIProxyAPI/v5/internal/interfaces"
6 geminiChat "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini/openai/chat-completions"
7 "github.com/luispater/CLIProxyAPI/v5/internal/translator/translator"
8)
9
10func init() {
11 translator.Register(
12 OPENAI,
13 GEMINIWEB,
14 geminiChat.ConvertOpenAIRequestToGemini,
15 interfaces.TranslateResponse{
16 Stream: geminiChat.ConvertGeminiResponseToOpenAI,
17 NonStream: geminiChat.ConvertGeminiResponseToOpenAINonStream,
18 },
19 )
20}
internal/translator/gemini-web/openai/responses/init.go+20−0
@@ -0,0 +1,20 @@
1package responses
2
3import (
4 . "github.com/luispater/CLIProxyAPI/v5/internal/constant"
5 "github.com/luispater/CLIProxyAPI/v5/internal/interfaces"
6 geminiResponses "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini/openai/responses"
7 "github.com/luispater/CLIProxyAPI/v5/internal/translator/translator"
8)
9
10func init() {
11 translator.Register(
12 OPENAI_RESPONSE,
13 GEMINIWEB,
14 geminiResponses.ConvertOpenAIResponsesRequestToGemini,
15 interfaces.TranslateResponse{
16 Stream: geminiResponses.ConvertGeminiResponseToOpenAIResponses,
17 NonStream: geminiResponses.ConvertGeminiResponseToOpenAIResponsesNonStream,
18 },
19 )
20}
internal/translator/init.go+3−0
@@ -23,6 +23,9 @@ import ( · 22 unmodified lines
23 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini/openai/chat-completions"23 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini/openai/chat-completions"
24 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini/openai/responses"24 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini/openai/responses"
25 25
26 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini-web/openai/chat-completions"
27 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/gemini-web/openai/responses"
28
26 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/openai/claude"29 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/openai/claude"
27 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/openai/gemini"30 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/openai/gemini"
28 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/openai/gemini-cli"31 _ "github.com/luispater/CLIProxyAPI/v5/internal/translator/openai/gemini-cli"

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t