前端架构概览
Nexent 的前端采用现代 React 技术构建,为 AI 智能体交互提供响应式和直观的用户界面。
技术栈
- 框架: Next.js 14 (App Router)
- 语言: TypeScript
- UI库: React + Tailwind CSS
- 状态管理: React Hooks
- 国际化: react-i18next
- HTTP客户端: Fetch API
目录结构
frontend/
├── app/ # Next.js App Router
│ └── [locale]/ # 国际化路由 (zh/en)
│ ├── chat/ # 聊天界面
│ │ ├── internal/ # 聊天核心逻辑
│ │ ├── layout/ # 聊天界面布局组件
│ │ └── streaming/ # 流式响应处理
│ ├── setup/ # 系统设置页面
│ │ ├── agentSetup/ # 代理配置
│ │ ├── knowledgeBaseSetup/ # 知识库配置
│ │ └── modelSetup/ # 模型配置
│ └── layout.tsx # 全局布局
├── components/ # 可复用UI组件
│ ├── providers/ # 上下文提供者
│ └── ui/ # 基础UI组件库
├── services/ # API服务层
│ ├── api.ts # API基础配置
│ ├── conversationService.ts # 对话服务
│ ├── agentConfigService.ts # 代理配置服务
│ ├── knowledgeBaseService.ts # 知识库服务
│ └── modelService.ts # 模型服务
├── hooks/ # 自定义React Hooks
├── lib/ # 工具库
├── types/ # TypeScript类型定义
├── public/ # 静态资源
│ └── locales/ # 国际化文件
└── middleware.ts # Next.js中间件
架构职责
展示层
- 用户界面和交互逻辑
- 基于组件的可复用架构
- 多设备响应式设计
服务层
- 封装API调用和数据转换
- 处理与后端服务的通信
- 管理错误处理和重试逻辑
状态管理
- 使用React Hooks管理组件状态
- Context提供者管理全局状态
- 流式响应的实时更新
国际化
- 支持中英文语言切换
- 动态语言切换
- 本地化内容和UI元素
路由管理
- 基于Next.js App Router
- 语言感知路由
- 动态路由生成
核心特性
实时聊天界面
- 流式响应处理
- 消息历史管理
- 多模态输入支持(文本、语音、图像)
配置管理
- 模型提供商配置
- 智能体行为自定义
- 知识库管理
响应式设计
- 移动优先方法
- 自适应布局
- 触摸友好交互
性能优化
- 服务器端渲染 (SSR)
- 静态站点生成 (SSG)
- 代码分割和懒加载
- 图像优化
开发工作流
设置
bash
cd frontend
npm install
npm run dev
生产构建
bash
npm run build
npm start
代码质量
- ESLint 代码检查
- Prettier 代码格式化
- TypeScript 类型安全
- Husky 预提交钩子
集成点
后端通信
- RESTful API 调用
- WebSocket 实时功能
- 身份验证和授权
- 错误处理和用户反馈
外部服务
- 模型提供商 API
- 文件上传和管理
- 语音处理集成
- 分析和监控
详细的开发指南和组件文档,请参阅 开发指南。