diff --git a/packages/app/public/logos/models/zai.svg b/packages/app/public/logos/models/zai.svg
new file mode 100644
index 00000000..92e22efc
--- /dev/null
+++ b/packages/app/public/logos/models/zai.svg
@@ -0,0 +1 @@
+
diff --git a/packages/app/public/logos/models/zhipu.svg b/packages/app/public/logos/models/zhipu.svg
deleted file mode 100644
index 0c6e61ce..00000000
--- a/packages/app/public/logos/models/zhipu.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/packages/app/public/logos/zai.svg b/packages/app/public/logos/zai.svg
new file mode 100644
index 00000000..1a47fd72
--- /dev/null
+++ b/packages/app/public/logos/zai.svg
@@ -0,0 +1 @@
+
diff --git a/packages/app/public/logos/zhipu-color.svg b/packages/app/public/logos/zhipu-color.svg
deleted file mode 100644
index 0c6e61ce..00000000
--- a/packages/app/public/logos/zhipu-color.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/packages/app/src/components/compare/agentx-compare-hero.tsx b/packages/app/src/components/compare/agentx-compare-hero.tsx
index c29ebe75..990fe456 100644
--- a/packages/app/src/components/compare/agentx-compare-hero.tsx
+++ b/packages/app/src/components/compare/agentx-compare-hero.tsx
@@ -14,7 +14,7 @@ import { CompareIndexTrackedLink } from './compare-index-tracked-link';
const MODEL_LOGOS: Record = {
'kimi-k3': '/logos/models/kimi.svg',
'deepseek-v4': '/logos/models/deepseek.svg',
- 'glm-5-2': '/logos/models/zhipu.svg',
+ 'glm-5-2': '/logos/models/zai.svg',
'minimax-m3': '/logos/models/minimax.svg',
'qwen-3-5': '/logos/models/qwen.svg',
};
diff --git a/packages/app/src/lib/data-mappings.ts b/packages/app/src/lib/data-mappings.ts
index d6dc04bf..cd27c192 100644
--- a/packages/app/src/lib/data-mappings.ts
+++ b/packages/app/src/lib/data-mappings.ts
@@ -179,7 +179,7 @@ const MODEL_CONFIG: Record = {
label: 'GLM5/5.1 744B',
prefix: 'glm5',
category: 'deprecated',
- logo: 'zhipu-color.svg',
+ logo: 'zai.svg',
},
// GLM-5.2 and GLM-5.3 share the same architecture and inference profile, so
// the selector presents both releases over the existing GLM-5.2 data bucket.
@@ -187,7 +187,7 @@ const MODEL_CONFIG: Record = {
label: 'GLM5.2/GLM5.3 744B',
prefix: 'glm5.2',
category: 'default',
- logo: 'zhipu-color.svg',
+ logo: 'zai.svg',
},
[Model.Qwen3_5]: {
label: 'Qwen3.5 397B',
diff --git a/packages/app/src/lib/model-logos.ts b/packages/app/src/lib/model-logos.ts
index c72c9aef..8d5d93d0 100644
--- a/packages/app/src/lib/model-logos.ts
+++ b/packages/app/src/lib/model-logos.ts
@@ -4,7 +4,7 @@
* Full-color logos render as-is in both themes. Shared by every surface that
* renders model/developer logos (`/model` pages, inference chart captions).
*/
-export const MONOCHROME_LOGO_FILES: ReadonlySet = new Set(['openai.svg']);
+export const MONOCHROME_LOGO_FILES: ReadonlySet = new Set(['openai.svg', 'zai.svg']);
/** Whether a logo file needs a dark-mode invert to stay visible. */
export function isMonochromeLogo(file: string): boolean {
@@ -29,7 +29,9 @@ export const MODEL_DEVELOPER_LOGOS: Record = {
'Moonshot AI': 'kimi-color.svg',
// OpenAI's brand mark is monochrome by design — no color variant exists.
OpenAI: 'openai.svg',
- 'Z.ai (Zhipu AI)': 'zhipu-color.svg',
+ // Z.ai (formerly Zhipu AI) rebranded from the blue dotted Zhipu mark to the
+ // Z.ai "Z" — monochrome by design, so it carries the dark-mode invert.
+ 'Z.ai (Zhipu AI)': 'zai.svg',
};
/** Logo filename under `/logos/` for a model developer, if one exists. */