Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

LocalFirstApp

Local-first(本地优先) 是一种回归用户本位的软件设计理念。它不仅仅关乎技术,更关乎数字世界的自由与尊严。我们相信:

  • 数据主权:数据属于你,而非云端服务商。它应首先保存在你的设备上,你可以随时导出、迁移或自行托管。
  • 离线可用:网络应当是增强体验的加速器,而非使用的前提。无论身处何地,软件核心功能都应触手可及。
  • 无缝同步:在多台设备间可靠地同步数据,通过冲突检测与合并技术,确保你的创作在任何设备上都保持一致。
  • 隐私至上:默认的安全与隐私保护,最大程度减少对中心化服务的依赖。

本站致力于成为 Local-first 软件的精选目录与实践指南,帮助你发现那些真正尊重用户的工具。

收录标准

我们正在寻找符合以下特质的应用:

  • ⚡️ 离线优先:断网状态下依然可以使用核心功能,优雅降级。
  • 💾 本地存储:数据默认存储在本地设备或用户自托管的后端。
  • 🔓 自由迁移:支持开放格式,提供完整的数据导出能力,拒绝被锁定。
  • 🛡️ 透明隐私:清晰的隐私策略,最小化数据收集,且过程可审计。

加分项:

  • 开源:代码公开,社区可审查与贡献。
  • 端到端同步:支持 E2EE 或其他可验证的安全同步方案。

如何贡献

我们需要你的帮助来完善这个目录!

  • 推荐应用:请阅读 收录指南,并按规范提交你发现的优质应用。
  • 改进文档:纠正错误、补充分类标签或完善描述。
  • 分享见解:欢迎提交翻译、使用案例分析或技术对比文章。

目录导航

我们正在构建以下领域的精选列表:

社群项目

我们不仅是观察者,更是创造者。

除了收录现有应用,Local First 社群正在汇聚志同道合的开发者与设计师,共同打造我们心目中理想的本地优先软件。我们将通过实际项目,探索数据主权、离线优先与跨端同步的最佳实践路径,构建真正属于用户的数字工具。

加入讨论

路线图

我们正在持续改进本站体验:

  • 分类检索:引入多维度的分类标签、搜索与过滤功能。
  • 自动化提交:建设应用提交表单与基础自动化校验流程。
  • 技术指南:整理参考架构与实现清单(CRDT/OT、P2P、同步协议等)。
  • 深度专题:发布案例研究与数据主权最佳实践报告。

本地开发与预览

本站基于 mdBook 构建,你可以轻松在本地运行:

  1. 安装工具cargo install mdbook
  2. 启动预览mdbook serve -o
  3. 构建站点mdbook build

致谢:感谢所有推动 Local-first 运动的社区与项目。让我们一起努力,夺回属于我们的数字生活。

应用收录指南与模板

欢迎推荐优质的 Local-first 应用!为了保证目录的质量和一致性,请在提交(Issue 或 PR)时参考以下规范。

收录原则

在提交之前,请确认该应用符合我们的核心价值观:

  1. 数据本地优先:不依赖云端即可运行核心功能。
  2. 用户控制权:用户可以掌控自己的数据(导出/导入)。
  3. 主要功能完整:不仅仅是一个 Demo,而是具有实用价值的工具。

提交模板

请复制以下 Markdown 内容并填写:

# 应用名称 (App Name)

> 一句话简介,概括应用的核心功能与定位。

- **官网**: [链接地址]
- **源码仓库**: [GitHub/GitLab链接] (如果是开源)
- **支持平台**: `Web` / `macOS` / `Windows` / `Linux` / `iOS` / `Android`
- **许可证**: `MIT` / `GPL` / `Proprietary` (商业闭源) / `Freemium` (免费增值) ...

