194 lines
6.4 KiB
Markdown
194 lines
6.4 KiB
Markdown
|
|
# XCDesktop
|
|||
|
|
|
|||
|
|
<div align="center">
|
|||
|
|
|
|||
|
|
[](https://www.electronjs.org/)
|
|||
|
|
[](https://react.dev/)
|
|||
|
|
[](https://www.typescriptlang.org/)
|
|||
|
|
[](https://vitejs.dev/)
|
|||
|
|
[](https://tailwindcss.com/)
|
|||
|
|
|
|||
|
|
一站式 AI 工作台 - 集成笔记管理、时间追踪、任务管理、AI 辅助等多种功能
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
## ✨ 核心特性
|
|||
|
|
|
|||
|
|
- **🤖 AI 集成** - 深度集成通义万相、豆包等 AI 能力,支持语音转文字、视频解析、PPT 提取等
|
|||
|
|
- **📝 Markdown 笔记管理** - 基于 Milkdown 编辑器,支持数学公式(KaTeX)、代码高亮(Prism)、表格、任务列表等
|
|||
|
|
- **⏱️ 时间追踪** - 记录学习和工作时间,生成生产力统计图表
|
|||
|
|
- **✅ 任务管理** - 完善的 TODO 功能,支持时间规划和任务统计
|
|||
|
|
- **🗂️ 文件管理** - 树形文件结构,支持拖拽、重命名、删除等操作
|
|||
|
|
- **🔍 全文搜索** - 快速搜索笔记内容
|
|||
|
|
- **🌐 远程网页** - 内置浏览器,集成微信读书、B 站等常用网站
|
|||
|
|
- **🧩 模块化架构** - 前端模块热插拔,易于扩展新功能
|
|||
|
|
- **🖥️ 桌面原生体验** - Electron 打包,离线可用,支持系统主题
|
|||
|
|
|
|||
|
|
## 🚀 快速开始
|
|||
|
|
|
|||
|
|
### 环境要求
|
|||
|
|
|
|||
|
|
- Node.js 18+
|
|||
|
|
- npm 9+
|
|||
|
|
- Windows 10+
|
|||
|
|
|
|||
|
|
### 安装依赖
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm install
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 运行开发模式
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 启动前端开发服务器
|
|||
|
|
npm run dev
|
|||
|
|
|
|||
|
|
# 或者使用 Electron 开发模式(推荐)
|
|||
|
|
npm run electron:dev
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 构建项目
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 构建前端
|
|||
|
|
npm run build
|
|||
|
|
|
|||
|
|
# 构建 Electron 应用
|
|||
|
|
npm run electron:build
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
构建完成后,安装包位于 `release` 目录下。
|
|||
|
|
|
|||
|
|
## 📁 项目结构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
XCDesktop/
|
|||
|
|
├── src/ # 前端源代码
|
|||
|
|
│ ├── components/ # React 组件
|
|||
|
|
│ ├── contexts/ # React Context
|
|||
|
|
│ ├── hooks/ # 自定义 Hooks
|
|||
|
|
│ │ ├── domain/ # 业务逻辑 Hooks
|
|||
|
|
│ │ ├── events/ # 事件处理
|
|||
|
|
│ │ ├── ui/ # UI 交互 Hooks
|
|||
|
|
│ │ └── utils/ # 工具函数
|
|||
|
|
│ ├── lib/ # 工具库
|
|||
|
|
│ │ ├── api/ # API 客户端
|
|||
|
|
│ │ ├── editor/ # 编辑器配置
|
|||
|
|
│ │ └── utils/ # 工具函数
|
|||
|
|
│ ├── modules/ # 功能模块
|
|||
|
|
│ │ ├── home/ # 首页
|
|||
|
|
│ │ ├── settings/ # 设置
|
|||
|
|
│ │ ├── search/ # 搜索
|
|||
|
|
│ │ ├── todo/ # 任务管理
|
|||
|
|
│ │ ├── time-tracking/ # 时间追踪
|
|||
|
|
│ │ ├── recycle-bin/ # 回收站
|
|||
|
|
│ │ ├── pydemos/ # Python Demo
|
|||
|
|
│ │ ├── weread/ # 微信读书
|
|||
|
|
│ │ └── remote/ # 远程网页
|
|||
|
|
│ ├── stores/ # Zustand 状态管理
|
|||
|
|
│ └── types/ # 类型定义
|
|||
|
|
├── api/ # 后端 API (Express)
|
|||
|
|
│ ├── config/ # 配置文件
|
|||
|
|
│ ├── core/ # 核心功能
|
|||
|
|
│ ├── errors/ # 错误处理
|
|||
|
|
│ ├── modules/ # API 模块
|
|||
|
|
│ │ ├── ai/ # AI 集成
|
|||
|
|
│ │ ├── document-parser/ # 文档解析
|
|||
|
|
│ │ ├── pydemos/ # Python Demo
|
|||
|
|
│ │ ├── recycle-bin/ # 回收站
|
|||
|
|
│ │ ├── remote/ # 远程网页
|
|||
|
|
│ │ ├── time-tracking/ # 时间追踪
|
|||
|
|
│ │ └── todo/ # 任务管理
|
|||
|
|
│ ├── middlewares/ # 中间件
|
|||
|
|
│ ├── schemas/ # 数据验证
|
|||
|
|
│ ├── utils/ # 工具函数
|
|||
|
|
│ ├── watcher/ # 文件监控
|
|||
|
|
│ └── events/ # 事件总线
|
|||
|
|
├── electron/ # Electron 主进程
|
|||
|
|
├── shared/ # 共享类型和配置
|
|||
|
|
├── tools/ # 工具脚本
|
|||
|
|
│ └── tongyi/ # 通义万相 AI 工具
|
|||
|
|
├── notebook/ # 笔记数据存储(运行时)
|
|||
|
|
└── release/ # 构建输出
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🧩 功能模块
|
|||
|
|
|
|||
|
|
### 核心模块
|
|||
|
|
|
|||
|
|
| 模块 | 功能描述 |
|
|||
|
|
|------|----------|
|
|||
|
|
| 首页 | 欢迎页面,快速访问常用功能 |
|
|||
|
|
| 文件管理 | 树形目录结构,管理 Markdown 笔记 |
|
|||
|
|
| 编辑器 | 基于 Milkdown 的 Markdown 编辑器 |
|
|||
|
|
| 搜索 | 全文搜索笔记内容 |
|
|||
|
|
| 设置 | 主题、壁纸、字体大小等个性化配置 |
|
|||
|
|
|
|||
|
|
### 扩展模块
|
|||
|
|
|
|||
|
|
| 模块 | 功能描述 |
|
|||
|
|
|------|----------|
|
|||
|
|
| AI 集成 | 通义万相语音转文字、视频解析、PPT 提取等 |
|
|||
|
|
| 文档解析 | 支持导入博客、PDF 等格式 |
|
|||
|
|
| 时间追踪 | 记录工作/学习时间,统计生产力 |
|
|||
|
|
| 任务管理 | TODO 列表,支持时间规划 |
|
|||
|
|
| 回收站 | 误删恢复 |
|
|||
|
|
| Python Demo | Python 脚本管理 |
|
|||
|
|
| 微信读书 | 微信读书网页版集成 |
|
|||
|
|
| 远程网页 | 内置浏览器,访问任意网页 |
|
|||
|
|
|
|||
|
|
## 🛠️ 技术栈
|
|||
|
|
|
|||
|
|
### 前端
|
|||
|
|
|
|||
|
|
- **框架**: React 18 + TypeScript
|
|||
|
|
- **构建工具**: Vite 6
|
|||
|
|
- **样式**: Tailwind CSS + Tailwind Typography
|
|||
|
|
- **编辑器**: Milkdown (Markdown)
|
|||
|
|
- **图表**: Recharts
|
|||
|
|
- **图标**: Lucide React
|
|||
|
|
- **路由**: React Router DOM
|
|||
|
|
- **状态管理**: Zustand
|
|||
|
|
- **拖拽**: @dnd-kit
|
|||
|
|
|
|||
|
|
### 后端
|
|||
|
|
|
|||
|
|
- **运行时**: Node.js
|
|||
|
|
- **框架**: Express
|
|||
|
|
- **验证**: Zod
|
|||
|
|
- **文件监控**: Chokidar
|
|||
|
|
|
|||
|
|
### 桌面
|
|||
|
|
|
|||
|
|
- **框架**: Electron 40
|
|||
|
|
- **日志**: electron-log
|
|||
|
|
|
|||
|
|
### AI 工具
|
|||
|
|
|
|||
|
|
- **语音识别**: 通义听悟
|
|||
|
|
- **视频解析**: Bilibili 视频下载与分析
|
|||
|
|
- **PPT 提取**: 自动提取 PPT 内容
|
|||
|
|
|
|||
|
|
## 📝 数据存储
|
|||
|
|
|
|||
|
|
数据文件存储在系统文档目录下的 `XCDesktop` 文件夹中:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
~/Documents/XCDesktop/
|
|||
|
|
├── notebook/
|
|||
|
|
│ ├── markdowns/ # Markdown 笔记
|
|||
|
|
│ ├── pydemos/ # Python Demo
|
|||
|
|
│ ├── images/ # 图片资源
|
|||
|
|
│ └── time/ # 时间追踪数据
|
|||
|
|
└── downloads/ # 下载文件
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🤝 贡献指南
|
|||
|
|
|
|||
|
|
欢迎提交 Issue 和 Pull Request!请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。
|
|||
|
|
|
|||
|
|
## 📄 许可证
|
|||
|
|
|
|||
|
|
MIT License
|