建科·小智客户端项目概述
业务目标
- 提供统一的多AI平台接入能力
- 实现企业级智能问答解决方案
- 支持文档辅助分析和知识检索
- 优化招聘流程中的信息交互
核心功能
多AI平台集成
- 支持BigModel和DeepSeek双引擎
- 可扩展的AI服务提供商接入架构
- 统一API代理层实现
智能对话系统
- 多轮对话上下文管理
- 自动会话摘要生成
- 智能问题推荐
- 流式消息处理
企业级特性
- 招聘信息智能问答
- 文档辅助分析
- 多语言支持(20+语言)
- 响应式设计适配多端
技术架构
前端架构
┌───────────────────────────────────────────────┐
│ UI层 │
│ ┌─────────────┐ ┌─────────────┐ ┌────────┐ │
│ │ 聊天组件 │ │ 设置面板 │ │ 导出 │ │
│ └─────────────┘ └─────────────┘ └────────┘ │
├───────────────────────────────────────────────┤
│ 状态管理层 │
│ ┌─────────────────────────────────────────┐ │
│ │ Zustand Store │ │
│ │ ┌────────┐ ┌────────┐ ┌──────────────┐ │ │
│ │ │ 聊天状态│ │ 配置状态│ │ 全局状态 │ │ │
│ │ └────────┘ └────────┘ └──────────────┘ │ │
│ └─────────────────────────────────────────┘ │
├───────────────────────────────────────────────┤
│ 服务层 │
│ ┌─────────────────────────────────────────┐ │
│ │ API代理层 │ │
│ │ ┌───────┐ ┌───────┐ ┌────────────────┐ │ │
│ │ │阿里云 │ │OpenAI │ │ 自定义大模型 │ │ │
│ │ └───────┘ └───────┘ └────────────────┘ │ │
│ └─────────────────────────────────────────┘ │
└───────────────────────────────────────────────┘
技术栈
- 前端框架: Next.js 14 + React 18
- 状态管理: Zustand
- UI组件库: Ant Design
- 构建工具: Webpack 5
- 桌面端: Tauri集成
- 样式: SCSS模块化
数据实体
核心数据模型
classDiagram
class ChatSession {
+String id
+String topic
+ChatMessage[] messages
+ChatStat stat
+Mask mask
+Date lastUpdate
}
class ChatMessage {
+String id
+String role
+String content
+Date date
+Boolean streaming
+String model
}
class Mask {
+String name
+String avatar
+ModelConfig modelConfig
+String[] context
}
ChatSession "1" *-- "many" ChatMessage
ChatSession "1" -- "1" Mask
业务流程
典型用户交互流程
sequenceDiagram
participant 用户
participant UI组件
participant 状态管理
participant API服务
用户->>UI组件: 输入问题
UI组件->>状态管理: 更新输入状态
用户->>UI组件: 提交问题
UI组件->>API服务: 发送请求
API服务->>状态管理: 流式返回响应
状态管理->>UI组件: 实时更新消息
UI组件->>用户: 显示AI回复
状态管理->>状态管理: 自动生成会话摘要
部署架构
- 支持三种构建模式:
- Standalone: 独立部署模式
- Export: 静态导出模式
- 默认模式: 完整服务端渲染
扩展能力
- 插件系统: 支持功能模块动态扩展
- 配置中心: 运行时配置热更新
- 多模型路由: 根据请求自动路由到最优AI服务
开发与运行
安装依赖
npm ci
开发模式
npm run dev
生产构建
npm run build
启动生产服务器
npm run start
桌面应用构建 (Tauri)
npm run tauri:dev # 开发模式
npm run tauri:build # 生产构建