## 核心特性
- [x] **离线可用**: 断网不影响核心功能
- [ ] **端到端加密**: (可选) 支持 E2EE
- [x] **数据导出**: 支持标准格式 (JSON/Markdown/CSV等) 导出
- [ ] **多端同步**: (可选) 说明同步机制 (如 P2P, CouchDB, iCloud, 自托管等)

## 简介与推荐理由
在这里简要介绍该应用的特点。为什么它是一个优秀的 Local-first 应用?
例如:它的同步机制非常顺滑,或者它使用了 CRDT 技术解决了冲突问题,或者它的 UI/UX 设计非常出色。

## 安装指南
说明如何在不同平台上安装。例如包管理器命令、下载地址或自托管部署方式。

## 使用说明
简要说明基本用法、核心功能的操作路径或重要的配置说明。

## 技术栈 (可选)
- 前端: React, Vue, Tauri...
- 数据存储: SQLite, IndexedDB, PouchDB...
- 同步协议: Automerge, Yjs, Replicache...

## 截图 (可选)
![应用截图](图片链接)

示例

知识管理

本章节收录本地优先的笔记与知识库管理工具。

Obsidian

你的第二个大脑,基于本地 Markdown 文件的强大知识库。

  • 官网: https://obsidian.md/
  • 社区: Forum
  • 支持平台: macOS / Windows / Linux / iOS / Android
  • 许可证: Proprietary (个人免费,商用需付费)

核心特性

  • 离线可用: 所有数据均为本地 Markdown 文件,无需网络。
  • 端到端加密: 官方同步服务支持 E2EE(付费),或使用第三方插件自托管。
  • 数据导出: 原生 Markdown 格式,无任何锁定。
  • 插件生态: 拥有庞大的社区插件库,可无限扩展功能。

简介与推荐理由

Obsidian 是目前最流行的 Local-first 笔记应用之一。它坚持“文件即应用”的理念,所有的笔记都以标准的 Markdown 文件存储在你的本地硬盘上。这意味着即使 Obsidian 这家公司倒闭了,你的数据依然完好无损,且可以被任何文本编辑器读取。

它的双向链接功能帮助你构建知识网络,而强大的插件系统则让它几乎无所不能——从简单的日记到复杂的项目管理。虽然它核心不是开源的,但其对数据主权的尊重使其成为了 Local-first 社区的标杆。

安装指南

前往官网下载对应版本: https://obsidian.md/download

支持所有主流桌面和移动平台。

使用说明

  1. 创建仓库 (Vault): 选择一个本地文件夹作为你的知识库。
  2. 开始写作: 使用 Markdown 语法编写笔记,使用 [[链接]] 关联其他笔记。
  3. 同步:
    • 官方同步: 购买 Obsidian Sync (最省心,支持 E2EE)。
    • 第三方同步: 使用 Remotely Save 插件配合 S3/WebDAV,或使用 Syncthing/iCloud 进行文件级同步。

截图

Obsidian Interface

办公协作

本章节收录支持离线编辑与本地存储的白板、看板、文档协作与办公效率工具。

开发工具

本章节收录本地优先的代码编辑器、数据库管理工具、终端模拟器及其他开发辅助软件。

图形图像

本章节收录本地优先的图片处理、截图与管理工具。

  • Flameshot:一款功能强大且高度可定制的跨平台截图工具,支持内置编辑。

Flameshot

一款功能强大、易于使用的屏幕截图工具,具有高度可定制的外观和内置的截图编辑功能。

核心特性

  • 离线可用: 核心截图与编辑功能完全运行在本地。
  • 数据导出: 支持保存为 PNG/JPG 等本地文件,或复制到系统剪贴板。
  • 隐私友好: 程序不会未经用户请求向外部网络系统传输任何信息。
  • 多端同步: 无内置同步功能,需配合其他工具(如 Syncthing)同步截图文件夹。

简介与推荐理由

Flameshot 是一款备受开发者和极客喜爱的截图工具,尤其在 Linux 平台上拥有极高的人气。

