Paperling
一款免配置的 Markdown 阅读器和编辑器。 打开任意 .md 文件即可享受优美的阅读体验,通过实时预览进行编辑(输入即可渲染数学公式、化学式和图表),并可选择使用免费的 AI 来生成修改建议,供您在内联中接受或拒绝。无需仓库,无需插件,也非笨重的应用。基于 Tauri、React 和 TypeScript 构建。
⬇ 下载 ·
网站 ·
功能 ·
贡献
## 为什么选择 Paperling?

作为一名开发者,我经常需要处理用于文档、笔记和项目 README 的 Markdown 文件。在记事本或基础文本编辑器中打开 `.md` 文件,却只能看到带有大量杂乱符号和语法的原始未格式化文本,这种挫败感促使我开发了 Paperling。
我想要一个能够直接打开并投入写作的工具:它既能精美地渲染 Markdown,又能让你只需一次按键即可切换回原始文本。像 Obsidian 这样的工具确实强大,但如果你只是想打开一个文件并进行编辑,那么库、图谱和插件等功能就显得过于臃肿了。Paperling 避开了这种复杂性,并加入了我真正需要的实用功能:实时渲染的数学公式和化学式,以及一个可选的免费 AI(可接入你自己的模型),它能在正文中提出供你接受或拒绝的修改建议。
## 截图
**数学公式、化学式、图表和代码 —— 输入即可实时渲染。**
### 四种主题
Dark、Light、Paper 和 Dracula。
| Dark | Light | Paper |
|:----:|:-----:|:-----:|
|

|

|

|
### 文件浏览器 & 命令面板
| 文件浏览器 | 命令面板 |
|:-------------:|:---------------:|
|

|

|
## 功能
###

写作
- **简洁界面** — 极简的 UI 设计,让你免受打扰
- **阅读 / 代码 / 分屏视图** — Ctrl+E 切换,Ctrl+\\ 分屏并支持双向滚动同步
- **专注模式** — 淡化非活动行,让你更专注
- **打字机模式** — 光标始终保持垂直居中
- **格式化工具栏**(可切换)及快捷键:Ctrl+B / Ctrl+I / Ctrl+K / Ctrl+/
- **斜杠命令** — 在行首输入 `/` 即可插入标题、列表、表格、数学公式、Mermaid、标注等
- **自动配对** 括号、引号和代码标记;按 Enter 键自动 **延续列表/引用**
- **在表格中按 Tab 键** 可在单元格间移动;并自动创建新行
- **可视化表格编辑**:当光标在表格中时会出现一个工具栏,提供用于添加或删除行和列、设置列对齐方式以及调整布局的按钮
- **查找与替换**(Ctrl+F / Ctrl+H)支持正则表达式和匹配计数器
- **智能粘贴** — URL → 链接,富文本 HTML → Markdown,TSV → GFM 表格
###

