一个轻量、离线、专注于本地阅读与写作的 Markdown 桌面应用。
Obsidian-Lite 使用 Rust、Tauri 2 与 Vue 3 构建,将原生文件系统能力与现代 Markdown 编辑体验组合在一个简洁的无边框窗口中。应用无需账号和云端服务,文档直接从本地读取并保存,适合日常笔记、项目文档、技术文章和代码片段预览。
Important
Obsidian-Lite 是独立项目,与 Obsidian 官方没有隶属关系。Obsidian 名称与标志归其权利人所有。
- 新建、打开、编辑和保存本地 Markdown 文件。
- 支持
.md、.markdown和.mdx文件,单个文件最大 8 MB。 - 可直接打开文件夹,通过左侧文件树浏览其中的 Markdown 文档。
- 文件树自动隐藏点目录、
node_modules和vendor,优先显示文件夹,最多递归 12 层。 - 支持通过命令行参数或 Windows 文件关联直接载入 Markdown 文件。
- 关闭文件夹不会关闭已经打开的文档标签,便于继续处理当前内容。
- 使用标签页同时打开多个文档,重复打开同一文件时自动定位到已有标签。
- 当前文档存在未保存修改时显示状态标记。
- 关闭未保存的标签页前会要求确认,避免误丢内容。
- 新建文件后自动进入源码模式,可直接编辑并保存到本地。
- 源码模式:基于 CodeMirror 6 的 Markdown 编辑器,提供行号、当前行高亮、自动换行和语法解析。
- 预览模式:以排版后的文档形式专注阅读。
- 实时分栏:编辑器与预览区并排显示,内容修改后即时渲染。
- 分栏模式支持编辑区与预览区双向滚动同步,切换回分栏时会尽量保持当前阅读位置。
- 小尺寸窗口下分栏自动调整为上下布局,章节目录自动隐藏。
- 支持标题、段落、引用、链接、列表、任务列表、表格、删除线和自动链接识别。
- 支持围栏代码块与常见语言别名,使用 Highlight.js 进行语法高亮。
- 代码块带有语言标记、行号与一键复制按钮。
- 自动从标题生成右侧章节目录,点击即可定位到对应段落。
- 自动处理 Front Matter、缩进内容和较宽表格,表格可横向滚动。
- 允许文档内 HTML,同时使用 DOMPurify 清理渲染结果。
- 外部链接通过系统默认浏览器安全打开。
- 支持粗体、斜体、链接、行内代码、标题、有序列表、无序列表和代码块快捷编辑。
- 内置查找与替换、撤销、重做、Tab 缩进及选择内容匹配高亮。
- 编辑区与阅读区均适配亮色和暗色主题。
- 状态提示会反馈读取、保存、新建和错误信息。
- 工具栏操作提供悬停说明,便于快速识别常用功能。
- 主题可选择跟随系统、亮色或暗色,也可从工具栏快速切换。
- 自动读取 Windows 系统字体,支持统一调整界面、阅读区和编辑器字体。
- 字体大小可在 12–24 px 之间调整。
- 可控制无文档时是否显示欢迎内容。
- Zen 模式会临时收起文件栏与章节目录,再次切换时恢复此前状态。
- 文件栏、章节目录、视图切换和常用操作均提供键盘入口。
- 文件、视图和 Markdown 编辑操作的快捷键都可在设置中重新录入。
- 保存前会统一快捷键格式并检查冲突,避免多个操作占用同一组合键。
- 支持一键恢复默认设置。
- 设置保存在用户配置目录,升级或覆盖安装后仍会保留。
| 操作 | 快捷键 | 操作 | 快捷键 |
|---|---|---|---|
| 新建 Markdown | Ctrl+N |
打开文件 | Ctrl+O |
| 打开文件夹 | Ctrl+Shift+O |
保存当前文件 | Ctrl+S |
| 关闭当前文件 | Ctrl+W |
打开设置 | Ctrl+, |
| 快捷键面板 | F1 |
Zen 模式 | F11 |
| 源码模式 | Ctrl+1 |
预览模式 | Ctrl+2 |
| 实时分栏 | Ctrl+3 |
切换文件栏 | Ctrl+Backslash |
| 切换章节目录 | Ctrl+Shift+Backslash |
查找与替换 | Ctrl+F |
| 粗体 | Ctrl+B |
斜体 | Ctrl+I |
| 插入链接 | Ctrl+K |
行内代码 | Ctrl+Backtick |
| 一级/二级/三级标题 | Ctrl+Alt+1/2/3 |
代码块 | Ctrl+Shift+K |
| 有序列表 | Ctrl+Shift+7 |
无序列表 | Ctrl+Shift+8 |
| 撤销 | Ctrl+Z |
重做 | Ctrl+Y |
- 启动应用后,点击工具栏中的“打开文件”读取单个 Markdown 文档,或点击“打开文件夹”建立工作区。
- 使用顶部标签页在多个文档之间切换,并通过“源码 / 预览 / 实时”选择当前视图。
- 打开文件夹后,可用左侧文件树选择文档;预览模式下可用右侧章节目录快速跳转。
- 编辑完成后按
Ctrl+S保存。标签名称旁的状态标记表示当前内容尚未保存。 - 点击工具栏中的设置按钮调整主题、字体、欢迎页和快捷键。
| 层级 | 技术 | 用途 |
|---|---|---|
| 桌面运行时 | Rust 2024、Tauri 2 | 原生窗口、文件系统和前后端桥接 |
| 前端 | Vue 3、TypeScript、Vite | 界面与工作区状态管理 |
| 编辑器 | CodeMirror 6 | Markdown 编辑、查找替换与快捷编辑 |
| Markdown | markdown-it | Markdown 解析与 HTML 渲染 |
| 代码高亮 | Highlight.js | 围栏代码块语法高亮 |
| 内容安全 | DOMPurify | 清理预览区 HTML |
| 图标 | Lucide Vue Next | 应用界面图标 |
| 原生插件 | Tauri Dialog、Opener | 文件对话框与系统浏览器调用 |
| 安装包 | NSIS | Windows 当前用户安装、卸载与文件关联 |
Release 构建会将 dist 中的前端资源打包进桌面应用,运行时不需要单独部署 Web 服务。
.
├─ src/
│ ├─ App.vue # 应用外壳、快捷键和滚动同步
│ ├─ components/ # 工具栏、编辑器、预览、侧栏和对话框
│ ├─ composables/
│ │ └─ useMarkdownWorkspace.ts # 标签页、文件和视图状态
│ ├─ services/
│ │ └─ native.ts # Tauri 原生调用封装
│ ├─ utils/
│ │ └─ markdown.ts # Markdown 渲染与内容清理
│ └─ settings.ts # 前端快捷键定义与匹配
├─ src-tauri/
│ ├─ src/
│ │ ├─ files.rs # Markdown 文件、目录树与启动文件
│ │ ├─ settings.rs # INI 设置、校验与持久化
│ │ ├─ fonts.rs # Windows 系统字体枚举
│ │ ├─ models.rs # 前后端数据模型
│ │ └─ lib.rs # Tauri 命令注册与应用状态
│ ├─ windows/
│ │ ├─ installer.nsi # 自定义 NSIS 安装器模板
│ │ └─ assets/ # NSIS 向导图片
│ ├─ Cargo.toml
│ └─ tauri.conf.json # 窗口、打包与文件关联配置
├─ package.json
└─ vite.config.ts
- Windows 10 或 Windows 11
- Node.js 与 pnpm
- Rust stable 工具链
- Microsoft C++ Build Tools
- Microsoft Edge WebView2 Runtime
安装依赖:
pnpm install启动 Tauri 开发模式:
pnpm tauri devTauri 会根据 src-tauri/tauri.conf.json 自动执行 pnpm dev,并连接 Vite 开发服务器。
如需单独检查前端:
pnpm run type:check
pnpm run build运行 Rust 测试:
cargo test --manifest-path .\src-tauri\Cargo.toml在仓库根目录执行:
pnpm tauri build主要产物:
src-tauri\target\release\Obsidian-Lite.exe
src-tauri\target\release\bundle\nsis\Obsidian-Lite_<version>_x64-setup.exe
当前 tauri.conf.json 只启用 NSIS 目标。构建时会先执行 TypeScript 类型检查与 Vite 生产构建,再编译 Rust 应用并生成 Windows 安装包。
NSIS 安装程序具有以下特性:
- 按当前用户安装到
%LOCALAPPDATA%\Obsidian-Lite,无需管理员权限。 - 提供简体中文与英文安装界面。
- 使用应用图标、定制向导侧栏和卸载图标。
- 创建开始菜单快捷方式,并可在完成页创建桌面快捷方式。
- 安装时可选择关联
.md、.markdown和.mdx文件,双击文档即可直接通过应用打开。 - 覆盖升级时识别已有版本和原安装路径。
- 卸载时移除由本应用创建的文件关联和快捷方式。
- 在 Windows“程序和功能”中提供主页、帮助与更新链接。
安装器使用 downloadBootstrapper 模式处理 WebView2。目标电脑已经安装 WebView2 时可直接使用;如果缺少运行时,安装过程需要联网下载。
应用设置保存在:
%AppData%\Obsidian-Lite\settings.ini
设置文件独立于安装目录,包含主题、字体、字号、欢迎页开关和全部快捷键配置。升级、覆盖安装或重新安装应用时会继续保留。
发布新版本时,需要同步修改以下三个版本号,三处均使用语义化版本格式:
package.json 前端项目版本
src-tauri\Cargo.toml Rust 程序及“关于”窗口版本
src-tauri\tauri.conf.json Tauri 应用与 NSIS 安装包版本
例如发布修复版本时,将三处 1.0.0 同步更新为 1.0.1。版本号建议遵循:
- 修复问题:
1.0.0→1.0.1 - 新增兼容功能:
1.0.0→1.1.0 - 包含不兼容改动:
1.0.0→2.0.0
修改完成后执行完整验证和构建:
pnpm run type:check
cargo test --manifest-path .\src-tauri\Cargo.toml
pnpm tauri build自定义 src-tauri/windows/installer.nsi 使用 Tauri 注入的版本变量,无需手动修改模板中的版本号。版本号升高后,运行新版安装包即可进入覆盖升级流程。
重新构建安装包不会自动推送给已安装用户。如果需要应用内检查、下载和安装新版本,需要另外接入并配置 Tauri Updater。
- 应用定位为本地 Markdown 工作台,不包含云同步、账号体系或团队协作服务。
- 文件夹工作区只展示 Markdown 文档,不作为通用文件管理器使用。
- 当前构建与安装配置面向 Windows x64。
- 应用本身可离线读取、编辑和预览文档;仅在目标电脑缺少 WebView2 时,安装器可能需要联网。
- GitHub:X-Lucifer