mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
feat: 实现 Claude Code headers 动态管理功能
- 创建 claudeCodeHeadersService 管理各账号的 Claude Code headers - 自动捕获成功请求的 headers 并按账号存储在 Redis - 智能版本管理,只保留最新版本的 headers - OpenAI 转发时根据账号动态获取对应的 headers - 添加管理端点查看和清除各账号的 headers 信息 - 完整支持 Claude Code 必需的 beta headers 解决了 "This credential is only authorized for use with Claude Code" 错误 避免了固定版本号带来的风控问题 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -241,21 +241,22 @@ const originalError = logger.error;
|
||||
const originalWarn = logger.warn;
|
||||
const originalInfo = logger.info;
|
||||
|
||||
logger.error = function(message, metadata = {}) {
|
||||
logger.error = function(message, ...args) {
|
||||
logger.stats.errors++;
|
||||
return originalError.call(this, message, metadata);
|
||||
return originalError.call(this, message, ...args);
|
||||
};
|
||||
|
||||
logger.warn = function(message, metadata = {}) {
|
||||
logger.warn = function(message, ...args) {
|
||||
logger.stats.warnings++;
|
||||
return originalWarn.call(this, message, metadata);
|
||||
return originalWarn.call(this, message, ...args);
|
||||
};
|
||||
|
||||
logger.info = function(message, metadata = {}) {
|
||||
if (metadata.type === 'request') {
|
||||
logger.info = function(message, ...args) {
|
||||
// 检查是否是请求类型的日志
|
||||
if (args.length > 0 && typeof args[0] === 'object' && args[0].type === 'request') {
|
||||
logger.stats.requests++;
|
||||
}
|
||||
return originalInfo.call(this, message, metadata);
|
||||
return originalInfo.call(this, message, ...args);
|
||||
};
|
||||
|
||||
// 📈 获取日志统计
|
||||
|
||||
Reference in New Issue
Block a user