⚡ OpenVue

基于 Tauri 2 + Axum 的轻量级本地 HTTP 文件服务。
一键启动、插件扩展、多端预览,开箱即用。

Release Stars License Tauri

🎯 核心特性

桌面端 + HTTP 服务双模式,覆盖多种使用场景

🚀

一键启动

安装即用,桌面端可配置开机自启。HTTP 服务与 Tauri GUI 结合,既有桌面操控感,又有浏览器随处访问的便利。

🧩

插件扩展

通过 HTML 页面扩展文件预览能力。支持 GeoGebra、Markdown、Office 文档等多种格式。插件可自定义、可下载、可卸载。

📂

目录浏览 & 文件上传

浏览器中浏览指定目录,支持文件上传。局域网内任意设备即可访问,无需安装额外工具。

🌐

双模式运行

Desktop 模式:Tauri 窗口管理插件与配置;Server 模式:纯 HTTP 后台服务,适合服务器部署。

🔌

插件市场

内置插件市场,从远程索引一键下载安装第三方插件,自动校验哈希,更新卸载随心所欲。

🌍

国际化

内置中英文界面,桌面端与 Web 页面均支持语言切换,满足不同语言用户需求。

🔧 技术架构

一次配置,随处访问

前端框架
Vue 3 + TypeScript
桌面壳
Tauri 2.x
HTTP 后端
Rust + Axum
构建工具
Vite 5
最小体积
~8 MB
跨平台
Windows / macOS / Linux

🧩 插件开发

OpenVue 插件本质上是一个标准的 Web 页面(HTML + CSS + JS), 通过 iframe 嵌入渲染对应格式的文件。只需 3 步即可创建自己的插件!

创建插件目录

在 plugins/ 下创建以插件 ID 命名的文件夹,例如 my-viewer。

编写 index.html

制作一个预览页面,通过 ?path= 参数获取文件访问地址,加载并渲染文件内容。

添加 plugin.json

在插件目录下创建 plugin.json,描述插件名称、支持扩展名、下载源等信息。

// plugin.json 示例 { "id": "my-viewer", "name": "我的预览器", "version": "1.0.0", "extensions": ["ext1", "ext2"], "urlTemplate": "/plugins/{pluginId}/?path={publicPath}", "downloadSources": [ { "label": "Github", "url": "https://...", "priority": 1 } ], "sha256": "e261d6162b91991c..." }

💡 开发完成后,将插件打包为 ZIP,连同 plugin.json 提交至 openvue-plugins 仓库,即可在插件市场中展示。

📖 查看完整插件开发文档

⚡ 快速开始

从 Releases 下载即可使用,也可自行构建

📦 下载安装

  1. 前往 Releases 下载最新版本
  2. Windows: 运行安装包;macOS: 挂载 DMG;Linux: 使用 AppImage
  3. 启动后在 桌面端 管理配置,在 浏览器 访问预览

🔧 自行构建

  1. git clone https://github.com/yunend/openvue.git
  2. cd openvue && npm install
  3. cargo tauri dev(开发模式)
  4. cargo tauri build(生产构建)

🤝 加入贡献

OpenVue 是完全开源的项目,欢迎任何形式的贡献——Bug 反馈、功能建议、 插件提交、文档改进、代码 PR,都对我们有巨大帮助!

🐛 提交 Issue 🍴 Fork 项目 🧩 提交插件