它不仅仅是一个截图工具,更是一个高效的“截图即标注”的工作流中心。你可以在截图选框出现的那一刻,直接使用内置的画笔、箭头、文字、马赛克等工具进行标注,然后直接复制到剪贴板或保存。

推荐理由:

  • 极致的键盘操作:支持丰富的快捷键,手不离键盘即可完成截图、编辑、保存全流程。
  • 高度可配置:从界面颜色、按钮布局到文件名格式,几乎所有细节都可以通过配置文件或 GUI 自定义。
  • CLI 支持:强大的命令行接口,方便集成到脚本或系统自动化任务中。

安装指南

  • Linux: 大多数发行版已收录。
    • Debian/Ubuntu: sudo apt install flameshot
    • Arch Linux: sudo pacman -S flameshot
    • Fedora: sudo dnf install flameshot
  • macOS:
    • Homebrew: brew install --cask flameshot
    • MacPorts: sudo port install flameshot
  • Windows:
    • Chocolatey: choco install flameshot
    • 也可以在 GitHub Releases 下载最新安装包。

使用说明

1. 启动截图

  • GUI 模式: 运行 flameshot gui 启动交互式截图界面。你可以在屏幕上拖拽选择区域,然后使用底部的工具栏进行标注。
  • 命令行模式:
    • flameshot full -c: 截取全屏并复制到剪贴板。
    • flameshot screen -n 1 -p ~/Desktop: 截取第一个屏幕并保存到桌面。

2. 快捷键配置

  • Windows: 默认绑定 PrtSc (Print Screen) 键。
  • macOS: 默认无全局快捷键,建议在系统设置中绑定 Cmd + Shift + Xflameshot gui
  • Linux: 需要在桌面环境(GNOME/KDE/i3等)中手动设置快捷键绑定到 flameshot gui 命令。

3. 配置文件 配置文件通常位于 ~/.config/flameshot/flameshot.ini,你可以通过编辑此文件或右键托盘图标选择“配置”来修改界面颜色、文件名格式等。

技术栈

  • 语言: C++
  • 框架: Qt
  • 构建: CMake

影音媒体

本章节收录本地音乐播放器、视频播放器、电子书阅读器及媒体库管理工具。

财务管理

本章节收录隐私优先的个人财务管理工具。

Actual Budget

一个超快、隐私优先的本地个人理财工具。

核心特性

  • 离线可用: 无论是桌面端还是网页版,断网时依然可以流畅记账。
  • 端到端加密: 数据在同步到服务器前会在本地加密。
  • 数据导出: 支持导出为 JSON 或 CSV 格式。
  • 零封包法: 采用 Envelope Budgeting(信封预算)理念,帮你精细规划每一分钱。

简介与推荐理由

Actual 最初是一个商业软件,后由开发者完全开源并转交给社区维护。它采用了先进的 Local-first 架构(基于 SQLite 和 CRDTs),使得多端同步异常顺滑,且 UI 响应极快。

它不仅仅是记录流水,更强调“预算”的作用。它强制你为每一笔收入分配用途(放入信封),从而帮你摆脱月光,实现财务目标。你可以选择自托管服务端,彻底掌控敏感的财务数据。

安装指南

桌面端

从 GitHub Releases 下载客户端: https://github.com/actualbudget/actual/releases

自托管服务端 (推荐)

使用 Docker 快速部署服务端以启用多端同步:

docker run -d --name actual-server -p 5006:5006 -v ./actual-data:/data actualbudget/actual-server:latest

部署后,在客户端设置中输入你的服务器地址即可。

使用说明

  1. 制定预算: 在月初为各类支出(如房租、餐饮)分配金额。
  2. 记录交易: 每一笔消费都从对应的预算分类中扣除。
  3. 银行同步: 支持通过 GoCardless (欧洲) 或 SimpleFIN (北美) 自动同步银行流水(需额外配置)。

