From 80c6bed8c25b6ca1a3919326453dbf23b67de409 Mon Sep 17 00:00:00 2001 From: mouyong Date: Wed, 6 Aug 2025 15:26:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=BD=AC=E5=8F=91=20opus=204.1=20=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/claudeConsoleRelayService.js | 1 + src/services/claudeRelayService.js | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/services/claudeConsoleRelayService.js b/src/services/claudeConsoleRelayService.js index 6c4bd2d0..ca28d4c8 100644 --- a/src/services/claudeConsoleRelayService.js +++ b/src/services/claudeConsoleRelayService.js @@ -458,6 +458,7 @@ class ClaudeConsoleRelayService { // 🔧 过滤客户端请求头 _filterClientHeaders(clientHeaders) { const sensitiveHeaders = [ + 'content-type', "user-agent", 'x-api-key', 'authorization', diff --git a/src/services/claudeRelayService.js b/src/services/claudeRelayService.js index 09ddd013..a855f8e6 100644 --- a/src/services/claudeRelayService.js +++ b/src/services/claudeRelayService.js @@ -304,6 +304,11 @@ class ClaudeRelayService { } } + // Claude API只允许temperature或top_p其中之一,优先使用temperature + if (processedBody.top_p !== undefined && processedBody.top_p !== null) { + delete processedBody.top_p; + } + return processedBody; } @@ -412,6 +417,8 @@ class ClaudeRelayService { _filterClientHeaders(clientHeaders) { // 需要移除的敏感 headers const sensitiveHeaders = [ + 'content-type', + 'user-agent', 'x-api-key', 'authorization', 'host', @@ -552,6 +559,7 @@ class ClaudeRelayService { } req.on('error', (error) => { + console.error(": ❌ ", error); logger.error('❌ Claude API request error:', error.message, { code: error.code, errno: error.errno, @@ -716,6 +724,7 @@ class ClaudeRelayService { }); res.on('end', () => { + console.error(": ❌ ", errorData); logger.error('❌ Claude API error response:', errorData); if (!responseStream.destroyed) { // 发送错误事件