fix: 修复百度云引用格式转换

修复百度云千帆模型返回消息中^[x]^引用格式的转换问题。修正正则表达式,正确解析方括号内的数字组合,并转换为标准[cite:N]格式。

相关Issue: cherry-studio/issues/11958
This commit is contained in:
GeorgeDong32 2025-12-17 23:57:23 +08:00
parent e38e963cc9
commit d8b1df6c26

View File

@ -156,13 +156,15 @@ export function normalizeCitationMarks(
break
}
case WebSearchSource.BAIDU_CLOUD: {
// 百度云格式: ^[1][4]^ → [cite:1], [cite:4]
applyReplacements(/\^\[(\d+(?:\]\[?\d+)*)\]\^/g, (match) => {
const citationNums = match[1]
.replace(/^\[/, '')
.replace(/\]$/g, '')
// 百度云格式: ^[1][4]^ → [cite:1][cite:4]
applyReplacements(/\^\[([^\]]+)\]\^/g, (match) => {
// match[1]包含方括号内的内容,如 "1][4"
const content = match[1]
// 解析方括号内的数字,如 "1][4" -> ['1', '4']
const citationNums = content
.split('][')
.map((num) => parseInt(num, 10))
.filter((num) => !isNaN(num))
const citations = citationNums
.filter((num) => citationMap.has(num))