# XCDesktop
[![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 辅助等多种功能
## ✨ 核心特性 - **🖥️ 远程桌面控制** - 屏幕监控与远程控制,支持内网穿透,随时随地访问 - **🤖 AI 编程助手** - Web 版 OpenCode 界面,随时随地编程 - **🤖 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/ # 终端 │ ├── 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/ # 共享类型和配置 ├── remote/ # 远程桌面监控系统 │ ├── src/ # 后端服务 │ ├── public/ # 前端页面 │ ├── frp/ # 内网穿透 (FRP) │ └── gitea/ # 自托管 Git 服务 ├── service/ # Web 版 AI 编程助手 │ └── xcopencodeweb/ # OpenCode Web 界面 ├── tools/ # 工具脚本 │ └── tongyi/ # 通义万相 AI 工具 ├── command/ # 项目任务文档 ├── public/ # 静态资源 ├── notebook/ # 笔记数据存储(运行时) └── release/ # 构建输出 ``` ## 🧩 功能模块 ### 核心模块 | 模块 | 功能描述 | |------|----------| | 首页 | 欢迎页面,快速访问常用功能 | | 文件管理 | 树形目录结构,管理 Markdown 笔记 | | 编辑器 | 基于 Milkdown 的 Markdown 编辑器 | | 搜索 | 全文搜索笔记内容 | | 设置 | 主题、壁纸、字体大小等个性化配置 | ### 扩展模块 | 模块 | 功能描述 | |------|----------| | 远程桌面控制 | 屏幕监控与远程控制,支持内网穿透,随时随地访问 | | AI 编程助手 | Web 版 OpenCode 界面,随时随地编程 | | AI 集成 | 通义万相语音转文字、视频解析、PPT 提取等 | | 文档解析 | 支持导入博客、PDF 等格式 | | 时间追踪 | 记录工作/学习时间,统计生产力 | | 任务管理 | TODO 列表,支持时间规划 | | 回收站 | 误删恢复 | | Python Demo | Python 脚本管理 | | 微信读书 | 微信读书网页版集成 | | 远程网页 | 内置浏览器,访问任意网页 | | SDD | 规范驱动开发,自动化流程 | | 终端 | 集成终端界面,管理和执行命令 | ## 🛠️ 技术栈 ### 前端 - **框架**: 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 ### 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 服务器 - 随时随地编程 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request!请先阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 📄 许可证 MIT License