From c1168659c58b962029f99ebbb9db97f87ba60560 Mon Sep 17 00:00:00 2001 From: ProcyonNAN <3189960265@qq.com> Date: Wed, 27 May 2026 19:00:22 +0800 Subject: [PATCH 1/2] [Fix] add vision model patterns to image input whitelist --- packages/shared-adapter/src/client.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/shared-adapter/src/client.ts b/packages/shared-adapter/src/client.ts index 1015a4350..8c1482804 100644 --- a/packages/shared-adapter/src/client.ts +++ b/packages/shared-adapter/src/client.ts @@ -182,9 +182,13 @@ const imageModelMatchers: ((text: string) => boolean)[] = [ 'gpt-4.1', 'gpt-5', 'glm-*v', + 'glm-4.1v', + 'glm-4.6v', + 'glm-5v', 'kimi-k2.5', 'step3', - 'grok-4' + 'grok-4', + 'ocr' ].map(createGlobMatcher) // mimo-v2.5 supports image/audio; mimo-v2.5-pro does NOT (text only). From a8de4e7ee8e61c31268a510f44613469257a1401 Mon Sep 17 00:00:00 2001 From: ProcyonNAN <3189960265@qq.com> Date: Wed, 27 May 2026 23:12:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E5=9B=BE=E5=83=8F?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E7=99=BD=E5=90=8D=E5=8D=95=E9=80=9A=E9=85=8D?= =?UTF-8?q?=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 带 * 的白名单项现在可以匹配模型名中的分隔片段,不再要求完整模型名匹配。同时在转换 glob pattern 前转义正则特殊字符,并增加 kimi-k2.* 以覆盖 kimi-k2.x 系列版本模型。 --- packages/shared-adapter/src/client.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/shared-adapter/src/client.ts b/packages/shared-adapter/src/client.ts index 8c1482804..867191cf2 100644 --- a/packages/shared-adapter/src/client.ts +++ b/packages/shared-adapter/src/client.ts @@ -153,7 +153,10 @@ function createGlobMatcher(pattern: string): (text: string) => boolean { return (text: string) => text.includes(pattern) } - const regex = new RegExp('^' + pattern.replace(/\*/g, '.*') + '$') + const source = pattern + .replace(/[.+?^${}()|[\]\\]/g, '\\$&') + .replace(/\*/g, '.*') + const regex = new RegExp(`(^|[:/_-])${source}($|[:/_-])`) return (text: string) => regex.test(text) } @@ -182,10 +185,7 @@ const imageModelMatchers: ((text: string) => boolean)[] = [ 'gpt-4.1', 'gpt-5', 'glm-*v', - 'glm-4.1v', - 'glm-4.6v', - 'glm-5v', - 'kimi-k2.5', + 'kimi-k2.*', 'step3', 'grok-4', 'ocr'