






















@@ -14,6 +14,7 @@ import {
1414renderMessageGroup,
1515renderReadingIndicatorGroup,
1616renderStreamingGroup,
17+resolveAssistantTextAvatar,
1718} from "../chat/grouped-render.ts";
1819import { InputHistory } from "../chat/input-history.ts";
1920import { PinnedMessages } from "../chat/pinned-messages.ts";
@@ -475,12 +476,8 @@ const WELCOME_SUGGESTIONS = [
475476476477function renderWelcomeState(props: ChatProps): TemplateResult {
477478const name = props.assistantName || "Assistant";
478-const avatar = resolveChatAvatarRenderUrl(props.assistantAvatarUrl, {
479-identity: {
480-avatar: props.assistantAvatar ?? undefined,
481-avatarUrl: props.assistantAvatarUrl ?? undefined,
482-},
483-});
479+const avatar = resolveAssistantAvatarUrl(props);
480+const avatarText = avatar ? null : resolveAssistantTextAvatar(props.assistantAvatar);
484481const logoUrl = agentLogoUrl(props.basePath ?? "");
485482486483return html`
@@ -492,9 +489,13 @@ function renderWelcomeState(props: ChatProps): TemplateResult {
492489 alt=${name}
493490 style="width:56px; height:56px; border-radius:50%; object-fit:cover;"
494491 />`
495- : html`<div class="agent-chat__avatar agent-chat__avatar--logo">
496- <img src=${logoUrl} alt="OpenClaw" />
497- </div>`}
492+ : avatarText
493+ ? html`<div class="agent-chat__avatar agent-chat__avatar--text" aria-label=${name}>
494+ ${avatarText}
495+ </div>`
496+ : html`<div class="agent-chat__avatar agent-chat__avatar--logo">
497+ <img src=${logoUrl} alt="OpenClaw" />
498+ </div>`}
498499 <h2>${name}</h2>
499500 <div class="agent-chat__badges">
500501 <span class="agent-chat__badge"><img src=${logoUrl} alt="" /> Ready to chat</span>
@@ -520,6 +521,23 @@ function renderWelcomeState(props: ChatProps): TemplateResult {
520521 `;
521522}
522523524+function resolveAssistantAvatarUrl(
525+props: Pick<ChatProps, "assistantAvatar" | "assistantAvatarUrl">,
526+): string | null {
527+return resolveChatAvatarRenderUrl(props.assistantAvatarUrl, {
528+identity: {
529+avatar: props.assistantAvatar ?? undefined,
530+avatarUrl: props.assistantAvatarUrl ?? undefined,
531+},
532+});
533+}
534+535+function resolveAssistantDisplayAvatar(
536+props: Pick<ChatProps, "assistantAvatar" | "assistantAvatarUrl">,
537+): string | null {
538+return resolveAssistantAvatarUrl(props) ?? resolveAssistantTextAvatar(props.assistantAvatar);
539+}
540+523541function renderSearchBar(requestUpdate: () => void): TemplateResult | typeof nothing {
524542if (!vs.searchOpen) {
525543return nothing;
@@ -755,13 +773,7 @@ export function renderChat(props: ChatProps) {
755773const showReasoning = props.showThinking && reasoningLevel !== "off";
756774const assistantIdentity = {
757775name: props.assistantName,
758-avatar:
759-resolveChatAvatarRenderUrl(props.assistantAvatarUrl, {
760-identity: {
761-avatar: props.assistantAvatar ?? undefined,
762-avatarUrl: props.assistantAvatarUrl ?? undefined,
763-},
764-}) ?? null,
776+avatar: resolveAssistantDisplayAvatar(props),
765777};
766778const pinned = getPinnedMessages(props.sessionKey);
767779const deleted = getDeletedMessages(props.sessionKey);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。