Skip to content

2799662352/sora-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 Sora UI - AI视频生成桌面应用

基于 Electron + React + TypeScript 的专业视频生成工具

License Version Electron React TypeScript


✨ 核心特性

  • 🖥️ Electron 桌面应用 - Windows 原生应用,性能卓越
  • 💾 Token 架构 - 94% 内存节省,快速加载 (2.9ms)
  • Tabby 风格自动保存 - 30秒定时备份 + 1秒防抖 + Ctrl+S
  • 📊 ConfigService - 统一配置管理,响应式更新
  • 🧹 智能清理 - 自动清理过期任务,保持性能
  • 📚 强大的历史管理 - 虚拟滚动支持500+条记录
  • 🎨 现代化UI - 基于 Ant Design 5.12
  • 🔄 后端同步 - 多设备同步,数据永久保存

🚀 快速开始

安装

# 克隆仓库
git clone https://github.com/2799662352/sora-ui.git
cd sora-ui

# 安装依赖
npm install

# 运行开发版
npm run electron:dev

# 构建安装包
npm run electron:build

🎯 最新优化 (v1.1.4 - 2025-11-25)

🏗️ 架构重构 (Phase 1-6)

  • 原子组件库 (components/ui/)
    • Button, Card, SelectableList
    • useMultiSelect Hook (Shift/Ctrl 多选)
  • 业务服务层 (services/business/)
    • generation.service.ts - 生成任务管理
    • history.service.ts - 历史记录 CRUD
    • download.service.ts - 下载队列管理
  • 业务 Hooks
    • useGeneration, useHistoryService, useDownload
  • 组件模块化
    • VideoHistory 拆分为 TaskItem + useVideoHistory
    • ErrorBoundary 错误边界
    • HistorySkeleton 骨架屏
  • E2E 测试 (Playwright)

🔥 Tabby 架构学习应用

  • 深度学习 Tabby Terminal 源码 (1300+ 行)
    • TabRecoveryService (自动保存机制)
    • ConfigService (配置管理系统)
    • Observable 响应式架构
    • RecoveryToken Provider 模式

⚡ 性能优化

  • Token 架构: 94% 内存节省 (775KB → 47KB)
  • 后端同步防抖: 66% I/O 减少 (3次 → 1次)
  • Performance Marks: Token 加载性能监控
  • 智能清理: 自动清理过期任务

🔧 核心功能

  • autoSave.service: Tabby 风格自动保存

    • 30秒定时备份
    • 1秒防抖优化
    • Auto/Manual/Hybrid 三种模式
    • Ctrl+S 快捷键
  • ConfigService: 统一配置管理

    • 响应式配置更新 (Observable)
    • 智能默认值管理
    • 只保存非默认值
    • 版本迁移支持
  • ConfigPanel: 可视化配置界面

    • 保存设置 (模式切换)
    • 清理设置 (保留天数)
    • 性能设置 (虚拟滚动)
    • 同步设置 (增量/全量)
    • Token 设置 (存储方式)

🛠️ 技术栈

前端

  • React 18.2 - UI 框架
  • TypeScript 5.3 - 类型安全
  • Ant Design 5.12 - UI 组件库
  • Vite 5.0 - 构建工具
  • RxJS 7.8 - 响应式编程 (新增)
  • Zustand - 状态管理

桌面

  • Electron 38.4 - 桌面应用框架
  • IPC 通信 - 安全的主进程和渲染进程通信
  • Electron Store - 配置持久化

架构模式 (参考 Tabby)

  • Token 模式 - 轻量级索引 + 按需加载
  • Observable - 响应式配置/保存
  • Provider - 策略模式 + 开闭原则
  • Debounce - 防抖优化

📁 项目结构

sora-ui/
├── electron/                # Electron 主进程
│   ├── main.ts             # 主进程入口
│   ├── preload.ts          # 预加载脚本
│   ├── ipc/                # IPC 处理器
│   └── services/           # Electron 服务
│
├── src/                     # React 应用
│   ├── api/                # API 层
│   ├── components/         # UI 组件
│   │   └── ConfigPanel.tsx # 配置面板 (新增)
│   ├── services/           # 业务服务
│   │   ├── autoSave.service.ts # 自动保存 (新增)
│   │   └── config/         # 配置服务 (新增)
│   ├── hooks/              # React Hooks
│   │   └── useConfig.ts    # 配置 Hook (新增)
│   ├── utils/              # 工具函数
│   │   ├── taskTokenManager.ts # Token 管理 (新增)
│   │   └── storageCleanup.ts   # 清理服务 (新增)
│   └── types/              # TypeScript 类型
│       └── taskToken.ts    # Token 类型 (新增)
│
├── docs/                    # 详细文档 (25+ 份)
│   ├── tabby-*.md          # Tabby 学习笔记
│   ├── optimization-*.md   # 优化计划
│   └── implementation-*.md # 实施路线图
│
├── reference-projects/      # 参考项目
│   └── tabby-full/         # Tabby Terminal 源码
│
└── PROGRESS_REPORT.md      # 开发进度报告

🎯 核心功能

1. Token 架构 (v2.2)

轻量级加载:
  155 tokens × 300 bytes  47 KB

VS

全量加载:
  155 tasks × 5 KB  775 KB
  
节省: 94% 内存 

2. Tabby 风格自动保存

三要素:
├── 任何变化触发: markDirty()
├── 30秒定时备份: setInterval(30000)
└── 1秒防抖执行: debounceTime(1000)

快捷键:
└── Ctrl+S: 手动保存

3. 配置管理系统

ConfigService (参考 Tabby):
├── 响应式更新: ready$ / changed$
├── 智能默认值: 只保存非默认值
├── 版本迁移: 平滑升级
└── React Hook: useConfig()

📊 性能指标

优化成果

✅ Token加载: 2.9ms
✅ 内存节省: 94% (775KB → 47KB)
✅ I/O减少: 66% (3次 → 1次)
✅ localStorage: 231KB (自动清理中)

架构成熟度: 9.0/10 🏆

  • 性能优化: 9/10
  • 代码质量: 9.5/10
  • 架构设计: 9/10
  • 可维护性: 8.5/10

📚 文档

🌟 核心文档

📖 Tabby 学习笔记

🏗️ 架构设计


🤝 参考项目


📄 许可证

Proprietary License - All Rights Reserved

本软件及其源代码为专有资产,受版权法保护。


📞 联系方式


⭐ Sora UI - 让AI视频创作更简单!

🎉 v1.1.3 更新:

  • Tabby 风格自动保存
  • ConfigService 配置管理
  • Performance 性能监控
  • 94% 内存优化

About

🎬 Sora UI - AI视频生成桌面应用 | Electron + React + TypeScript + 工作流编辑器

Resources

License

Stars

Watchers

Forks

Packages

No packages published