From 77124aa501c0a62e544146ea7a563a484f4452cc Mon Sep 17 00:00:00 2001 From: shaw Date: Wed, 15 Oct 2025 15:50:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20droid=E5=8E=BB=E6=8E=89count=5Ftokens?= =?UTF-8?q?=E7=AB=AF=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/middleware/auth.js | 3 +-- src/routes/droidRoutes.js | 43 --------------------------------------- 2 files changed, 1 insertion(+), 45 deletions(-) diff --git a/src/middleware/auth.js b/src/middleware/auth.js index 378f1565..c39655e0 100644 --- a/src/middleware/auth.js +++ b/src/middleware/auth.js @@ -61,8 +61,7 @@ const resolveConcurrencyConfig = () => { const TOKEN_COUNT_PATHS = new Set([ '/v1/messages/count_tokens', '/api/v1/messages/count_tokens', - '/claude/v1/messages/count_tokens', - '/droid/claude/v1/messages/count_tokens' + '/claude/v1/messages/count_tokens' ]) function extractApiKey(req) { diff --git a/src/routes/droidRoutes.js b/src/routes/droidRoutes.js index 5ae6c418..f712de19 100644 --- a/src/routes/droidRoutes.js +++ b/src/routes/droidRoutes.js @@ -60,49 +60,6 @@ router.post('/claude/v1/messages', authenticateApiKey, async (req, res) => { } }) -router.post('/claude/v1/messages/count_tokens', authenticateApiKey, async (req, res) => { - try { - const requestBody = { ...req.body } - if ('stream' in requestBody) { - delete requestBody.stream - } - const sessionHash = sessionHelper.generateSessionHash(requestBody) - - if (!hasDroidPermission(req.apiKey)) { - logger.security( - `🚫 API Key ${req.apiKey?.id || 'unknown'} 缺少 Droid 权限,拒绝访问 ${req.originalUrl}` - ) - return res.status(403).json({ - error: 'permission_denied', - message: '此 API Key 未启用 Droid 权限' - }) - } - - const result = await droidRelayService.relayRequest( - requestBody, - req.apiKey, - req, - res, - req.headers, - { - endpointType: 'anthropic', - sessionHash, - customPath: '/a/v1/messages/count_tokens', - skipUsageRecord: true, - disableStreaming: true - } - ) - - res.status(result.statusCode).set(result.headers).send(result.body) - } catch (error) { - logger.error('Droid Claude count_tokens relay error:', error) - res.status(500).json({ - error: 'internal_server_error', - message: error.message - }) - } -}) - // OpenAI 端点 - /v1/responses router.post(['/openai/v1/responses', '/openai/responses'], authenticateApiKey, async (req, res) => { try {