From 7c6554036652f5e8d5bc5d703c90da2820965495 Mon Sep 17 00:00:00 2001 From: john Date: Fri, 7 Aug 2026 19:24:09 +0800 Subject: [PATCH] Rename user-facing product label from TKMind to Memind. Centralize the display name so nav, login, and page chrome stay consistent ahead of the 103 release. Co-authored-by: Cursor --- index.html | 2 +- src/components/AuthView.tsx | 5 +++-- src/components/ChatView.tsx | 10 +++++++++- src/components/ChatWelcomePanel.tsx | 7 ++++--- src/components/FeedbackSubmitView.tsx | 2 +- src/components/SpaceChatPanel.tsx | 3 ++- src/components/TKMindAvatar.tsx | 3 ++- src/utils/appBrand.ts | 5 +++++ 8 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 src/utils/appBrand.ts diff --git a/index.html b/index.html index 48cd2fc..e216820 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - TKMind + Memind
diff --git a/src/components/AuthView.tsx b/src/components/AuthView.tsx index b6384c1..1d65770 100644 --- a/src/components/AuthView.tsx +++ b/src/components/AuthView.tsx @@ -16,6 +16,7 @@ import { readWechatAuthError, readWechatPendingToken, } from '../utils/wechat'; +import { APP_DISPLAY_NAME } from '../utils/appBrand'; import { TKMindAvatar } from './TKMindAvatar'; import { resolvePlazaHomeUrl } from '../utils/publicUrl'; import { WechatBindGate } from './WechatBindGate'; @@ -26,7 +27,7 @@ import { WechatOpenGuide } from './WechatOpenGuide'; type Mode = 'login' | 'register' | 'reset'; const MODE_META: Record = { - login: { title: 'TKMind', desc: '登录你的账号' }, + login: { title: APP_DISPLAY_NAME, desc: '登录你的账号' }, register: { title: '创建账号', desc: '填写信息完成注册' }, reset: { title: '重置密码', desc: '验证注册邮箱后设置新密码' }, }; @@ -239,7 +240,7 @@ export function AuthView({ } const meta = legacyMode - ? { title: 'TKMind', desc: '内部访问入口' } + ? { title: APP_DISPLAY_NAME, desc: '内部访问入口' } : fromPlaza ? { ...MODE_META[mode], diff --git a/src/components/ChatView.tsx b/src/components/ChatView.tsx index 47550d5..4c1fc32 100644 --- a/src/components/ChatView.tsx +++ b/src/components/ChatView.tsx @@ -8,6 +8,7 @@ import { getSessionDisplayName } from '../utils/sessions'; import { isH5OrWechatClient } from '../utils/wechat'; import { BalanceRing } from './BalanceRing'; import { HistorySidebar } from './HistorySidebar'; +import { APP_DISPLAY_NAME } from '../utils/appBrand'; import { TKMindAvatar } from './TKMindAvatar'; import { ChatPanel } from './ChatPanel'; import { ChatLoadingSpinner } from './ChatLoadingSpinner'; @@ -163,6 +164,7 @@ export function ChatView({ user, capabilities, grantedSkills, + onGrantedSkillsUpdate, onLogout, onOpenSpace, onOpenPage, @@ -173,6 +175,7 @@ export function ChatView({ capabilities?: CapabilityMap; grantedSkills?: string[]; onUserUpdate?: (user: PortalUser) => void; + onGrantedSkillsUpdate?: (skills: string[]) => void; onLogout?: () => void; onOpenSpace?: (target?: { categoryCode?: MindSpaceSaveCategory; pageId?: string }) => void; onOpenPage?: (pageId: string) => void; @@ -213,6 +216,7 @@ export function ChatView({ subscription, openRecharge, openSubscribe, + completeRecharge, uploadChatImage, uploadChatAttachment, followAgentRun, @@ -357,7 +361,7 @@ export function ChatView({
-
{user?.displayName ?? 'TKMind'}
+
{user?.displayName ?? APP_DISPLAY_NAME}
{isConnectingTitle ? : null} {sessionTitle} @@ -569,6 +573,10 @@ export function ChatView({ session={session} capabilities={capabilities} grantedSkills={grantedSkills} + balanceCents={balanceCents ?? 0} + onBalanceUpdate={(nextBalance) => completeRecharge(nextBalance)} + onGrantedSkillsUpdate={onGrantedSkillsUpdate} + onOpenRecharge={() => openRecharge(false)} onSubmit={(text, imageUrls, previewImageUrls, options) => void submit( text, diff --git a/src/components/ChatWelcomePanel.tsx b/src/components/ChatWelcomePanel.tsx index 358c0c3..ea3a92d 100644 --- a/src/components/ChatWelcomePanel.tsx +++ b/src/components/ChatWelcomePanel.tsx @@ -6,6 +6,7 @@ import { FileText, Bot, } from 'lucide-react'; +import { APP_DISPLAY_NAME, APP_DISPLAY_TAGLINE } from '../utils/appBrand'; import { TKMindAvatar } from './TKMindAvatar'; const features = [ @@ -21,7 +22,7 @@ export function ChatWelcomePanel({ compact }: { compact?: boolean }) { return (
-

TKMind

+

{APP_DISPLAY_NAME}

继续和空间里的 Agent 对话

); @@ -45,7 +46,7 @@ export function ChatWelcomePanel({ compact }: { compact?: boolean }) { transition={{ delay: 0.15 }} className="welcome-panel-brand" > - MeMind 智趣 + {APP_DISPLAY_TAGLINE} - 旅行攻略、行业分析、活动页面、心情记录……从一个念头开始,MeMind 帮你把想法变成可用的成果。 + 旅行攻略、行业分析、活动页面、心情记录……从一个念头开始,{APP_DISPLAY_NAME} 帮你把想法变成可用的成果。
-

帮助我们改进 TKMind

+

帮助我们改进 Memind

提交 Bug 或需求

你可以用文字描述、上传截图,或点击麦克风口述问题。我们会自动附带当前页面与设备信息,便于定位问题。 diff --git a/src/components/SpaceChatPanel.tsx b/src/components/SpaceChatPanel.tsx index d1f7f4f..7ddcc0c 100644 --- a/src/components/SpaceChatPanel.tsx +++ b/src/components/SpaceChatPanel.tsx @@ -7,6 +7,7 @@ import type { MindSpaceChatContext, MindSpaceSaveCategory, PortalUser, Message } import { formatContextChip } from '../utils/mindspaceChatContext'; import { shouldShowChatMessage } from '../utils/message'; import { ChatPanel } from './ChatPanel'; +import { APP_DISPLAY_NAME } from '../utils/appBrand'; import { TKMindAvatar } from './TKMindAvatar'; import { GoalRunAwaitingBanner } from './GoalRunAwaitingBanner'; @@ -19,7 +20,7 @@ export function SpaceChatPanel({ onPageSaved, chatBridge, hideOpenFullChat = false, - title = 'TKMind', + title = APP_DISPLAY_NAME, prefillMessages = [], }: { open: boolean; diff --git a/src/components/TKMindAvatar.tsx b/src/components/TKMindAvatar.tsx index b3cdb4a..75a35e7 100644 --- a/src/components/TKMindAvatar.tsx +++ b/src/components/TKMindAvatar.tsx @@ -1,3 +1,4 @@ +import { APP_DISPLAY_NAME } from '../utils/appBrand'; import tkmindAvatar from '../assets/tkmind-avatar.png'; type TKMindAvatarProps = { @@ -13,7 +14,7 @@ export function TKMindAvatar({ className = '', size = 'sm' }: TKMindAvatarProps) className={`tkmind-avatar ${sizeClass} msg-avatar msg-avatar-assistant ${className}`.trim()} aria-hidden="true" > - TKMind + {APP_DISPLAY_NAME}

); } diff --git a/src/utils/appBrand.ts b/src/utils/appBrand.ts new file mode 100644 index 0000000..8e8cbb5 --- /dev/null +++ b/src/utils/appBrand.ts @@ -0,0 +1,5 @@ +/** User-facing product name shown in nav, login, and page chrome. */ +export const APP_DISPLAY_NAME = 'Memind'; + +/** Branded tagline suffix used on welcome and marketing surfaces. */ +export const APP_DISPLAY_TAGLINE = `${APP_DISPLAY_NAME} 智趣`;