From 810dcd7def2ffe5e7a6fdb7e0c1bf2e0ce54bbf5 Mon Sep 17 00:00:00 2001 From: hailin Date: Mon, 23 Feb 2026 05:45:08 -0800 Subject: [PATCH] feat: switch default engine to claude_api with base URL support - Change AGENT_ENGINE_TYPE from claude_code_cli to claude_api in docker-compose - Add ANTHROPIC_BASE_URL env var support to claude-api-engine - Add ANTHROPIC_BASE_URL to agent-service environment in docker-compose Co-Authored-By: Claude Opus 4.6 --- deploy/docker/docker-compose.yml | 3 ++- .../infrastructure/engines/claude-api/claude-api-engine.ts | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml index f140708..e0ef571 100644 --- a/deploy/docker/docker-compose.yml +++ b/deploy/docker/docker-compose.yml @@ -126,7 +126,8 @@ services: - DB_DATABASE=${POSTGRES_DB:-it0} - REDIS_URL=redis://redis:6379 - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - - AGENT_ENGINE_TYPE=claude_code_cli + - ANTHROPIC_BASE_URL=${ANTHROPIC_BASE_URL} + - AGENT_ENGINE_TYPE=claude_api - AGENT_SERVICE_PORT=3002 healthcheck: test: ["CMD-SHELL", "node -e \"require('http').get('http://localhost:3002/',r=>{process.exit(r.statusCode<500?0:1)}).on('error',()=>process.exit(1))\""] diff --git a/packages/services/agent-service/src/infrastructure/engines/claude-api/claude-api-engine.ts b/packages/services/agent-service/src/infrastructure/engines/claude-api/claude-api-engine.ts index 544226d..956eb3f 100644 --- a/packages/services/agent-service/src/infrastructure/engines/claude-api/claude-api-engine.ts +++ b/packages/services/agent-service/src/infrastructure/engines/claude-api/claude-api-engine.ts @@ -46,7 +46,8 @@ export class ClaudeApiEngine implements AgentEnginePort { return; } - const client = new Anthropic({ apiKey }); + const baseURL = this.configService.get('ANTHROPIC_BASE_URL'); + const client = new Anthropic({ apiKey, ...(baseURL ? { baseURL } : {}) }); const abortController = new AbortController(); this.abortControllers.set(params.sessionId, abortController); @@ -228,7 +229,8 @@ export class ClaudeApiEngine implements AgentEnginePort { const apiKey = this.configService.get('ANTHROPIC_API_KEY'); if (!apiKey) return false; - const client = new Anthropic({ apiKey }); + const baseURL = this.configService.get('ANTHROPIC_BASE_URL'); + const client = new Anthropic({ apiKey, ...(baseURL ? { baseURL } : {}) }); // Make a minimal API call to verify connectivity const response = await client.messages.create({