feat: rename app from IT0 to iAgent (我智能体)

Web Admin:
- Update browser title to "iAgent Admin Console"
- Translation: en appTitle "iAgent", zh appTitle "我智能体"
- Sidebar: en "iAgent Admin", zh "我智能体"
- Settings placeholder: "iAgent Platform" / "我智能体平台"
- Update alt tags on logo images

Flutter:
- MaterialApp title: "iAgent"
- Chat: "Ask iAgent..." / "Start a conversation with iAgent"
- Terminal: "iAgent Remote Terminal"
- Agent call: "iAgent Calling" / "iAgent"

Logo SVG: text changed from "AI AGENT" to "iAgent"

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-02-22 06:39:40 -08:00
parent 04150f41f5
commit 39c0d83424
19 changed files with 21 additions and 21 deletions

View File

@ -35,5 +35,5 @@
<rect x="192" y="244" width="16" height="30" rx="5" fill="#ffffff"/> <rect x="192" y="244" width="16" height="30" rx="5" fill="#ffffff"/>
<!-- Text --> <!-- Text -->
<text x="200" y="340" text-anchor="middle" font-family="'Helvetica Neue', Arial, sans-serif" font-size="24" font-weight="700" letter-spacing="6" fill="#3CC98C">AI AGENT</text> <text x="200" y="340" text-anchor="middle" font-family="'Helvetica Neue', Arial, sans-serif" font-size="28" font-weight="700" letter-spacing="4" fill="#3CC98C">iAgent</text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -111,7 +111,7 @@ export default function AcceptInvitePage() {
return ( return (
<div className="w-full max-w-md p-8 space-y-6 bg-card rounded-lg border"> <div className="w-full max-w-md p-8 space-y-6 bg-card rounded-lg border">
<div className="text-center"> <div className="text-center">
<img src="/icons/logo.svg" alt="IT0" className="w-20 h-20 mx-auto mb-2" /> <img src="/icons/logo.svg" alt="iAgent" className="w-20 h-20 mx-auto mb-2" />
<h1 className="text-3xl font-bold">{t('appTitle')}</h1> <h1 className="text-3xl font-bold">{t('appTitle')}</h1>
<p className="text-muted-foreground mt-2">{t('inviteTitle')}</p> <p className="text-muted-foreground mt-2">{t('inviteTitle')}</p>
</div> </div>

View File

@ -53,7 +53,7 @@ export default function LoginPage() {
return ( return (
<div className="w-full max-w-md p-8 space-y-6 bg-card rounded-lg border"> <div className="w-full max-w-md p-8 space-y-6 bg-card rounded-lg border">
<div className="text-center"> <div className="text-center">
<img src="/icons/logo.svg" alt="IT0" className="w-20 h-20 mx-auto mb-2" /> <img src="/icons/logo.svg" alt="iAgent" className="w-20 h-20 mx-auto mb-2" />
<h1 className="text-3xl font-bold">{t('appTitle')}</h1> <h1 className="text-3xl font-bold">{t('appTitle')}</h1>
<p className="text-muted-foreground mt-2">{t('adminConsole')}</p> <p className="text-muted-foreground mt-2">{t('adminConsole')}</p>
</div> </div>

View File

@ -71,7 +71,7 @@ export default function RegisterPage() {
return ( return (
<div className="w-full max-w-md p-8 space-y-6 bg-card rounded-lg border"> <div className="w-full max-w-md p-8 space-y-6 bg-card rounded-lg border">
<div className="text-center"> <div className="text-center">
<img src="/icons/logo.svg" alt="IT0" className="w-20 h-20 mx-auto mb-2" /> <img src="/icons/logo.svg" alt="iAgent" className="w-20 h-20 mx-auto mb-2" />
<h1 className="text-3xl font-bold">{t('appTitle')}</h1> <h1 className="text-3xl font-bold">{t('appTitle')}</h1>
<p className="text-muted-foreground mt-2">{t('createAccount')}</p> <p className="text-muted-foreground mt-2">{t('createAccount')}</p>
</div> </div>

View File

@ -6,7 +6,7 @@ import { Providers } from './providers';
const inter = Inter({ subsets: ['latin'] }); const inter = Inter({ subsets: ['latin'] });
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'IT0 Admin Console', title: 'iAgent Admin Console',
description: 'IT Operations Intelligent Agent - Administration Console', description: 'IT Operations Intelligent Agent - Administration Console',
icons: { icon: '/icons/favicon.svg', apple: '/icons/logo.svg' }, icons: { icon: '/icons/favicon.svg', apple: '/icons/logo.svg' },
}; };

View File

@ -1,5 +1,5 @@
{ {
"appTitle": "IT0", "appTitle": "iAgent",
"adminConsole": "Admin Console", "adminConsole": "Admin Console",
"signIn": "Sign In", "signIn": "Sign In",
"signingIn": "Signing in...", "signingIn": "Signing in...",

View File

@ -11,7 +11,7 @@
"general": { "general": {
"title": "General Settings", "title": "General Settings",
"platformName": "Platform Name", "platformName": "Platform Name",
"platformNamePlaceholder": "IT0 Platform", "platformNamePlaceholder": "iAgent Platform",
"defaultTimezone": "Default Timezone", "defaultTimezone": "Default Timezone",
"defaultLanguage": "Default Language", "defaultLanguage": "Default Language",
"uiLanguage": "Interface Language", "uiLanguage": "Interface Language",

View File

@ -1,5 +1,5 @@
{ {
"appName": "IT0 Admin", "appName": "iAgent Admin",
"appSubtitle": "Operations Console", "appSubtitle": "Operations Console",
"dashboard": "Dashboard", "dashboard": "Dashboard",
"agentConfig": "Agent Config", "agentConfig": "Agent Config",

View File

@ -1,5 +1,5 @@
{ {
"appTitle": "IT0", "appTitle": "我智能体",
"adminConsole": "管理控制台", "adminConsole": "管理控制台",
"signIn": "登录", "signIn": "登录",
"signingIn": "登录中...", "signingIn": "登录中...",

View File

@ -11,7 +11,7 @@
"general": { "general": {
"title": "通用设置", "title": "通用设置",
"platformName": "平台名称", "platformName": "平台名称",
"platformNamePlaceholder": "IT0 平台", "platformNamePlaceholder": "我智能体平台",
"defaultTimezone": "默认时区", "defaultTimezone": "默认时区",
"defaultLanguage": "默认语言", "defaultLanguage": "默认语言",
"uiLanguage": "界面语言", "uiLanguage": "界面语言",

View File

@ -1,5 +1,5 @@
{ {
"appName": "IT0 管理", "appName": "我智能体",
"appSubtitle": "运维控制台", "appSubtitle": "运维控制台",
"dashboard": "仪表盘", "dashboard": "仪表盘",
"agentConfig": "智能体配置", "agentConfig": "智能体配置",

View File

@ -167,7 +167,7 @@ export function Sidebar() {
{/* Logo area */} {/* Logo area */}
<div className={cn('border-b flex items-center', collapsed ? 'px-3 py-4 justify-center' : 'px-4 py-4')}> <div className={cn('border-b flex items-center', collapsed ? 'px-3 py-4 justify-center' : 'px-4 py-4')}>
<div className="flex items-center gap-2.5 min-w-0"> <div className="flex items-center gap-2.5 min-w-0">
<img src="/icons/favicon.svg" alt="IT0" className="w-8 h-8 shrink-0" /> <img src="/icons/favicon.svg" alt="iAgent" className="w-8 h-8 shrink-0" />
{!collapsed && ( {!collapsed && (
<div className="min-w-0"> <div className="min-w-0">
<h1 className="text-sm font-semibold tracking-tight truncate">{t('appName')}</h1> <h1 className="text-sm font-semibold tracking-tight truncate">{t('appName')}</h1>

View File

@ -35,5 +35,5 @@
<rect x="192" y="244" width="16" height="30" rx="5" fill="#ffffff"/> <rect x="192" y="244" width="16" height="30" rx="5" fill="#ffffff"/>
<!-- Text --> <!-- Text -->
<text x="200" y="340" text-anchor="middle" font-family="'Helvetica Neue', Arial, sans-serif" font-size="24" font-weight="700" letter-spacing="6" fill="#3CC98C">AI AGENT</text> <text x="200" y="340" text-anchor="middle" font-family="'Helvetica Neue', Arial, sans-serif" font-size="28" font-weight="700" letter-spacing="4" fill="#3CC98C">iAgent</text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -11,7 +11,7 @@ class IT0App extends ConsumerWidget {
final router = ref.watch(routerProvider); final router = ref.watch(routerProvider);
return MaterialApp.router( return MaterialApp.router(
title: 'IT0 - Operations Agent', title: 'iAgent',
theme: AppTheme.darkTheme, theme: AppTheme.darkTheme,
routerConfig: router, routerConfig: router,
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,

View File

@ -261,11 +261,11 @@ class _AgentCallPageState extends ConsumerState<AgentCallPage>
String get _statusText { String get _statusText {
switch (_phase) { switch (_phase) {
case _CallPhase.ringing: case _CallPhase.ringing:
return 'IT0 Agent Calling'; return 'iAgent Calling';
case _CallPhase.connecting: case _CallPhase.connecting:
return 'Connecting...'; return 'Connecting...';
case _CallPhase.active: case _CallPhase.active:
return 'IT0 Agent'; return 'iAgent';
case _CallPhase.ended: case _CallPhase.ended:
return 'Call Ended'; return 'Call Ended';
} }

View File

@ -358,7 +358,7 @@ class _ChatPageState extends ConsumerState<ChatPage> with SingleTickerProviderSt
Icon(Icons.smart_toy_outlined, size: 64, color: AppColors.textMuted), Icon(Icons.smart_toy_outlined, size: 64, color: AppColors.textMuted),
const SizedBox(height: 16), const SizedBox(height: 16),
Text( Text(
'Start a conversation with IT0 Agent', 'Start a conversation with iAgent',
style: TextStyle(color: AppColors.textSecondary, fontSize: 16), style: TextStyle(color: AppColors.textSecondary, fontSize: 16),
), ),
const SizedBox(height: 8), const SizedBox(height: 8),
@ -423,7 +423,7 @@ class _ChatPageState extends ConsumerState<ChatPage> with SingleTickerProviderSt
child: TextField( child: TextField(
controller: _messageController, controller: _messageController,
decoration: const InputDecoration( decoration: const InputDecoration(
hintText: 'Ask IT0 Agent...', hintText: 'Ask iAgent...',
border: OutlineInputBorder( border: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(24)), borderRadius: BorderRadius.all(Radius.circular(24)),
), ),

View File

@ -56,7 +56,7 @@ class _TerminalPageState extends ConsumerState<TerminalPage> {
super.initState(); super.initState();
_terminal = Terminal(maxLines: 10000); _terminal = Terminal(maxLines: 10000);
_terminal.onOutput = _onTerminalInput; _terminal.onOutput = _onTerminalInput;
_terminal.write('IT0 Remote Terminal\r\n'); _terminal.write('iAgent Remote Terminal\r\n');
_terminal.write('Select a server and press Connect to begin.\r\n'); _terminal.write('Select a server and press Connect to begin.\r\n');
} }

View File

@ -1,5 +1,5 @@
name: it0_app name: it0_app
description: IT0 - Server Cluster Operations Intelligent Agent description: iAgent - Server Cluster Operations Intelligent Agent
publish_to: 'none' publish_to: 'none'
version: 1.0.0+1 version: 1.0.0+1

View File

@ -35,5 +35,5 @@
<rect x="192" y="244" width="16" height="30" rx="5" fill="#ffffff"/> <rect x="192" y="244" width="16" height="30" rx="5" fill="#ffffff"/>
<!-- Text --> <!-- Text -->
<text x="200" y="340" text-anchor="middle" font-family="'Helvetica Neue', Arial, sans-serif" font-size="24" font-weight="700" letter-spacing="6" fill="#3CC98C">AI AGENT</text> <text x="200" y="340" text-anchor="middle" font-family="'Helvetica Neue', Arial, sans-serif" font-size="28" font-weight="700" letter-spacing="4" fill="#3CC98C">iAgent</text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB