diff --git a/ui/config.example.json b/ui/config.example.json index 3e7abe8..db70bf3 100644 --- a/ui/config.example.json +++ b/ui/config.example.json @@ -4,6 +4,7 @@ "HOST": "127.0.0.1", "PORT": 8080, "APIKEY": "1", + "API_TIMEOUT_MS": 600000, "transformers": [ { "path": "/Users/abc/.claude-code-router/plugins/gemini-cli.js", diff --git a/ui/src/components/ConfigProvider.tsx b/ui/src/components/ConfigProvider.tsx index 05f954d..30906e8 100644 --- a/ui/src/components/ConfigProvider.tsx +++ b/ui/src/components/ConfigProvider.tsx @@ -41,6 +41,7 @@ export interface Config { HOST: string; PORT: number; APIKEY: string; + API_TIMEOUT_MS: string; transformers: Transformer[]; Providers: Provider[]; Router: RouterConfig; @@ -116,6 +117,7 @@ export function ConfigProvider({ children }: ConfigProviderProps) { HOST: typeof data.HOST === 'string' ? data.HOST : '127.0.0.1', PORT: typeof data.PORT === 'number' ? data.PORT : 3456, APIKEY: typeof data.APIKEY === 'string' ? data.APIKEY : '', + API_TIMEOUT_MS: typeof data.API_TIMEOUT_MS === 'string' ? data.API_TIMEOUT_MS : '600000', transformers: Array.isArray(data.transformers) ? data.transformers : [], Providers: Array.isArray(data.Providers) ? data.Providers : [], Router: data.Router && typeof data.Router === 'object' ? { @@ -146,6 +148,7 @@ export function ConfigProvider({ children }: ConfigProviderProps) { HOST: '127.0.0.1', PORT: 3456, APIKEY: '', + API_TIMEOUT_MS: '600000', transformers: [], Providers: [], Router: { diff --git a/ui/src/components/SettingsDialog.tsx b/ui/src/components/SettingsDialog.tsx index 643f035..37d7be6 100644 --- a/ui/src/components/SettingsDialog.tsx +++ b/ui/src/components/SettingsDialog.tsx @@ -57,6 +57,10 @@ export function SettingsDialog({ isOpen, onOpenChange }: SettingsDialogProps) { setConfig({ ...config, PORT: parseInt(e.target.value, 10) })} className="transition-all-ease focus:scale-[1.01]" /> +