Skip to content

技术栈

驱动 IfAI 的技术概述。

前端技术栈

核心框架

技术版本用途
React19.1.0UI 框架
TypeScript5.8.3类型安全
Vite7.0.4构建工具

主要库

版本用途
Monaco Editor0.55.0代码编辑器组件
Zustand5.0.9状态管理
TailwindCSS3.4.17样式
Framer Motion12.23.26动画
i18next23.x国际化
React Virtuoso4.x虚拟滚动
@tanstack/react-virtual3.x列表虚拟化

开发工具

工具版本用途
Vitest4.0.16单元测试
Playwright1.57.0E2E 测试
ESLint9.x代码检查
Prettier3.x代码格式化

后端技术栈

核心框架

技术版本用途
Tauri2.0桌面框架
Rust1.80+后端语言
Tokio1.48.x异步运行时

主要 Crate

Crate用途
serde序列化
serde_jsonJSON 处理
tree-sitter代码解析
portable-pty终端管理
reqwestHTTP 客户端
llama-cpp-2本地 LLM 推理(可选)
fastembed向量嵌入(可选)

AI/ML 技术栈

云端提供商

提供商模型用途
OpenAIGPT-4、GPT-3.5通用 AI
AnthropicClaude 3.5 Sonnet高级推理
DeepSeekDeepSeek-V3成本效益
智谱GLM-4.7中文支持
KimiMoonshot-v1长上下文

本地模型

模型大小用途
Qwen2.5-Coder0.5B - 7B代码生成
Llama 3.21B - 3B通用
CodeLlama各种代码专用

集成

  • Ollama:本地模型运行时
  • GGUF 格式:模型量化
  • llama.cpp:推理引擎

桌面集成

Tauri 2.0 功能

功能描述
窗口管理多窗口支持
系统托盘后台运行
原生菜单平台菜单
文件系统作用域文件访问
Shell 访问命令执行

平台支持

平台状态备注
macOS✅ 完全支持Apple Silicon 优化
Windows✅ 完全支持仅 x64
Linux✅ 完全支持AppImage 格式

开发环境

要求

工具版本
Node.js18.0+
Rust1.70+
Git最新
npm/pnpm最新

构建系统

bash
# 开发
npm run tauri:dev

# 生产构建
npm run tauri:build

# 社区版 vs 商业版
npm run build:community    # 开源版本
npm run build:commercial   # 完整功能版本

架构决策

为什么选择 Tauri?

  • 轻量级:比 Electron 更小的打包
  • 安全:最小权限原则
  • Rust 性能:重任务的本地速度
  • 现代:活跃的开发和生态系统

为什么选择 React 19?

  • 最新功能:并发渲染、actions
  • 性能:改进的渲染优化
  • 生态系统:最大的 UI 库生态系统

为什么选择 Monaco Editor?

  • VS Code 的编辑器:经过实战检验
  • 语言支持:35+ 种语言
  • 功能:IntelliSense、重构、导航
  • 可定制:可扩展的架构

为什么选择 Zustand?

  • 简单:最少的样板代码
  • 快速:没有订阅就不重新渲染
  • TypeScript:一流支持
  • 小巧:压缩后约 1KB

性能优化

前端

  • 虚拟滚动:以 120 FPS 处理 10,000+ 项目
  • 代码分割:延迟加载路由
  • 记忆化:React.memo 用于昂贵的组件
  • Web Workers:卸载符号索引

后端

  • 异步 I/O:非阻塞文件操作
  • 缓存:文件内容的 LRU 缓存
  • 增量索引:仅扫描更改的文件
  • 并行处理:尽可能多线程

安全架构

前端

  • 内容安全策略:限制资源加载
  • 可信类型:防止 XSS 攻击
  • 输入清理:清理用户输入

后端

  • Tauri 安全模型:作用域系统访问
  • Shell 批准:显式命令执行
  • API 密钥存储:系统密钥链(非纯文本)

本地 LLM

  • 无网络:所有处理在设备上
  • 沙盒:与系统隔离
  • 用户数据:从不传输

测试策略

单元测试

  • 前端:Vitest + React Testing Library
  • 后端:Rust 内置测试框架

集成测试

  • IPC 通信:Tauri 测试工具
  • AI 集成:模拟提供商

E2E 测试

  • Playwright:36 个测试场景
  • 覆盖范围:所有主要功能

监控和调试

前端

  • React DevTools:组件检查
  • Zustand DevTools:状态调试
  • 性能分析器:渲染优化

后端

  • tracing crate:结构化日志
  • sentry-panic:崩溃报告
  • 自定义指标:性能跟踪

未来路线图

计划技术

领域技术状态
WebAssembly组件编译研究
本地模型更多 GGUF 支持进行中
离线模式Service Workers计划中
同步跨设备设置计划中

参考

下一步

基于 MIT 许可发布