diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index d9404d052..c335ceb61 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -685,6 +685,28 @@ export const providerPresets: ProviderPreset[] = [ icon: "dds", iconColor: "#000000", }, + { + name: "E-FlowCode", + websiteUrl: "https://e-flowcode.cc", + apiKeyUrl: "https://e-flowcode.cc", + settingsConfig: { + effortLevel: "high", + env: { + ANTHROPIC_AUTH_TOKEN: "", + ANTHROPIC_BASE_URL: "https://e-flowcode.cc", + }, + enabledPlugins: { + "superpowers@superpowers-marketplace": true, + }, + includeCoAuthoredBy: false, + ENABLE_TOOL_SEARCH: true, + skipWebFetchPreflight: true, + }, + category: "third_party", + endpointCandidates: ["https://e-flowcode.cc"], + icon: "eflowcode", + iconColor: "#000000", + }, { name: "LionCCAPI", websiteUrl: "https://vibecodingapi.ai", diff --git a/src/config/codexProviderPresets.ts b/src/config/codexProviderPresets.ts index 2ab9a9b18..b7fe49bb2 100644 --- a/src/config/codexProviderPresets.ts +++ b/src/config/codexProviderPresets.ts @@ -381,6 +381,31 @@ requires_openai_auth = true`, partnerPromotionKey: "lionccapi", icon: "lioncc", }, + { + name: "E-FlowCode", + websiteUrl: "https://e-flowcode.cc", + apiKeyUrl: "https://e-flowcode.cc", + auth: { + OPENAI_API_KEY: "", + }, + config: `model_provider = "e-flowcode" +model = "gpt-5.4" +model_reasoning_effort = "high" +disable_response_storage = true +personality = "pragmatic" + +[model_providers.e-flowcode] +name = "e-flowcode" +base_url = "https://e-flowcode.cc/v1" +wire_api = "responses" +requires_openai_auth = true +model_context_window = 1000000 +model_auto_compact_token_limit = 9000000`, + category: "third_party", + endpointCandidates: ["https://e-flowcode.cc/v1"], + icon: "eflowcode", + iconColor: "#000000", + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/geminiProviderPresets.ts b/src/config/geminiProviderPresets.ts index 5ac895446..14205c043 100644 --- a/src/config/geminiProviderPresets.ts +++ b/src/config/geminiProviderPresets.ts @@ -260,6 +260,41 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ partnerPromotionKey: "lionccapi", icon: "lioncc", }, + { + name: "E-FlowCode", + websiteUrl: "https://e-flowcode.cc", + apiKeyUrl: "https://e-flowcode.cc", + settingsConfig: { + env: { + GOOGLE_GEMINI_BASE_URL: "https://e-flowcode.cc", + GEMINI_API_KEY: "", + GEMINI_MODEL: "gemini-3.1-pro-preview", + }, + config: { + general: { + previewFeatures: true, + sessionRetention: { + enabled: true, + maxAge: "30d", + warningAcknowledged: true, + }, + }, + mcpServers: {}, + security: { + auth: { + selectedType: "gemini-api-key", + }, + }, + }, + }, + baseURL: "https://e-flowcode.cc", + model: "gemini-3.1-pro-preview", + description: "E-FlowCode", + category: "third_party", + endpointCandidates: ["https://e-flowcode.cc"], + icon: "eflowcode", + iconColor: "#000000", + }, { name: "OpenRouter", websiteUrl: "https://openrouter.ai", diff --git a/src/config/openclawProviderPresets.ts b/src/config/openclawProviderPresets.ts index 439fb029c..be82b277c 100644 --- a/src/config/openclawProviderPresets.ts +++ b/src/config/openclawProviderPresets.ts @@ -1577,6 +1577,68 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, }, + { + name: "E-FlowCode", + websiteUrl: "https://e-flowcode.cc", + apiKeyUrl: "https://e-flowcode.cc", + settingsConfig: { + api: "openai-responses", + apiKey: "", + baseUrl: "https://e-flowcode.cc/v1", + headers: { + "User-Agent": + "codex_cli_rs/0.77.0 (Windows 10.0.26100; x86_64) WindowsTerminal", + }, + models: [ + { + contextWindow: 200000, + cost: { + cacheRead: 0, + cacheWrite: 0, + input: 0, + output: 0, + }, + id: "gpt-5.3-codex", + maxTokens: 32000, + name: "gpt-5.3-codex", + }, + { + id: "gpt-5.4", + name: "gpt-5.4", + }, + { + id: "gpt-5.2-codex", + name: "gpt-5.2-codex", + }, + { + id: "gpt-5.2", + name: "gpt-5.2", + }, + ], + }, + category: "third_party", + icon: "eflowcode", + iconColor: "#000000", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "sk-...", + editorValue: "", + }, + }, + suggestedDefaults: { + model: { + primary: "eflowcode/gpt-5.3-codex", + fallbacks: ["eflowcode/gpt-5.4", "eflowcode/gpt-5.2-codex"], + }, + modelCatalog: { + "eflowcode/gpt-5.3-codex": { alias: "gpt-5.3-codex" }, + "eflowcode/gpt-5.4": { alias: "gpt-5.4" }, + "eflowcode/gpt-5.2-codex": { alias: "gpt-5.2-codex" }, + "eflowcode/gpt-5.2": { alias: "gpt-5.2" }, + }, + }, + }, // ========== Cloud Providers ========== { name: "AWS Bedrock", diff --git a/src/config/opencodeProviderPresets.ts b/src/config/opencodeProviderPresets.ts index 415647a44..ce41ba945 100644 --- a/src/config/opencodeProviderPresets.ts +++ b/src/config/opencodeProviderPresets.ts @@ -1376,6 +1376,36 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ }, }, }, + { + name: "E-FlowCode", + websiteUrl: "https://e-flowcode.cc", + apiKeyUrl: "https://e-flowcode.cc", + settingsConfig: { + npm: "@ai-sdk/openai", + options: { + apiKey: "", + baseURL: "https://e-flowcode.cc/v1", + }, + models: { + "gpt-5.2-codex": { + name: "gpt-5.2-codex", + }, + "gpt-5.3-codex": { + name: "gpt-5.3-codex", + }, + }, + }, + category: "third_party", + icon: "eflowcode", + iconColor: "#000000", + templateValues: { + apiKey: { + label: "API Key", + placeholder: "sk-...", + editorValue: "", + }, + }, + }, { name: "AWS Bedrock", websiteUrl: "https://aws.amazon.com/bedrock/", diff --git a/src/icons/extracted/eflowcode.png b/src/icons/extracted/eflowcode.png new file mode 100644 index 000000000..b032154c0 Binary files /dev/null and b/src/icons/extracted/eflowcode.png differ diff --git a/src/icons/extracted/index.ts b/src/icons/extracted/index.ts index ad61618c7..aae68b7a0 100644 --- a/src/icons/extracted/index.ts +++ b/src/icons/extracted/index.ts @@ -2,6 +2,7 @@ // Do not edit manually import _dds from "./dds.svg?url"; +import _eflowcode from "./eflowcode.png"; import _shengsuanyun from "./shengsuanyun.svg?url"; import _xcode from "./xcode.svg?url"; @@ -79,6 +80,7 @@ export const icons: Record = { export const iconUrls: Record = { dds: _dds, + eflowcode: _eflowcode, shengsuanyun: _shengsuanyun, xcode: _xcode, }; diff --git a/src/icons/extracted/metadata.ts b/src/icons/extracted/metadata.ts index d2e5f3dc7..60f1dd7e0 100644 --- a/src/icons/extracted/metadata.ts +++ b/src/icons/extracted/metadata.ts @@ -366,6 +366,13 @@ export const iconMetadata: Record = { keywords: ["openrouter", "router", "aggregator"], defaultColor: "#6566F1", }, + eflowcode: { + name: "eflowcode", + displayName: "E-FlowCode", + category: "ai-provider", + keywords: ["eflowcode", "e-flowcode", "flow"], + defaultColor: "currentColor", + }, shengsuanyun: { name: "shengsuanyun", displayName: "Shengsuanyun",