From 747581dcfbfa4df1684a22c0cbe75ef174190e12 Mon Sep 17 00:00:00 2001 From: fullex <0xfullex@gmail.com> Date: Tue, 2 Dec 2025 14:11:29 +0800 Subject: [PATCH] refactor(preferences): streamline API configuration retrieval - Updated ApiServerService and ClaudeCodeService to use the new `getMultiple` method for fetching API server configuration from the preference service. - Simplified the structure of the returned configuration object, enhancing readability and maintainability. - Removed deprecated raw preference retrieval methods in favor of the new mapping approach. --- src/main/services/ApiServerService.ts | 19 +++++++------------ .../agents/services/claudecode/index.ts | 14 +++++++------- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/main/services/ApiServerService.ts b/src/main/services/ApiServerService.ts index 6342ac74fc..02ecb2d7bc 100644 --- a/src/main/services/ApiServerService.ts +++ b/src/main/services/ApiServerService.ts @@ -61,19 +61,14 @@ export class ApiServerService { * Get current API server configuration from preference service */ getCurrentConfig(): ApiServerConfig { - const config = preferenceService.getMultipleRaw([ - 'feature.csaas.enabled', - 'feature.csaas.host', - 'feature.csaas.port', - 'feature.csaas.api_key' - ]) + const config = preferenceService.getMultiple({ + enabled: 'feature.csaas.enabled', + host: 'feature.csaas.host', + port: 'feature.csaas.port', + apiKey: 'feature.csaas.api_key' + }) as ApiServerConfig - return { - enabled: config['feature.csaas.enabled'] ?? false, - host: config['feature.csaas.host'] ?? 'localhost', - port: config['feature.csaas.port'] ?? 23333, - apiKey: config['feature.csaas.api_key'] ?? '' - } + return config } /** diff --git a/src/main/services/agents/services/claudecode/index.ts b/src/main/services/agents/services/claudecode/index.ts index cf7d00f510..31f6a2c6b5 100644 --- a/src/main/services/agents/services/claudecode/index.ts +++ b/src/main/services/agents/services/claudecode/index.ts @@ -101,11 +101,11 @@ class ClaudeCodeService implements AgentServiceInterface { return aiStream } - const apiConfig = preferenceService.getMultipleRaw([ - 'feature.csaas.host', - 'feature.csaas.port', - 'feature.csaas.api_key' - ]) + const apiConfig = preferenceService.getMultiple({ + host: 'feature.csaas.host', + port: 'feature.csaas.port', + apiKey: 'feature.csaas.api_key' + }) const loginShellEnv = await getLoginShellEnvironment() const loginShellEnvWithoutProxies = Object.fromEntries( Object.entries(loginShellEnv).filter(([key]) => !key.toLowerCase().endsWith('_proxy')) @@ -273,9 +273,9 @@ class ClaudeCodeService implements AgentServiceInterface { for (const mcpId of session.mcps) { mcpList[mcpId] = { type: 'http', - url: `http://${apiConfig['feature.csaas.host']}:${apiConfig['feature.csaas.port']}/v1/mcps/${mcpId}/mcp`, + url: `http://${apiConfig.host}:${apiConfig.port}/v1/mcps/${mcpId}/mcp`, headers: { - Authorization: `Bearer ${apiConfig['feature.csaas.api_key']}` + Authorization: `Bearer ${apiConfig.apiKey}` } } }