预览
- **GitHub Flavored Markdown** 支持任务列表、表格、删除线
- **代码块** 支持语法高亮和一键复制
- **数学公式** 通过 KaTeX 渲染(`$inline$`, `$$block$$`)— 仅在需要时加载
- **化学式** 通过 mhchem 渲染 — `$\ce{2 H2 + O2 -> 2 H2O}$`、离子、同位素、Kröger-Vink 缺陷
- **Mermaid 图表** (` ```mermaid `) — 流程图、时序图、类图、状态图、甘特图、ER 图、思维导图
- **图片灯箱** — 点击放大;懒加载
- **交互式任务复选框** — 切换状态会写回源码
- **标题锚点** 支持点击跳转
- **Wiki 链接** `[[other-file]]` 可在同一文件夹下解析
- **Frontmatter** 渲染为可编辑的属性卡片
###

AI 助手
- **AI 侧边栏** — 通过 Export 旁边的 **AI** 按钮(或 `Alt+J` / `⌘J`)打开。一个 VS Code 风格的聊天面板停靠在右侧;正文内容会在其旁边重排显示。
- **问答模式** — 针对当前文档进行聊天:总结内容、查找信息、提出问题。回答会实时流式传输。
- **Agent 模式** — 用自然语言描述更改,AI 会提出修改建议。它们会显示为 **编辑器中的内联差异**(绿色表示新增 / 红色表示删除),你可以 **审查并接受或拒绝** — 可以逐条处理,也可以一次性全部处理。在你批准之前,不会写入任何内容。
- **选中文本辅助** — 选中文本并按 `Alt+J` / `⌘J` 可在原地重写、缩短、扩写、续写或翻译。
- **接入你自己的模型** — 兼容任何兼容 OpenAI 的 endpoint:OpenAI、Google Gemini (OpenAI 兼容版)、Ollama、llama.cpp 等。在 **Settings → AI** 中进行配置;你的 API key 将存储在 OS 钥匙串中。
###

文件 & 工作流
- **命令面板** (Ctrl+P) — 搜索命令、文件、标题、开关
- **备忘单** (`?`) — 分类且可搜索的所有快捷键
- **设置模态框** (Ctrl+,) — 侧边栏导航包含 Appearance / Editor / AI / About
- **新建文件** (Ctrl+N) 和 **另存为** (Ctrl+Shift+S)
- **自动保存**(可选,防抖)附带状态指示器
- **外部更改检测** — 当文件在应用外被修改时,可选择重新加载或保留当前版本
- **最近文件** 显示在欢迎屏幕上 — 缺失的文件会被标记
- 启动时 **恢复上次打开的文件**
- 当前文件夹的 **文件浏览器**
- 跟随光标的 **大纲面板**
###

个性化
- **四种主题** — Dark、Light、Paper、Dracula
- **五种字体** — Inter、Merriweather、Lora、Source Serif、Fira Sans
- **三种字号**
- **对 WCAG 友好** — 清晰的焦点环,遵循 `prefers-reduced-motion` 设置
###

平台
- **原生性能** — 基于 Tauri 构建
- **跨平台** — Windows、macOS、Linux
##

安装
从 [Releases](https://github.com/Razee4315/Paperling/releases) 页面下载最新版本。
### 可用格式
| 平台 | 格式 |
|----------|---------|
| **Windows** | `.msi` 安装包 · `.exe` (NSIS) 安装包 |
| **macOS** | `.dmg` (Apple Silicon) |
| **Linux** | `.AppImage` · `.deb` · `.rpm` |
## 开发
### 前置条件
- [Node.js](https://nodejs.org/) (v18+)
- [Bun](https://bun.sh/)(推荐)或 npm
- [Rust](https://www.rust-lang.org/tools/install)
### 设置
```
# Clone 仓库
git clone https://github.com/Razee4315/Paperling.git
cd Paperling
# 安装依赖
bun install
# 在开发模式下运行
bun run tauri dev
# 构建用于 production
bun run tauri build
```
##

键盘快捷键
一些基本快捷键 — 在应用中按 `?` 键可查看完整且可搜索的列表。
| 操作 | 快捷键 |
|--------|----------|
| 命令面板 | Ctrl+P |
| 备忘单 | ? |
| 设置 | Ctrl+, |
| 新建文件 | Ctrl+N |
| 打开文件 | Ctrl+O |
| 保存 | Ctrl+S |
| 另存为 | Ctrl+Shift+S |
| 切换 阅读 / 代码 | Ctrl+E |
| 切换 分屏视图 | Ctrl+\\ |
| 文件浏览器 / 大纲 | Ctrl+Shift+E / Ctrl+Shift+O |
| 查找 / 替换 | Ctrl+F / Ctrl+H |
| 加粗 / 斜体 / 链接 | Ctrl+B / Ctrl+I / Ctrl+K |
| 切换引用块 | Ctrl+/ |
| AI 面板 / 辅助 | Alt+J (Windows) · ⌘J (macOS/Linux) |
## 技术栈
- **前端**: React, TypeScript, Tailwind CSS
- **后端**: Rust, Tauri v2
- **构建**: Vite
## 作者
**Saqlain Abbas**
邮箱: saqlainrazee@gmail.com
GitHub: [@Razee4315](https://github.com/Razee4315)
LinkedIn: [@saqlain.razee](https://www.linkedin.com/in/saqlainrazee/)
## 许可证
Paperling 基于 **[Apache License 2.0](LICENSE)** 授权:可免费用于个人和商业目的的使用、修改和分发,并包含明确的专利授权。只需在重新分发的副本中保留许可证和 [NOTICE](NOTICE) 文件即可。
~ end of file ~