From d74a0cb34c8a445abf2e66ed5d3d82b9cbd63ffb Mon Sep 17 00:00:00 2001 From: Naiyuan Qing <145280634+NevilleQingNY@users.noreply.github.com> Date: Thu, 18 Jun 2026 10:19:28 +0800 Subject: [PATCH] fix(runtimes): give Tencent CodeBuddy its own provider logo (MUL-3394) (#4279) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The `codebuddy` case in ProviderLogo was aliased to ClaudeLogo when the backend was integrated (#3186), so CodeBuddy runtimes rendered the Claude mark and were visually indistinguishable from Claude in the runtime list, runtime detail, agent runtime picker, and onboarding. Add a dedicated CodeBuddyLogo using the official mark shipped in Tencent's own @tencent-ai/codebuddy-code CLI package (dist/web-ui/logo.svg) — the same CLI this runtime spawns. The artwork overflows the 24×24 box and is cropped by a clipPath whose id is per-instance (useId), mirroring KiroLogo, so multiple logos on one page don't collide on a shared id. Presentation-only: no provider string, backend/API, DB, daemon/runtime, CLI, mobile, or copy changes. Shared views package, so web + desktop both pick it up. Co-authored-by: Claude Opus 4.8 Co-authored-by: multica-agent --- .../runtimes/components/provider-logo.tsx | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/packages/views/runtimes/components/provider-logo.tsx b/packages/views/runtimes/components/provider-logo.tsx index 2af22ddee..8cfb0f46a 100644 --- a/packages/views/runtimes/components/provider-logo.tsx +++ b/packages/views/runtimes/components/provider-logo.tsx @@ -10,6 +10,52 @@ function ClaudeLogo({ className }: { className: string }) { ); } +// Tencent CodeBuddy — official mark from the @tencent-ai/codebuddy-code CLI +// package (dist/web-ui/logo.svg), the same CLI this runtime spawns. Dark +// rounded tile + white "claw" glyph. The artwork overflows the 24×24 box and +// is cropped by a clipPath; the clip id is per-instance (useId) so multiple +// logos on one page don't collide on a shared id. +function CodeBuddyLogo({ className }: { className: string }) { + const clipId = `codebuddy-logo-clip-${useId().replace(/:/g, "")}`; + + return ( + + + + + + + + + + + + + + ); +} + // Codex (OpenAI) — official mark, sourced from Bootstrap Icons (bi-openai) function CodexLogo({ className }: { className: string }) { return ( @@ -203,7 +249,7 @@ export function ProviderLogo({ case "claude": return ; case "codebuddy": - return ; + return ; case "codex": return ; case "opencode":