mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
feat: 为claude类型账号增加测试功能
This commit is contained in:
@@ -7,6 +7,7 @@ const express = require('express')
|
||||
const router = express.Router()
|
||||
|
||||
const claudeAccountService = require('../../services/claudeAccountService')
|
||||
const claudeRelayService = require('../../services/claudeRelayService')
|
||||
const accountGroupService = require('../../services/accountGroupService')
|
||||
const apiKeyService = require('../../services/apiKeyService')
|
||||
const redis = require('../../models/redis')
|
||||
@@ -787,4 +788,17 @@ router.put(
|
||||
}
|
||||
)
|
||||
|
||||
// 测试Claude OAuth账户连通性(流式响应)- 复用 claudeRelayService
|
||||
router.post('/claude-accounts/:accountId/test', authenticateAdmin, async (req, res) => {
|
||||
const { accountId } = req.params
|
||||
|
||||
try {
|
||||
// 直接调用服务层的测试方法
|
||||
await claudeRelayService.testAccountConnection(accountId, res)
|
||||
} catch (error) {
|
||||
logger.error(`❌ Failed to test Claude OAuth account:`, error)
|
||||
// 错误已在服务层处理,这里仅做日志记录
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
|
||||
@@ -7,6 +7,7 @@ const express = require('express')
|
||||
const router = express.Router()
|
||||
|
||||
const claudeConsoleAccountService = require('../../services/claudeConsoleAccountService')
|
||||
const claudeConsoleRelayService = require('../../services/claudeConsoleRelayService')
|
||||
const accountGroupService = require('../../services/accountGroupService')
|
||||
const apiKeyService = require('../../services/apiKeyService')
|
||||
const redis = require('../../models/redis')
|
||||
@@ -466,4 +467,17 @@ router.post('/claude-console-accounts/reset-all-usage', authenticateAdmin, async
|
||||
}
|
||||
})
|
||||
|
||||
// 测试Claude Console账户连通性(流式响应)- 复用 claudeConsoleRelayService
|
||||
router.post('/claude-console-accounts/:accountId/test', authenticateAdmin, async (req, res) => {
|
||||
const { accountId } = req.params
|
||||
|
||||
try {
|
||||
// 直接调用服务层的测试方法
|
||||
await claudeConsoleRelayService.testAccountConnection(accountId, res)
|
||||
} catch (error) {
|
||||
logger.error(`❌ Failed to test Claude Console account:`, error)
|
||||
// 错误已在服务层处理,这里仅做日志记录
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
|
||||
@@ -104,18 +104,18 @@ async function handleMessagesRequest(req, res) {
|
||||
const isStream = req.body.stream === true
|
||||
|
||||
// 临时修复新版本客户端,删除context_management字段,避免报错
|
||||
if (req.body.context_management) {
|
||||
delete req.body.context_management
|
||||
}
|
||||
// if (req.body.context_management) {
|
||||
// delete req.body.context_management
|
||||
// }
|
||||
|
||||
// 遍历tools数组,删除input_examples字段
|
||||
if (req.body.tools && Array.isArray(req.body.tools)) {
|
||||
req.body.tools.forEach((tool) => {
|
||||
if (tool && typeof tool === 'object' && tool.input_examples) {
|
||||
delete tool.input_examples
|
||||
}
|
||||
})
|
||||
}
|
||||
// if (req.body.tools && Array.isArray(req.body.tools)) {
|
||||
// req.body.tools.forEach((tool) => {
|
||||
// if (tool && typeof tool === 'object' && tool.input_examples) {
|
||||
// delete tool.input_examples
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
logger.api(
|
||||
`🚀 Processing ${isStream ? 'stream' : 'non-stream'} request for key: ${req.apiKey.name}`
|
||||
|
||||
Reference in New Issue
Block a user