Skip to content

Commit ac0653b

Browse files
committed
feat: 补充 LLM 观测网关识别规则
扩展 AI 页面规则,新增 20 个 LLM 观测、网关和评测平台的资源 URL 匹配。 覆盖 LangSmith、Helicone、Braintrust、Humanloop、Weights & Biases Weave、Arize Phoenix、LangWatch、Portkey AI Gateway、LiteLLM Proxy、PromptLayer、Traceloop、Keywords AI、Maxim AI、Agenta、OpenPipe、Vellum AI、Parea AI、Literal AI、HoneyHive 和 Laminar,并补充对应技术链接。 将版本升至 1.1.68。 验证:npx prettier --write .;npx prettier --check .;pnpm run typecheck;pnpm run lint;JSON/正则全量校验;pnpm run build;版本一致性检查;git diff --check。
1 parent 720076f commit ac0653b

3 files changed

Lines changed: 113 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.67",
4+
"version": "1.1.68",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/page/ai-platforms-assets.json

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,98 @@
102102
}
103103
]
104104
},
105+
{
106+
"defaults": {
107+
"kind": "LLM 观测 / 网关 / 评测",
108+
"matchIn": ["resources"]
109+
},
110+
"rules": [
111+
{
112+
"name": "LangSmith",
113+
"patterns": ["api\\.smith\\.langchain\\.com|smith\\.langchain\\.com|langsmith\\.com/[^\\s\"'<>]*(?:api|tracing|projects)"]
114+
},
115+
{
116+
"name": "Helicone",
117+
"patterns": ["api\\.helicone\\.ai|oai\\.helicone\\.ai|helicone\\.ai/[^\\s\"'<>]*(?:api|gateway|observability)"]
118+
},
119+
{
120+
"name": "Braintrust",
121+
"patterns": ["api\\.braintrustdata\\.com|braintrustdata\\.com/[^\\s\"'<>]*(?:api|evals|experiments|traces)"]
122+
},
123+
{
124+
"name": "Humanloop",
125+
"patterns": ["api\\.humanloop\\.com|humanloop\\.com/[^\\s\"'<>]*(?:api|evals|prompt|logs)"]
126+
},
127+
{
128+
"name": "Weights & Biases Weave",
129+
"patterns": [
130+
"api\\.wandb\\.ai/[^\\s\"'<>]*(?:weave|traces|runs)|wandb\\.ai/[^\\s\"'<>]*(?:weave|traces|runs)|weave\\.wandb\\.ai"
131+
]
132+
},
133+
{
134+
"name": "Arize Phoenix",
135+
"patterns": ["phoenix\\.arize\\.com|app\\.arize\\.com|arize\\.com/[^\\s\"'<>]*(?:phoenix|tracing|observability)"]
136+
},
137+
{
138+
"name": "LangWatch",
139+
"patterns": ["app\\.langwatch\\.ai|api\\.langwatch\\.ai|langwatch\\.ai/[^\\s\"'<>]*(?:traces|analytics|api)"]
140+
},
141+
{
142+
"name": "Portkey AI Gateway",
143+
"patterns": ["api\\.portkey\\.ai|gateway\\.portkey\\.ai|portkey\\.ai/[^\\s\"'<>]*(?:gateway|api|logs)"]
144+
},
145+
{
146+
"name": "LiteLLM Proxy",
147+
"patterns": ["litellm\\.ai|litellm_proxy|litellm[^\\s\"'<>]*\\.(?:js|css|svg|png|webp)(?:\\?|$)"]
148+
},
149+
{
150+
"name": "PromptLayer",
151+
"patterns": ["api\\.promptlayer\\.com|promptlayer\\.com/[^\\s\"'<>]*(?:api|logs|prompt)"]
152+
},
153+
{
154+
"name": "Traceloop",
155+
"patterns": ["api\\.traceloop\\.com|traceloop\\.com/[^\\s\"'<>]*(?:sdk|traces|observability)|openllmetry"]
156+
},
157+
{
158+
"name": "Keywords AI",
159+
"patterns": ["api\\.keywordsai\\.co|keywordsai\\.co/[^\\s\"'<>]*(?:api|gateway|logs|traces)"]
160+
},
161+
{
162+
"name": "Maxim AI",
163+
"patterns": ["app\\.getmaxim\\.ai|api\\.getmaxim\\.ai|getmaxim\\.ai/[^\\s\"'<>]*(?:evals|simulation|observability)"]
164+
},
165+
{
166+
"name": "Agenta",
167+
"patterns": ["agenta\\.ai|agenta[^\\s\"'<>]*\\.(?:js|css|svg|png|webp)(?:\\?|$)"]
168+
},
169+
{
170+
"name": "OpenPipe",
171+
"patterns": ["api\\.openpipe\\.ai|openpipe\\.ai/[^\\s\"'<>]*(?:api|logs|finetune|datasets)"]
172+
},
173+
{
174+
"name": "Vellum AI",
175+
"patterns": ["api\\.vellum\\.ai|vellum\\.ai/[^\\s\"'<>]*(?:workflows|evals|deployments|api)"]
176+
},
177+
{
178+
"name": "Parea AI",
179+
"patterns": ["api\\.parea\\.ai|parea\\.ai/[^\\s\"'<>]*(?:api|logs|experiments|evals)"]
180+
},
181+
{
182+
"name": "Literal AI",
183+
"patterns": ["literalai\\.com|literal\\.ai/[^\\s\"'<>]*(?:api|traces|logs)|api\\.literalai\\.com"]
184+
},
185+
{
186+
"name": "HoneyHive",
187+
"patterns": ["api\\.honeyhive\\.ai|honeyhive\\.ai/[^\\s\"'<>]*(?:api|traces|evals|observability)"]
188+
},
189+
{
190+
"name": "Laminar",
191+
"patterns": [
192+
"api\\.lmnr\\.ai|lmnr\\.ai/[^\\s\"'<>]*(?:traces|evals|observability|api)|laminar\\.ai/[^\\s\"'<>]*(?:traces|evals|observability)"
193+
]
194+
}
195+
]
196+
},
105197
{
106198
"defaults": {
107199
"kind": "大模型 API / 推理平台",

public/tech-links.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,26 @@
385385
"Langflow": "https://www.langflow.org",
386386
"Langfuse": "https://langfuse.com",
387387
"Promptfoo": "https://www.promptfoo.dev",
388+
"LangSmith": "https://www.langchain.com/langsmith",
389+
"Helicone": "https://www.helicone.ai",
390+
"Braintrust": "https://www.braintrust.dev",
391+
"Humanloop": "https://humanloop.com",
392+
"Weights & Biases Weave": "https://wandb.ai/site/weave",
393+
"Arize Phoenix": "https://phoenix.arize.com",
394+
"LangWatch": "https://langwatch.ai",
395+
"Portkey AI Gateway": "https://portkey.ai",
396+
"LiteLLM Proxy": "https://www.litellm.ai",
397+
"PromptLayer": "https://promptlayer.com",
398+
"Traceloop": "https://www.traceloop.com",
399+
"Keywords AI": "https://keywordsai.co",
400+
"Maxim AI": "https://www.getmaxim.ai",
401+
"Agenta": "https://agenta.ai",
402+
"OpenPipe": "https://openpipe.ai",
403+
"Vellum AI": "https://www.vellum.ai",
404+
"Parea AI": "https://www.parea.ai",
405+
"Literal AI": "https://www.literalai.com",
406+
"HoneyHive": "https://www.honeyhive.ai",
407+
"Laminar": "https://www.lmnr.ai",
388408
"Botpress": "https://botpress.com",
389409
"Rasa": "https://rasa.com",
390410
"Gradio": "https://www.gradio.app",

0 commit comments

Comments
 (0)