From f6b32a664ac549558076d8719d99ee59681c217a Mon Sep 17 00:00:00 2001 From: feitianbubu Date: Mon, 3 Nov 2025 18:48:00 +0800 Subject: [PATCH 1/2] fix: tag splitting by whitespace --- web/src/components/table/model-pricing/filter/PricingTags.jsx | 4 ++-- web/src/hooks/model-pricing/useModelPricingData.jsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/components/table/model-pricing/filter/PricingTags.jsx b/web/src/components/table/model-pricing/filter/PricingTags.jsx index 330a294f3..2d61aa90e 100644 --- a/web/src/components/table/model-pricing/filter/PricingTags.jsx +++ b/web/src/components/table/model-pricing/filter/PricingTags.jsx @@ -44,7 +44,7 @@ const PricingTags = ({ (allModels.length > 0 ? allModels : models).forEach((model) => { if (model.tags) { model.tags - .split(/[,;|\s]+/) // 逗号、分号、竖线或空白字符 + .split(/[,;|]+/) // 逗号、分号或竖线(保留空格,允许多词标签如 "open weights") .map((tag) => tag.trim()) .filter(Boolean) .forEach((tag) => tagSet.add(tag.toLowerCase())); @@ -64,7 +64,7 @@ const PricingTags = ({ if (!model.tags) return false; return model.tags .toLowerCase() - .split(/[,;|\s]+/) + .split(/[,;|]+/) .map((tg) => tg.trim()) .includes(tagLower); }).length; diff --git a/web/src/hooks/model-pricing/useModelPricingData.jsx b/web/src/hooks/model-pricing/useModelPricingData.jsx index 0a407236d..55eb2eaab 100644 --- a/web/src/hooks/model-pricing/useModelPricingData.jsx +++ b/web/src/hooks/model-pricing/useModelPricingData.jsx @@ -128,7 +128,7 @@ export const useModelPricingData = () => { if (!model.tags) return false; const tagsArr = model.tags .toLowerCase() - .split(/[,;|\s]+/) + .split(/[,;|]+/) .map((tag) => tag.trim()) .filter(Boolean); return tagsArr.includes(tagLower); From 65355d88630ef482c2fd6db84da3f198ae02cb19 Mon Sep 17 00:00:00 2001 From: feitianbubu Date: Thu, 6 Nov 2025 23:23:49 +0800 Subject: [PATCH 2/2] fix: update tag normalization regex --- web/src/hooks/model-pricing/usePricingFilterCounts.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/src/hooks/model-pricing/usePricingFilterCounts.js b/web/src/hooks/model-pricing/usePricingFilterCounts.js index 7bd19d184..3bb3d858c 100644 --- a/web/src/hooks/model-pricing/usePricingFilterCounts.js +++ b/web/src/hooks/model-pricing/usePricingFilterCounts.js @@ -23,7 +23,7 @@ import { useMemo } from 'react'; const normalizeTags = (tags = '') => tags .toLowerCase() - .split(/[,;|\s]+/) + .split(/[,;|]+/) .map((t) => t.trim()) .filter(Boolean);