Files
XCDesktop/README.md

238 lines
8.3 KiB
Markdown
Raw Permalink Normal View History

2026-03-08 01:34:54 +08:00
# 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 辅助等多种功能
2026-03-08 01:34:54 +08:00
</div>
## ✨ 核心特性
- **🖥️ 远程桌面控制** - 屏幕监控与远程控制,支持内网穿透,随时随地访问
- **🤖 AI 编程助手** - Web 版 OpenCode 界面,随时随地编程
2026-03-08 01:34:54 +08:00
- **🤖 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/ # 远程网页
│ │ │ ├── opencode/ # AI 编程助手
│ │ │ ├── sdd/ # 规范驱动开发
│ │ │ └── terminal/ # 终端
2026-03-08 01:34:54 +08:00
│ ├── stores/ # Zustand 状态管理
│ └── types/ # 类型定义
├── api/ # 后端 API (Express)
│ ├── config/ # 配置文件
│ ├── core/ # 核心功能
│ ├── errors/ # 错误处理
│ ├── modules/ # API 模块
│ │ ├── ai/ # AI 集成
│ │ ├── document-parser/ # 文档解析
│ │ ├── pydemos/ # Python Demo
│ │ ├── recycle-bin/ # 回收站
2026-03-08 01:34:54 +08:00
│ │ ├── remote/ # 远程网页
│ │ ├── time-tracking/ # 时间追踪
2026-03-08 01:34:54 +08:00
│ │ └── todo/ # 任务管理
│ ├── middlewares/ # 中间件
│ ├── schemas/ # 数据验证
│ ├── utils/ # 工具函数
│ ├── watcher/ # 文件监控
│ └── events/ # 事件总线
├── electron/ # Electron 主进程
├── shared/ # 共享类型和配置
├── remote/ # 远程桌面监控系统
│ ├── src/ # 后端服务
│ ├── public/ # 前端页面
│ ├── frp/ # 内网穿透 (FRP)
│ └── gitea/ # 自托管 Git 服务
├── service/ # Web 版 AI 编程助手
│ └── xcopencodeweb/ # OpenCode Web 界面
2026-03-08 01:34:54 +08:00
├── tools/ # 工具脚本
│ └── tongyi/ # 通义万相 AI 工具
├── command/ # 项目任务文档
├── public/ # 静态资源
2026-03-08 01:34:54 +08:00
├── notebook/ # 笔记数据存储(运行时)
└── release/ # 构建输出
```
## 🧩 功能模块
### 核心模块
| 模块 | 功能描述 |
|------|----------|
| 首页 | 欢迎页面,快速访问常用功能 |
| 文件管理 | 树形目录结构,管理 Markdown 笔记 |
| 编辑器 | 基于 Milkdown 的 Markdown 编辑器 |
| 搜索 | 全文搜索笔记内容 |
| 设置 | 主题、壁纸、字体大小等个性化配置 |
### 扩展模块
| 模块 | 功能描述 |
|------|----------|
| 远程桌面控制 | 屏幕监控与远程控制,支持内网穿透,随时随地访问 |
| AI 编程助手 | Web 版 OpenCode 界面,随时随地编程 |
2026-03-08 01:34:54 +08:00
| AI 集成 | 通义万相语音转文字、视频解析、PPT 提取等 |
| 文档解析 | 支持导入博客、PDF 等格式 |
| 时间追踪 | 记录工作/学习时间,统计生产力 |
| 任务管理 | TODO 列表,支持时间规划 |
| 回收站 | 误删恢复 |
| Python Demo | Python 脚本管理 |
| 微信读书 | 微信读书网页版集成 |
| 远程网页 | 内置浏览器,访问任意网页 |
| SDD | 规范驱动开发,自动化流程 |
| 终端 | 集成终端界面,管理和执行命令 |
2026-03-08 01:34:54 +08:00
## 🛠️ 技术栈
### 前端
- **框架**: 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
### 远程控制
- **屏幕捕获**: FFmpeg, H.264 编码
- **流媒体**: WebSocket
- **内网穿透**: FRP
- **Git 服务**: Gitea
2026-03-08 01:34:54 +08:00
### AI 工具
- **语音识别**: 通义听悟
- **视频解析**: Bilibili 视频下载与分析
- **PPT 提取**: 自动提取 PPT 内容
## 📝 数据存储
数据文件存储在系统文档目录下的 `XCDesktop` 文件夹中:
```
~/Documents/XCDesktop/
├── notebook/
│ ├── markdowns/ # Markdown 笔记
│ ├── pydemos/ # Python Demo
│ ├── images/ # 图片资源
│ └── time/ # 时间追踪数据
└── downloads/ # 下载文件
```
## ☁️ 远程服务
项目包含多个可选的远程服务组件,部署在远程被控电脑上:
### 远程桌面控制 (remote/)
**需部署在被控电脑上**的独立远程桌面监控系统:
- 屏幕捕获与 H.264 流媒体传输
- 远程鼠标、键盘控制
- FRP 内网穿透,支持外网访问
- 内置 Gitea 自托管 Git 服务
### AI 编程助手 (service/xcopencodeweb/)
Web 版 AI 编程助手(来自独立仓库 [XCOpenCodeWeb](https://github.com/anomalyco/XCOpenCodeWeb)),连接 OpenCode 服务器:
- 单文件 exe直接运行
- 支持外部 OpenCode 服务器
- 随时随地编程
2026-03-08 01:34:54 +08:00
## 🤝 贡献指南
欢迎提交 Issue 和 Pull Request请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 📄 许可证
MIT License