fix: remove duplicated model badge display
Some checks failed
Lint / build (20) (push) Has been cancelled
Playwright Tests / test (push) Has been cancelled

This commit is contained in:
Your Name 2026-03-06 18:49:34 +08:00
parent 4167f30fce
commit 82162f8936
2 changed files with 6 additions and 8 deletions

View File

@ -482,7 +482,7 @@ function extractCanvasModelName(text: string): string {
if (!source) return "";
const badgeMatch = source.match(
/^\s*[◈◇◆🔹⬡✦•·]\s*([A-Za-z][A-Za-z0-9 .:+\-_/()]{2,})\s*$/im
/^\s*[◈◇◆🔹⬡✦•·]\s*([^\n]+?)\s*$/im
);
if (badgeMatch?.[1]) {
return badgeMatch[1].trim();
@ -501,7 +501,7 @@ function extractCanvasModelName(text: string): string {
function stripCanvasModelRoutingLines(text: string): string {
return String(text || "")
.replace(/^\s*(?:Routed to|Using model)\s*[::].*$/gim, "")
.replace(/^\s*[◈◇◆🔹⬡✦•·]\s*[A-Za-z][A-Za-z0-9 .:+\-_/()]{2,}\s*$/gim, "")
.replace(/^\s*[◈◇◆🔹⬡✦•·]\s*[^\n]+\s*$/gim, "")
.replace(/\n{3,}/g, "\n\n")
.trim();
}
@ -761,7 +761,7 @@ function shouldSplitCanvasAnalysisAfterLine(line: string): boolean {
}
// 模型徽标行(例如:◈ Nano Banana Pro)
return /^[◈◇◆🔹⬡✦•·]\s*[A-Za-z][A-Za-z0-9 .:+\-_/()]{2,}\s*$/i.test(normalized);
return /^[◈◇◆🔹⬡✦•·]\s*[^\n]+$/i.test(normalized);
}
function extractCanvasImageAnalysisSection(content: string): CanvasAnalysisSection | null {

View File

@ -161,9 +161,7 @@ function filterAgentRoutingNoise(text: string): string {
);
// 如果文本里没有现成的模型展示行,则补一行友好的模型名
const hasModelBadgeLine = /^\s*[◈◇◆🔹⬡✦•·]\s*[A-Za-z][A-Za-z0-9 .:+\-_/()]{2,}\s*$/im.test(
filtered
);
const hasModelBadgeLine = /^\s*[◈◇◆🔹⬡✦•·]\s*[^\n]+$/im.test(filtered);
if (routedModelName && !hasModelBadgeLine) {
filtered = `◈ ${routedModelName}\n\n${filtered}`;
}
@ -179,9 +177,9 @@ const ASSISTANT_TYPEWRITER_SECTION_REGEX =
/(?:###\s*需求理解|【\s*需求理解\s*】|###\s*图片分析|【\s*图片分析\s*】|###\s*执行计划|【\s*执行计划\s*】|###\s*输出设置|【\s*输出设置\s*】)/;
const ASSISTANT_TYPEWRITER_STORAGE_KEY = "assistant-typewriter-completed-keys-v1";
const MODEL_BADGE_LINE_REGEX =
/^\s*[◈◇◆🔹⬡✦•·]\s*([A-Za-z][A-Za-z0-9 .:+\-_/()]{2,})\s*$/im;
/^\s*[◈◇◆🔹⬡✦•·]\s*([^\n]+?)\s*$/im;
const MODEL_BADGE_LINE_GLOBAL_REGEX =
/^\s*[◈◇◆🔹⬡✦•·]\s*[A-Za-z][A-Za-z0-9 .:+\-_/()]{2,}\s*$/gim;
/^\s*[◈◇◆🔹⬡✦•·]\s*[^\n]+\s*$/gim;
function extractModelBadgeName(text: string): string {
if (!text) return "";