feat(docs): add comprehensive design system and AI password manager architecture

- Add complete Figma design system with color, typography, and component specifications
- Create detailed UI/UX design architecture for React Native implementation
- Include AI-specific design elements with gradients, animations, and visual language
- Add implementation guides for developers and step-by-step Figma instructions
- Configure MCP server integration for Figma design workflow
- Create SplashScreen component with AI gradient background and loading animations
This commit is contained in:
richarjiang
2025-07-22 10:07:39 +08:00
parent ebbbabab6c
commit b5d4724d06
17 changed files with 4739 additions and 1 deletions

361
docs/architecture.md Normal file
View File

@@ -0,0 +1,361 @@
# AI 密码管理器 - 系统架构设计
## 项目概述
基于 React Native Expo 的 AI 驱动密码管理器,支持跨应用自动填充、生物识别认证、智能密码分析和自然语言搜索。
### 技术栈分析
- **前端框架**: React Native 0.79.5 + Expo SDK 53
- **路由**: Expo Router 5.1.4 (基于文件系统的路由)
- **状态管理**: 待定 (建议 Zustand + React Query)
- **UI 组件**: 自定义组件 + Expo 原生组件
- **动画**: React Native Reanimated 3.17.4
- **手势**: React Native Gesture Handler 2.24.0
## 整体系统架构
```mermaid
graph TB
subgraph "客户端层 (React Native)"
A[主应用] --> B[密码管理模块]
A --> C[AI 功能模块]
A --> D[自动填充模块]
A --> E[生物识别模块]
A --> F[同步模块]
end
subgraph "扩展层 (iOS)"
G[AutoFill Extension]
H[Keyboard Extension]
I[Share Extension]
end
subgraph "云端服务层"
J[API Gateway]
K[认证服务]
L[密码存储服务]
M[AI 分析服务]
N[同步服务]
end
subgraph "AI 服务层"
O[网站分类 AI]
P[密码强度分析]
Q[安全评分引擎]
R[自然语言处理]
end
subgraph "数据层"
S[加密数据库]
T[用户配置]
U[AI 模型存储]
end
A --> G
A --> H
A --> I
B --> J
C --> M
F --> N
J --> K
J --> L
J --> M
M --> O
M --> P
M --> Q
M --> R
L --> S
K --> T
M --> U
```
## 核心模块设计
### 1. 前端架构 (React Native)
#### 1.1 目录结构
```
src/
├── app/ # Expo Router 页面
│ ├── (auth)/ # 认证相关页面
│ ├── (tabs)/ # 主要功能页面
│ └── modal/ # 模态页面
├── components/ # 可复用组件
│ ├── ui/ # 基础 UI 组件
│ ├── forms/ # 表单组件
│ └── password/ # 密码相关组件
├── services/ # 业务服务层
│ ├── api/ # API 调用
│ ├── crypto/ # 加密服务
│ ├── biometric/ # 生物识别
│ └── ai/ # AI 功能
├── stores/ # 状态管理
├── utils/ # 工具函数
├── types/ # TypeScript 类型
├── constants/ # 常量配置
└── hooks/ # 自定义 Hooks
```
#### 1.2 状态管理架构
```typescript
// 使用 Zustand 进行状态管理
interface AppState {
// 用户状态
user: UserState;
// 密码库状态
vault: VaultState;
// AI 功能状态
ai: AIState;
// 设置状态
settings: SettingsState;
}
```
### 2. iOS 扩展架构
#### 2.1 AutoFill Password Extension
- **功能**: 在 Safari 和其他应用中提供密码自动填充
- **实现**: iOS AutoFill Password Extension API
- **通信**: 通过 App Groups 与主应用共享数据
#### 2.2 Custom Keyboard Extension
- **功能**: 在任何应用中提供密码输入
- **实现**: iOS Custom Keyboard Extension
- **安全**: 限制网络访问,本地处理
#### 2.3 Share Extension
- **功能**: 从其他应用快速保存密码
- **实现**: iOS Share Extension
- **集成**: 与主应用密码库同步
### 3. 云端服务架构
#### 3.1 API Gateway
- **技术**: Node.js + Express / Fastify
- **功能**:
- 请求路由和负载均衡
- 身份验证和授权
- 请求限流和监控
- API 版本管理
#### 3.2 微服务设计
```mermaid
graph LR
A[API Gateway] --> B[用户服务]
A --> C[密码服务]
A --> D[AI 服务]
A --> E[同步服务]
A --> F[通知服务]
B --> G[用户数据库]
C --> H[密码数据库]
D --> I[AI 模型存储]
E --> J[同步队列]
```
### 4. AI 服务架构
#### 4.1 自建 AI 服务栈
```mermaid
graph TB
A[AI API Gateway] --> B[模型管理服务]
A --> C[推理服务]
A --> D[训练服务]
B --> E[模型版本控制]
C --> F[GPU 推理集群]
D --> G[训练数据管道]
subgraph "AI 模型"
H[网站分类模型]
I[密码强度模型]
J[NLP 搜索模型]
K[安全评分模型]
end
C --> H
C --> I
C --> J
C --> K
```
#### 4.2 AI 功能模块
1. **网站分类识别**
- 基于 URL 和页面内容的网站类型分类
- 自动标签生成和分类建议
2. **密码强度分析**
- 实时密码强度评估
- 个性化密码建议生成
3. **智能安全评分**
- 综合账户安全性评估
- 风险预警和改进建议
4. **自然语言搜索**
- 语义化密码搜索
- 智能查询理解和结果排序
## 数据模型设计
### 1. 核心数据结构
```typescript
// 密码条目
interface PasswordEntry {
id: string;
title: string;
username: string;
password: string; // 加密存储
url: string;
notes: string;
tags: string[];
category: string;
createdAt: Date;
updatedAt: Date;
lastUsed: Date;
// AI 增强字段
aiCategory?: string;
securityScore?: number;
riskLevel?: 'low' | 'medium' | 'high';
suggestions?: string[];
}
// 用户配置
interface UserSettings {
biometricEnabled: boolean;
autoFillEnabled: boolean;
syncEnabled: boolean;
aiFeatures: {
autoTagging: boolean;
securityAnalysis: boolean;
smartSearch: boolean;
};
security: {
sessionTimeout: number;
requireBiometricForView: boolean;
autoLockDelay: number;
};
}
```
### 2. 加密方案
#### 2.1 端到端加密架构
```mermaid
graph LR
A[用户主密码] --> B[PBKDF2 派生]
B --> C[主加密密钥]
C --> D[数据加密]
E[生物识别] --> F[设备密钥]
F --> G[本地密钥存储]
G --> C
C --> H[AES-256-GCM]
H --> I[加密数据]
```
#### 2.2 密钥管理
- **主密钥**: 用户主密码通过 PBKDF2 派生
- **设备密钥**: 生物识别保护的本地密钥
- **传输加密**: TLS 1.3 + 证书固定
- **存储加密**: AES-256-GCM 对称加密
## 安全架构
### 1. 多层安全防护
```mermaid
graph TB
A[用户界面层] --> B[应用安全层]
B --> C[传输安全层]
C --> D[服务安全层]
D --> E[数据安全层]
subgraph "安全措施"
F[生物识别认证]
G[应用锁定]
H[TLS 加密]
I[API 认证]
J[数据库加密]
end
A -.-> F
B -.-> G
C -.-> H
D -.-> I
E -.-> J
```
### 2. 威胁防护
- **中间人攻击**: 证书固定 + TLS 1.3
- **数据泄露**: 端到端加密 + 零知识架构
- **设备丢失**: 生物识别 + 远程擦除
- **恶意软件**: 应用签名验证 + 运行时保护
## 性能优化
### 1. 前端性能
- **懒加载**: 按需加载密码条目
- **虚拟化**: 大列表虚拟滚动
- **缓存策略**: 智能本地缓存
- **预加载**: 预测性数据加载
### 2. 后端性能
- **数据库优化**: 索引优化 + 查询缓存
- **CDN 加速**: 静态资源分发
- **负载均衡**: 多实例部署
- **缓存层**: Redis 分布式缓存
## 部署架构
### 1. 云端部署
```mermaid
graph TB
A[负载均衡器] --> B[API Gateway 集群]
B --> C[微服务集群]
C --> D[数据库集群]
E[CDN] --> F[静态资源]
G[监控系统] --> H[日志聚合]
I[备份系统] --> J[灾难恢复]
```
### 2. 容器化部署
- **容器编排**: Kubernetes
- **服务网格**: Istio
- **监控**: Prometheus + Grafana
- **日志**: ELK Stack
## 开发工具链
### 1. 前端工具
- **开发环境**: Expo Development Build
- **调试**: Flipper + React Native Debugger
- **测试**: Jest + Detox
- **代码质量**: ESLint + Prettier + TypeScript
### 2. 后端工具
- **API 文档**: OpenAPI/Swagger
- **测试**: Jest + Supertest
- **部署**: Docker + CI/CD
- **监控**: APM + 健康检查
## 合规性和隐私
### 1. 数据保护
- **GDPR 合规**: 数据最小化 + 用户控制
- **数据本地化**: 区域数据存储
- **审计日志**: 完整操作记录
- **数据删除**: 安全数据擦除
### 2. 安全认证
- **SOC 2 Type II**: 安全控制审计
- **ISO 27001**: 信息安全管理
- **渗透测试**: 定期安全评估
- **漏洞管理**: 持续安全监控
---
*此架构设计为 AI 密码管理器提供了完整的技术蓝图,确保安全性、可扩展性和用户体验的最佳平衡。*