Skip to content

Commit d8bf36f

Browse files
committed
feat: 补充电商搜索推荐识别规则
扩展 SaaS 页面规则,新增电商搜索、站内推荐和个性化服务资源 URL 匹配。 覆盖 Constructor.io、Bloomreach Discovery、Nosto、Searchspring、Klevu、Doofinder、Clerk.io Recommendations、Dynamic Yield、Monetate、Barilliance、Recombee、Algonomy、Syte、Vue.ai、Findify、Unbxd、Retail Rocket、Prefixbox、Luigi's Box、Attraqt 等技术,并补充对应技术链接。 将版本升至 1.1.16。 验证:npx prettier --write .;npx prettier --check .;pnpm run typecheck;pnpm run lint;JSON/正则全量校验;pnpm run build。
1 parent 6fd7dd5 commit d8bf36f

3 files changed

Lines changed: 115 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "stackprism",
33
"private": true,
4-
"version": "1.1.15",
4+
"version": "1.1.16",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/page/saas-services-page.json

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,100 @@
389389
"patterns": ["typesense\\.net|typesense\\.org|typesense-js"],
390390
"globals": ["Typesense"]
391391
},
392+
{
393+
"defaults": {
394+
"kind": "电商搜索 / 个性化推荐",
395+
"matchIn": ["resources"]
396+
},
397+
"rules": [
398+
{
399+
"name": "Constructor.io",
400+
"patterns": ["cdn\\.constructor\\.io|cnstrc\\.com|constructor\\.io/[^\\s\"'<>]*(?:autocomplete|recommendations|search)"]
401+
},
402+
{
403+
"name": "Bloomreach Discovery",
404+
"patterns": ["cdn\\.brcdn\\.com|br-trk[^\\s\"'<>]*\\.js|bloomreach\\.com/[^\\s\"'<>]*(?:discovery|recommendations|search)"]
405+
},
406+
{
407+
"name": "Nosto",
408+
"patterns": ["connect\\.nosto\\.com|static\\.nosto\\.com|nostojs"]
409+
},
410+
{
411+
"name": "Searchspring",
412+
"patterns": [
413+
"cdn\\.searchspring\\.net|snapui\\.searchspring\\.io|searchspring\\.net/[^\\s\"'<>]*(?:autocomplete|search|recommend)"
414+
]
415+
},
416+
{
417+
"name": "Klevu",
418+
"patterns": ["js\\.klevu\\.com|cdn\\.klevu\\.com|box\\.klevu\\.com|klevu\\.com/[^\\s\"'<>]*(?:js|search|recommend)"]
419+
},
420+
{
421+
"name": "Doofinder",
422+
"patterns": ["cdn\\.doofinder\\.com|(?:eu|us|global)\\d*-search\\.doofinder\\.com|doofinder\\.com/[^\\s\"'<>]*(?:js|search)"]
423+
},
424+
{
425+
"name": "Clerk.io Recommendations",
426+
"patterns": ["cdn\\.clerk\\.io|api\\.clerk\\.io|clerk\\.io/[^\\s\"'<>]*(?:static|recommendations|search)"]
427+
},
428+
{
429+
"name": "Dynamic Yield",
430+
"patterns": ["cdn\\.dynamicyield\\.com|st\\.dynamicyield\\.com|dy-api\\.com|dynamicyield\\.com/[^\\s\"'<>]*(?:scripts|api)"]
431+
},
432+
{
433+
"name": "Monetate",
434+
"patterns": ["se\\.monetate\\.net|engine\\.monetate\\.net|monetate\\.net/[^\\s\"'<>]*(?:js|api|engine)"]
435+
},
436+
{
437+
"name": "Barilliance",
438+
"patterns": ["barilliance\\.net|cdn\\.barilliance\\.com|barilliance\\.com/[^\\s\"'<>]*(?:api|js|recommend)"]
439+
},
440+
{
441+
"name": "Recombee",
442+
"patterns": ["client-rapi\\.recombee\\.com|rapi\\.recombee\\.com|recombee\\.com/[^\\s\"'<>]*(?:api|recomm)"]
443+
},
444+
{
445+
"name": "Algonomy",
446+
"patterns": [
447+
"recs\\.richrelevance\\.com|media\\.richrelevance\\.com|algorecs\\.com|algonomy\\.com/[^\\s\"'<>]*(?:recommend|personalization)"
448+
]
449+
},
450+
{
451+
"name": "Syte",
452+
"patterns": ["cdn\\.syteapi\\.com|syteapi\\.com|syte\\.ai/[^\\s\"'<>]*(?:widget|api|search)"]
453+
},
454+
{
455+
"name": "Vue.ai",
456+
"patterns": ["cdn\\.vue\\.ai|assets\\.vue\\.ai|vue\\.ai/[^\\s\"'<>]*(?:widget|recommend|personalization)"]
457+
},
458+
{
459+
"name": "Findify",
460+
"patterns": [
461+
"cdn\\.findify\\.io|api\\.findify\\.io|findify-assets\\.s3\\.amazonaws\\.com|findify\\.io/[^\\s\"'<>]*(?:js|search)"
462+
]
463+
},
464+
{
465+
"name": "Unbxd",
466+
"patterns": ["libraries\\.unbxdapi\\.com|search\\.unbxdapi\\.com|unbxd\\.io|unbxd\\.com/[^\\s\"'<>]*(?:search|recommend)"]
467+
},
468+
{
469+
"name": "Retail Rocket",
470+
"patterns": ["retailrocket\\.net|cdn\\.retailrocket\\.net|retailrocket\\.com/[^\\s\"'<>]*(?:tracking|recommend)"]
471+
},
472+
{
473+
"name": "Prefixbox",
474+
"patterns": ["cdn\\.prefixbox\\.com|api\\.prefixbox\\.com|prefixbox\\.com/[^\\s\"'<>]*(?:search|autocomplete)"]
475+
},
476+
{
477+
"name": "Luigi's Box",
478+
"patterns": ["scripts\\.luigisbox\\.com|live\\.luigisbox\\.com|luigisbox\\.com/[^\\s\"'<>]*(?:autocomplete|search|recommend)"]
479+
},
480+
{
481+
"name": "Attraqt",
482+
"patterns": ["cdn\\.attraqt\\.io|attraqt\\.io/[^\\s\"'<>]*(?:search|recommend|personalisation)"]
483+
}
484+
]
485+
},
392486
{
393487
"name": "Cloudinary",
394488
"kind": "媒体托管",

public/tech-links.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,26 @@
10551055
"Amplitude": "https://amplitude.com",
10561056
"Algolia": "https://www.algolia.com",
10571057
"Typesense Cloud": "https://typesense.org",
1058+
"Constructor.io": "https://constructor.com",
1059+
"Bloomreach Discovery": "https://www.bloomreach.com/en/products/discovery",
1060+
"Nosto": "https://www.nosto.com",
1061+
"Searchspring": "https://searchspring.com",
1062+
"Klevu": "https://www.klevu.com",
1063+
"Doofinder": "https://www.doofinder.com",
1064+
"Clerk.io Recommendations": "https://www.clerk.io",
1065+
"Dynamic Yield": "https://www.dynamicyield.com",
1066+
"Monetate": "https://monetate.com",
1067+
"Barilliance": "https://www.barilliance.com",
1068+
"Recombee": "https://www.recombee.com",
1069+
"Algonomy": "https://algonomy.com",
1070+
"Syte": "https://www.syte.ai",
1071+
"Vue.ai": "https://www.vue.ai",
1072+
"Findify": "https://findify.io",
1073+
"Unbxd": "https://unbxd.com",
1074+
"Retail Rocket": "https://retailrocket.net",
1075+
"Prefixbox": "https://www.prefixbox.com",
1076+
"Luigi's Box": "https://www.luigisbox.com",
1077+
"Attraqt": "https://www.attraqt.com",
10581078
"Cloudinary": "https://cloudinary.com",
10591079
"Contentful": "https://www.contentful.com",
10601080
"Sanity": "https://www.sanity.io",

0 commit comments

Comments
 (0)