Files
XCDesktop/README.md
2026-03-08 01:34:54 +08:00

194 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# XCDesktop
<div align="center">
[![Electron](https://img.shields.io/badge/Electron-40.2.1-blue?style=flat-square)](https://www.electronjs.org/)
[![React](https://img.shields.io/badge/React-18.3.1-61DAFB?style=flat-square)](https://react.dev/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.8.3-3178C6?style=flat-square)](https://www.typescriptlang.org/)
[![Vite](https://img.shields.io/badge/Vite-6.3.5-646CFF?style=flat-square)](https://vitejs.dev/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind%20CSS-3.4.17-06B6D4?style=flat-square)](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