Files
XCDesktop/README.md

8.3 KiB
Raw Permalink Blame History

XCDesktop

Electron React TypeScript Vite Tailwind CSS

一站式 AI 工作台 - 集成笔记管理、时间追踪、远程桌面控制、AI 辅助等多种功能

核心特性

  • 🖥️ 远程桌面控制 - 屏幕监控与远程控制,支持内网穿透,随时随地访问
  • 🤖 AI 编程助手 - Web 版 OpenCode 界面,随时随地编程
  • 🤖 AI 集成 - 深度集成通义万相、豆包等 AI 能力支持语音转文字、视频解析、PPT 提取等
  • 📝 Markdown 笔记管理 - 基于 Milkdown 编辑器支持数学公式KaTeX、代码高亮Prism、表格、任务列表等
  • ⏱️ 时间追踪 - 记录学习和工作时间,生成生产力统计图表
  • 任务管理 - 完善的 TODO 功能,支持时间规划和任务统计
  • 🗂️ 文件管理 - 树形文件结构,支持拖拽、重命名、删除等操作
  • 🔍 全文搜索 - 快速搜索笔记内容
  • 🌐 远程网页 - 内置浏览器集成微信读书、B 站等常用网站
  • 🧩 模块化架构 - 前端模块热插拔,易于扩展新功能
  • 🖥️ 桌面原生体验 - Electron 打包,离线可用,支持系统主题

🚀 快速开始

环境要求

  • Node.js 18+
  • npm 9+
  • Windows 10+

安装依赖

npm install

运行开发模式

# 启动前端开发服务器
npm run dev

# 或者使用 Electron 开发模式(推荐)
npm run electron:dev

构建项目

# 构建前端
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),连接 OpenCode 服务器:

  • 单文件 exe直接运行
  • 支持外部 OpenCode 服务器
  • 随时随地编程

🤝 贡献指南

欢迎提交 Issue 和 Pull Request请先阅读 CONTRIBUTING.md

📄 许可证

MIT License