fix: 适配 claude-vscode 客户端

扩展正则表达式以支持 claude-cli/2.0.0 (external, claude-vscode)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
shaw
2025-09-30 11:25:18 +08:00
parent c62b397fde
commit 4ad1ccc22c

View File

@@ -75,10 +75,15 @@ class ClaudeCodeValidator {
const path = req.path || ''
// 1. 先检查是否是 Claude Code 的 User-Agent
// 格式: claude-cli/1.0.86 (external, cli) sdk-cli sdk-py
// 支持的格式:
// - claude-cli/1.0.86 (external, cli) - 原有 CLI 格式
// - claude-cli/2.0.0 (external, claude-vscode) - VSCode 插件格式
// - claude-cli/x.x.x (external, sdk-py) - Python SDK 格式
// - claude-cli/x.x.x (external, sdk-js) - JavaScript SDK 格式
// - 其他 (external, claude-xxx) 或 (external, sdk-xxx) 格式
const claudeCodePattern =
/^claude-cli\/[\d.]+(?:[-\w]*)?\s+\(external,\s*(?:cli|sdk-[a-z]+)\)$/i
/^claude-cli\/[\d.]+(?:[-\w]*)?\s+\(external,\s*(?:cli|claude-[\w-]+|sdk-[\w-]+)\)$/i
if (!claudeCodePattern.test(userAgent)) {
// 不是 Claude Code 的请求,此验证器不处理