mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-01-23 00:53:33 +00:00
fix: 修复提示词检测引起的compact失败
This commit is contained in:
@@ -163,9 +163,11 @@ user: Where are errors from the client handled?
|
|||||||
assistant: Clients are marked as failed in the \`connectToServer\` function in src/services/process.ts:712.
|
assistant: Clients are marked as failed in the \`connectToServer\` function in src/services/process.ts:712.
|
||||||
</example>
|
</example>
|
||||||
`
|
`
|
||||||
|
const claudeOtherSystemPromptCompact = `You are a helpful AI assistant tasked with summarizing conversations.`
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
haikuSystemPrompt,
|
haikuSystemPrompt,
|
||||||
claudeOtherSystemPrompt1,
|
claudeOtherSystemPrompt1,
|
||||||
claudeOtherSystemPrompt2
|
claudeOtherSystemPrompt2,
|
||||||
|
claudeOtherSystemPromptCompact
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ const { CLIENT_DEFINITIONS } = require('../clientDefinitions')
|
|||||||
const {
|
const {
|
||||||
haikuSystemPrompt,
|
haikuSystemPrompt,
|
||||||
claudeOtherSystemPrompt1,
|
claudeOtherSystemPrompt1,
|
||||||
claudeOtherSystemPrompt2
|
claudeOtherSystemPrompt2,
|
||||||
|
claudeOtherSystemPromptCompact
|
||||||
} = require('../../utils/contents')
|
} = require('../../utils/contents')
|
||||||
const { simple: similaritySimple } = require('../../utils/text-similarity')
|
const { simple: similaritySimple } = require('../../utils/text-similarity')
|
||||||
|
|
||||||
@@ -88,7 +89,12 @@ class ClaudeCodeValidator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const sys1 = similaritySimple(system1Text, claudeOtherSystemPrompt2, 0.5)
|
const sys1 = similaritySimple(system1Text, claudeOtherSystemPrompt2, 0.5)
|
||||||
return sys1.passed
|
const sysCompact = similaritySimple(system1Text, claudeOtherSystemPromptCompact, 0.9)
|
||||||
|
if (!sys1.passed && !sysCompact.passed) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -102,8 +108,10 @@ class ClaudeCodeValidator {
|
|||||||
const path = req.path || ''
|
const path = req.path || ''
|
||||||
|
|
||||||
// 1. 先检查是否是 Claude Code 的 User-Agent
|
// 1. 先检查是否是 Claude Code 的 User-Agent
|
||||||
// 格式: claude-cli/1.0.86 (external, cli)
|
// 格式: claude-cli/1.0.86 (external, cli) sdk-cli sdk-py
|
||||||
const claudeCodePattern = /^claude-cli\/[\d\.]+([-\w]*)?\s+\(external,\s*cli\)$/i
|
|
||||||
|
const claudeCodePattern = /^claude-cli\/[\d.]+(?:[-\w]*)?\s+\(external,\s*(?:cli|sdk-[a-z]+)\)$/i
|
||||||
|
|
||||||
if (!claudeCodePattern.test(userAgent)) {
|
if (!claudeCodePattern.test(userAgent)) {
|
||||||
// 不是 Claude Code 的请求,此验证器不处理
|
// 不是 Claude Code 的请求,此验证器不处理
|
||||||
return false
|
return false
|
||||||
|
|||||||
Reference in New Issue
Block a user