Ely Office:离线优先办公套件
用 Rust 和 GPUI 编写的离线优先桌面办公套件,包含文档、表格、演示、PDF、邮件、Git、Markdown 等应用。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v0.1.13
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
Ely Office 是一套用 Rust 和 GPUI 编写的离线优先桌面应用。文件保存在你自己的文件夹里,不需要账号,也没有云服务。
可以从 office.elygpui.com 或 latest release 下载,支持 Windows、macOS(Apple silicon 与 Intel)和 Linux(AppImage、deb、rpm、Arch、Nix;Debian 11 及 Ubuntu 20.04 以上)。
主要功能
| 应用 | 用途 | 引擎 |
|---|---|---|
| ElyDoc | 文字处理(DOCX、ODT) | LibreOfficeKit |
| ElyTable | 电子表格(XLSX、ODS、CSV) | LibreOfficeKit |
| ElyShow | 演示文稿(PPTX、ODP) | LibreOfficeKit、系统媒体组件 |
| ElyPDF | PDF 阅读与编辑、OCR、签名 | MuPDF、Tesseract |
| ElyMail | 通过 IMAP、POP3 与 SMTP 收发邮件,跟随系统代理 | 自研 IMAP 与 POP3、mail-send、SQLite |
| ElyTree | Git 客户端 | Git |
| ElyMark | Markdown | markdown-rs、RaTeX、mermaid-rs-renderer |
| ElyAgent | 第二个版本中推出 | Kigi CLI |
ElyMail 使用 OAuth 登录 Microsoft,使用应用专用密码登录 Gmail 和 iCloud。
安装与使用
在官网或 release 页面下载对应平台的安装包即可使用,无需注册账号。
从源码构建需要先安装 Rust(用 rustup,版本由 rust-toolchain.toml 固定),以及各系统的依赖包;此外还需要 Git、Python 3、curl、Node.js 22.18 或更新版本以及 pnpm。可用 scripts/doctor.sh 检查当前系统上的工具链版本。
scripts/doctor.sh # 检查工具链版本
scripts/fetch-references.sh # 拉取固定提交的上游源码
scripts/build-libreoffice.sh # 构建打过补丁的 LibreOffice(约一小时)
scripts/build-mupdf.sh # 构建打过补丁的 MuPDF
cargo run -p ely-doc # 或 ely-table、ely-show、ely-pdf、ely-mail、ely-tree、ely-mark
各平台的构建环境:
- macOS:需要安装 Xcode 及其 Metal 工具链(
xcodebuild -downloadComponent MetalToolchain),因为 gpui 用xcrun metal编译着色器;再用 Homebrew 安装 cmake、ninja、pkg-config、make、gnu-sed、bison、flex、gettext、autoconf、automake、node、pnpm 等。 - Windows:需要安装带 C++ 工作负载的 Visual Studio 2022(MSVC、Windows SDK 和带 Ninja 的 CMake);gpui 用 SDK 中的
fxc.exe编译着色器。LibreOffice 在C:\cygwin64下的 Cygwin 中构建(可用ELY_CYGWIN指定其他位置)。 - Linux:按发行版安装 build-essential、pkg-config、git、curl、python3、docker 以及 dbus、fontconfig、libxcb、libxkbcommon-x11 等开发包,然后安装 pnpm。LibreOffice 在
packaging/linux/container.sh里构建,因此需要 Docker。
ElyMail 在构建时需要 Microsoft client ID:在仓库根目录的 cred.txt 中写入 ELY_MICROSOFT_CLIENT_ID=<id>(该文件已被 git 忽略)。
注意事项
- 项目采用 MIT 许可证(
LICENSE);第三方组件保留各自的许可证,详见docs/licenses.md。 - 推送
v*标签会触发.github/workflows/release.yml,由自托管 runner 构建 macOS、Windows 和 Linux 包并上传到 GitHub release,macOS 构建会签名并公证。 - 测试可运行
cargo test --workspace;tests/scripts中的脚本测试里,窗口测试需要 macOS 辅助功能权限,Linux 测试在容器中运行。 - 更多文档包括
docs/help.md(打开与保存、面板、恢复、离线限制、仓库、邮件)、docs/compatibility.md(当前版本的兼容性列表)、docs/accessibility.md(无障碍与语言审查)。
本作品整理自 GitHub 开源项目 ELY-Open-Source/ElyOffice,原作者 @ELY-Open-Source,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.1.13当前版本
ElyTable 筛选值列表加搜索框;ElyDoc/ElyShow/ElyMark 支持命令行读写已打开文件;ElyMark 支持跨段落选区;ElyShow 在 Windows、Linux 播放幻灯片音视频;修复 Windows 保存报错与内存、句柄泄漏等问题。
评论