fix: 优化Claude Code User-Agent识别逻辑

- 将字符串匹配改为正则表达式匹配,提高准确性
  - 统一版本号提取正则,支持多段版本号格式
  - 修复isRealClaudeCodeRequest中的User-Agent验证逻辑"
This commit is contained in:
sczheng189
2025-09-04 09:19:39 +08:00
parent 39c49fe2bb
commit 8f08d7843f
2 changed files with 10 additions and 10 deletions

View File

@@ -50,7 +50,7 @@ class ClaudeCodeHeadersService {
if (!userAgent) {
return null
}
const match = userAgent.match(/claude-cli\/(\d+\.\d+\.\d+)/)
const match = userAgent.match(/claude-cli\/([\d.]+(?:[a-zA-Z0-9-]*)?)/i)
return match ? match[1] : null
}
@@ -113,7 +113,7 @@ class ClaudeCodeHeadersService {
// 检查是否有 user-agent
const userAgent = extractedHeaders['user-agent']
if (!userAgent || !userAgent.includes('claude-cli')) {
if (!userAgent || !/^claude-cli\/[\d.]+\s+\(/i.test(userAgent)) {
// 不是 Claude Code 的请求,不存储
return
}