技术栈

  • 前端: React
  • 数据库: SQLite (WASM)
  • 同步: Custom CRDT implementation

截图

Actual Budget Screenshot

安全隐私

本章节收录与数字安全、隐私保护、身份认证相关的 Local-first 应用。

Flauth

一个隐私优先、跨平台的开源两步验证(2FA)工具。

核心特性

  • 离线可用: 核心生成验证码功能无需网络。
  • 端到端加密: 本地数据加密存储。
  • 数据导出: 支持数据导出与 WebDAV 备份。
  • 多端同步: 通过 WebDAV 协议(如 Nextcloud)实现自托管同步。

简介与推荐理由

Flauth 是一个构建在 Flutter 之上的现代化 2FA 验证器。它完美诠释了 Local-first 理念:用户拥有数据的完全控制权。

与许多将数据锁定在自家云服务的验证器不同,Flauth 允许用户选择自己的同步后端(任何支持 WebDAV 的服务)。这意味着你可以在享受多设备同步便利的同时,不必担心数据泄露给第三方。其界面清爽,跨平台支持良好,是 Google Authenticator 的优秀开源替代品。

安装指南

请前往 GitHub Releases 下载最新版本。

  • Android: 下载 .apk 文件,或通过 F-Droid 安装。
  • macOS: 源码编译。
  • Windows: 源码编译。
  • Linux: 提供 .AppImage.tar.gz 包。

使用说明

  1. 添加密钥:支持扫描二维码或手动输入 Secret Key。
  2. WebDAV 备份:进入设置 -> 备份,配置你的 WebDAV 服务器地址、账号和密码。
  3. 恢复数据:在新设备上输入同样的 WebDAV 配置即可拉取数据。

技术栈

  • 框架: Flutter
  • 同步: WebDAV

截图

Flauth Screenshot

文件传输

本章节收录本地优先、局域网直连的文件传输与共享工具。

LocalSend

局域网内的“空投”(AirDrop),开源、跨平台且无需互联网。

核心特性

  • 离线可用: 仅需连接同一局域网(Wi-Fi 或热点),无需外部互联网。
  • 端到端加密: 文件传输过程经过安全加密。
  • 无需注册: 没有任何云端账户系统,安装即用。
  • 多端支持: 完美覆盖主流桌面与移动操作系统。

简介与推荐理由

LocalSend 是目前体验最好的跨平台局域网文件传输工具。它解决了不同操作系统(如 Android 到 macOS,或 Windows 到 iOS)之间传输文件的一大痛点,且完全不依赖中心化服务器。

它会自动发现局域网内的其他 LocalSend 客户端,并为其分配一个可爱的临时名称。由于它是在本地网络内直连传输,速度仅受限于你的 Wi-Fi 硬件,通常远快于通过云端中转。对于注重隐私和效率的用户来说,它是 AirDrop 的完美全平台替代方案。

安装指南

桌面端

  • Windows: GitHub 下载 或使用 scoop install localsend
  • macOS: App Storebrew install localsend
  • Linux: 提供 AppImage, deb, rpm 等多种格式。

移动端

使用说明

  1. 发送: 在“发送”页面选择文件、媒体或文本。
  2. 接收: 确保接收设备也打开了 LocalSend,并在发送端点击出现的接收者。
  3. 设置: 你可以在设置中修改设备名称、更改保存目录或开启“快速保存”以跳过确认。

技术栈

  • 框架: Flutter
  • 核心逻辑: Dart & Rust (用于提升传输性能)

截图

LocalSend Screenshot

系统工具

本章节收录本地优先的文件管理、系统备份、启动器及其他增强系统能力的实用工具。

智能家居

本章节收录支持本地控制、隐私优先的智能家居自动化平台与物联网工具。

人工智能

本章节收录支持本地部署的大语言模型 (LLM) 运行环境、推理框架及 AI 辅助工具。