feat(flutter): rename iAgent→我智能体,创建/删除→招募,拉近人机关系距离
- App title、登录页、导航Tab、通话页等全局将 iAgent 改为 我智能体 - 底部导航 Tab "我的创建" → "我的智能体" - 智能体语境下 "创建" → "招募":招募你的专属智能体、帮我招募一个... - tasks_page 空状态文案 "创建" → "新增"(非智能体语境保持语义准确) - 终端欢迎语、通知渠道描述同步更新 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
3453731bc8
commit
38594d6fd4
|
|
@ -13,7 +13,7 @@ class IT0App extends ConsumerWidget {
|
||||||
final themeMode = ref.watch(themeModeProvider);
|
final themeMode = ref.watch(themeModeProvider);
|
||||||
|
|
||||||
return MaterialApp.router(
|
return MaterialApp.router(
|
||||||
title: 'iAgent',
|
title: '我智能体',
|
||||||
theme: AppTheme.lightTheme,
|
theme: AppTheme.lightTheme,
|
||||||
darkTheme: AppTheme.darkTheme,
|
darkTheme: AppTheme.darkTheme,
|
||||||
themeMode: themeMode,
|
themeMode: themeMode,
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,7 @@ class _ScaffoldWithNavState extends ConsumerState<ScaffoldWithNav>
|
||||||
const NavigationDestination(
|
const NavigationDestination(
|
||||||
icon: Icon(Icons.smart_toy_outlined),
|
icon: Icon(Icons.smart_toy_outlined),
|
||||||
selectedIcon: Icon(Icons.smart_toy),
|
selectedIcon: Icon(Icons.smart_toy),
|
||||||
label: '我的创建',
|
label: '我的智能体',
|
||||||
),
|
),
|
||||||
NavigationDestination(
|
NavigationDestination(
|
||||||
icon: Badge(
|
icon: Badge(
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ class NotificationService {
|
||||||
const androidDetails = AndroidNotificationDetails(
|
const androidDetails = AndroidNotificationDetails(
|
||||||
'it0_notifications',
|
'it0_notifications',
|
||||||
'运维通知',
|
'运维通知',
|
||||||
channelDescription: 'iAgent 运维告警和通知',
|
channelDescription: '我智能体 运维告警和通知',
|
||||||
importance: Importance.high,
|
importance: Importance.high,
|
||||||
priority: Priority.high,
|
priority: Priority.high,
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -797,7 +797,7 @@ class _AgentCallPageState extends ConsumerState<AgentCallPage>
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
const Text('iAgent',
|
const Text('我智能体',
|
||||||
style: TextStyle(fontWeight: FontWeight.w600, fontSize: 15)),
|
style: TextStyle(fontWeight: FontWeight.w600, fontSize: 15)),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
Text(
|
Text(
|
||||||
|
|
@ -944,11 +944,11 @@ class _AgentCallPageState extends ConsumerState<AgentCallPage>
|
||||||
String get _statusText {
|
String get _statusText {
|
||||||
switch (_phase) {
|
switch (_phase) {
|
||||||
case _CallPhase.ringing:
|
case _CallPhase.ringing:
|
||||||
return 'iAgent 语音通话';
|
return '我智能体 语音通话';
|
||||||
case _CallPhase.connecting:
|
case _CallPhase.connecting:
|
||||||
return '连接中...';
|
return '连接中...';
|
||||||
case _CallPhase.active:
|
case _CallPhase.active:
|
||||||
return 'iAgent';
|
return '我智能体';
|
||||||
case _CallPhase.ended:
|
case _CallPhase.ended:
|
||||||
return '通话结束';
|
return '通话结束';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ class _LoginPageState extends ConsumerState<LoginPage> {
|
||||||
SvgPicture.asset('assets/icons/logo.svg', width: 96, height: 96),
|
SvgPicture.asset('assets/icons/logo.svg', width: 96, height: 96),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
const Text(
|
const Text(
|
||||||
'iAgent',
|
'我智能体',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: AppColors.textPrimary,
|
color: AppColors.textPrimary,
|
||||||
fontSize: 28,
|
fontSize: 28,
|
||||||
|
|
|
||||||
|
|
@ -527,7 +527,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||||
children: [
|
children: [
|
||||||
RobotAvatar(state: robotState, size: 32),
|
RobotAvatar(state: robotState, size: 32),
|
||||||
const SizedBox(width: 8),
|
const SizedBox(width: 8),
|
||||||
const Text('iAgent',
|
const Text('我智能体',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 16, fontWeight: FontWeight.w600)),
|
fontSize: 16, fontWeight: FontWeight.w600)),
|
||||||
],
|
],
|
||||||
|
|
@ -644,7 +644,7 @@ class _ChatPageState extends ConsumerState<ChatPage> {
|
||||||
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(
|
||||||
'开始与 iAgent 对话',
|
'开始与 我智能体 对话',
|
||||||
style: TextStyle(color: AppColors.textSecondary, fontSize: 16),
|
style: TextStyle(color: AppColors.textSecondary, fontSize: 16),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ class HomePage extends ConsumerWidget {
|
||||||
),
|
),
|
||||||
const SizedBox(height: 2),
|
const SizedBox(height: 2),
|
||||||
const Text(
|
const Text(
|
||||||
'iAgent 随时为你服务',
|
'我智能体 随时为你服务',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 12,
|
fontSize: 12,
|
||||||
color: AppColors.textSecondary,
|
color: AppColors.textSecondary,
|
||||||
|
|
@ -191,7 +191,7 @@ class _AgentStatusCard extends StatelessWidget {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
const Text(
|
const Text(
|
||||||
'iAgent',
|
'我智能体',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
|
|
@ -273,7 +273,7 @@ class _OfficialAgentsRow extends StatelessWidget {
|
||||||
|
|
||||||
static const _agents = [
|
static const _agents = [
|
||||||
_AgentCard(
|
_AgentCard(
|
||||||
name: 'iAgent 运维助手',
|
name: '我智能体 运维助手',
|
||||||
desc: '服务器管理、SSH 执行、日志分析',
|
desc: '服务器管理、SSH 执行、日志分析',
|
||||||
icon: Icons.dns_outlined,
|
icon: Icons.dns_outlined,
|
||||||
color: Color(0xFF6366F1),
|
color: Color(0xFF6366F1),
|
||||||
|
|
@ -433,7 +433,7 @@ class _MyAgentsPlaceholder extends StatelessWidget {
|
||||||
),
|
),
|
||||||
const SizedBox(height: 6),
|
const SizedBox(height: 6),
|
||||||
const Text(
|
const Text(
|
||||||
'点击下方机器人按钮,告诉 iAgent\n"帮我创建一个 OpenClaw 智能体"',
|
'点击下方机器人按钮,告诉 我智能体\n"帮我招募一个 OpenClaw 智能体"',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 13,
|
fontSize: 13,
|
||||||
color: AppColors.textSecondary,
|
color: AppColors.textSecondary,
|
||||||
|
|
@ -455,7 +455,7 @@ class _QuickTipsCard extends StatelessWidget {
|
||||||
const _QuickTipsCard();
|
const _QuickTipsCard();
|
||||||
|
|
||||||
static const _tips = [
|
static const _tips = [
|
||||||
'💬 "帮我创建一个监控 GitHub Actions 的智能体"',
|
'💬 "帮我招募一个监控 GitHub Actions 的智能体"',
|
||||||
'🔧 "把我的 OpenClaw 配置导出为 JSON"',
|
'🔧 "把我的 OpenClaw 配置导出为 JSON"',
|
||||||
'📊 "分析我的服务器最近7天的负载情况"',
|
'📊 "分析我的服务器最近7天的负载情况"',
|
||||||
'🛡️ "帮我设置每天凌晨2点自动备份数据库"',
|
'🛡️ "帮我设置每天凌晨2点自动备份数据库"',
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,7 @@ class MyAgentsPage extends ConsumerWidget {
|
||||||
backgroundColor: AppColors.background,
|
backgroundColor: AppColors.background,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
backgroundColor: AppColors.background,
|
backgroundColor: AppColors.background,
|
||||||
title: const Text('我的创建'),
|
title: const Text('我的智能体'),
|
||||||
actions: [
|
actions: [
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: const Icon(Icons.refresh_outlined),
|
icon: const Icon(Icons.refresh_outlined),
|
||||||
|
|
@ -146,21 +146,21 @@ class MyAgentsPage extends ConsumerWidget {
|
||||||
),
|
),
|
||||||
const SizedBox(height: 24),
|
const SizedBox(height: 24),
|
||||||
const Text(
|
const Text(
|
||||||
'创建你的专属智能体',
|
'招募你的专属智能体',
|
||||||
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold, color: AppColors.textPrimary),
|
style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold, color: AppColors.textPrimary),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 10),
|
const SizedBox(height: 10),
|
||||||
const Text(
|
const Text(
|
||||||
'通过与 iAgent 对话,你可以创建各种智能体:\nOpenClaw 编程助手、运维机器人、数据分析师...',
|
'通过与 我智能体 对话,你可以招募各种智能体:\nOpenClaw 编程助手、运维机器人、数据分析师...',
|
||||||
style: TextStyle(fontSize: 14, color: AppColors.textSecondary, height: 1.6),
|
style: TextStyle(fontSize: 14, color: AppColors.textSecondary, height: 1.6),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
),
|
),
|
||||||
const SizedBox(height: 36),
|
const SizedBox(height: 36),
|
||||||
_StepCard(step: '1', title: '点击下方机器人', desc: '打开与 iAgent 的对话窗口', icon: Icons.smart_toy_outlined, color: AppColors.primary),
|
_StepCard(step: '1', title: '点击下方机器人', desc: '打开与 我智能体 的对话窗口', icon: Icons.smart_toy_outlined, color: AppColors.primary),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
_StepCard(step: '2', title: '描述你想要的智能体', desc: '例如:"帮我创建一个 OpenClaw 编程助手"', icon: Icons.record_voice_over_outlined, color: const Color(0xFF0EA5E9)),
|
_StepCard(step: '2', title: '描述你想要的智能体', desc: '例如:"帮我招募一个 OpenClaw 编程助手"', icon: Icons.record_voice_over_outlined, color: const Color(0xFF0EA5E9)),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
_StepCard(step: '3', title: 'iAgent 自动部署', desc: '部署完成后出现在这里,通过 Telegram/WhatsApp 等渠道与它对话', icon: Icons.check_circle_outline, color: AppColors.success),
|
_StepCard(step: '3', title: '我智能体 自动部署', desc: '部署完成后出现在这里,通过 Telegram/WhatsApp 等渠道与它对话', icon: Icons.check_circle_outline, color: AppColors.success),
|
||||||
const SizedBox(height: 36),
|
const SizedBox(height: 36),
|
||||||
const _TemplatesSection(),
|
const _TemplatesSection(),
|
||||||
const SizedBox(height: 100),
|
const SizedBox(height: 100),
|
||||||
|
|
@ -433,7 +433,7 @@ class _TemplatesSection extends StatelessWidget {
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
const Text('热门模板(告诉 iAgent 你想要哪种)', style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: AppColors.textSecondary)),
|
const Text('热门模板(告诉 我智能体 你想要哪种)', style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: AppColors.textSecondary)),
|
||||||
const SizedBox(height: 12),
|
const SizedBox(height: 12),
|
||||||
GridView.count(
|
GridView.count(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
|
|
|
||||||
|
|
@ -175,7 +175,7 @@ class _StandingOrdersListBody extends StatelessWidget {
|
||||||
return const EmptyState(
|
return const EmptyState(
|
||||||
icon: Icons.rule_outlined,
|
icon: Icons.rule_outlined,
|
||||||
title: '暂无常驻指令',
|
title: '暂无常驻指令',
|
||||||
subtitle: '通过 iAgent 对话创建常驻指令',
|
subtitle: '通过 我智能体 对话新增常驻指令',
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return ListView.builder(
|
return ListView.builder(
|
||||||
|
|
|
||||||
|
|
@ -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('iAgent 远程终端\r\n');
|
_terminal.write('我智能体 远程终端\r\n');
|
||||||
_terminal.write('请选择服务器并点击连接。\r\n');
|
_terminal.write('请选择服务器并点击连接。\r\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue