mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 08:55:23 +00:00
feat: 添加 /claude/v1/messages 路由别名并优化非 Claude Code 客户端支持
- 添加 /claude 路由作为 /api 的别名,支持 /claude/v1/messages 端点 - 实现智能判断请求来源,通过 user-agent 和系统提示词识别真实的 Claude Code 请求 - 为非 Claude Code 客户端自动设置系统提示词和必要的 headers - 优化 headers 更新逻辑,只有真实的 Claude Code 请求才更新缓存 - 确保 /api 和 /claude 路由功能完全一致 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -7,8 +7,8 @@ const redis = require('../models/redis');
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
// 🚀 Claude API messages 端点
|
||||
router.post('/v1/messages', authenticateApiKey, async (req, res) => {
|
||||
// 🔧 共享的消息处理函数
|
||||
async function handleMessagesRequest(req, res) {
|
||||
try {
|
||||
const startTime = Date.now();
|
||||
|
||||
@@ -199,7 +199,13 @@ router.post('/v1/messages', authenticateApiKey, async (req, res) => {
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 🚀 Claude API messages 端点 - /api/v1/messages
|
||||
router.post('/v1/messages', authenticateApiKey, handleMessagesRequest);
|
||||
|
||||
// 🚀 Claude API messages 端点 - /claude/v1/messages (别名)
|
||||
router.post('/claude/v1/messages', authenticateApiKey, handleMessagesRequest);
|
||||
|
||||
// 🏥 健康检查端点
|
||||
router.get('/health', async (req, res) => {
|
||||
@@ -223,7 +229,7 @@ router.get('/health', async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// 📊 API Key状态检查端点
|
||||
// 📊 API Key状态检查端点 - /api/v1/key-info
|
||||
router.get('/v1/key-info', authenticateApiKey, async (req, res) => {
|
||||
try {
|
||||
const usage = await apiKeyService.getUsageStats(req.apiKey.id);
|
||||
@@ -246,7 +252,7 @@ router.get('/v1/key-info', authenticateApiKey, async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// 📈 使用统计端点
|
||||
// 📈 使用统计端点 - /api/v1/usage
|
||||
router.get('/v1/usage', authenticateApiKey, async (req, res) => {
|
||||
try {
|
||||
const usage = await apiKeyService.getUsageStats(req.apiKey.id);
|
||||
|
||||
Reference in New Issue
Block a user