QOwnNotes 概念架构全解:从桌面 Markdown 笔记到 Nextcloud 生态与扩展工具链 桌面应用【免费下载链接】QOwnNotesQOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.项目地址https://gitcode.com/gh_mirrors/qo/QOwnNotes点击查看免费下载本文围绕 QOwnNotes 的核心设计理念展开笔记以纯文本 Markdown 文件的形式存放在你自己的电脑上而桌面应用、浏览器扩展、终端 TUI、移动端应用与 Nextcloud / ownCloud 服务端共同构成一个以本地文件为中心、以云端为同步与协作枢纽的完整生态。读完本文你将理解 QOwnNotes 各组成部分的职责边界掌握 Homepage 书签建议 API、LanguageTool 与 Harper 语法检查服务的配置方法并能在自己的 Nextcloud 服务器上把笔记、待办、书签与回收站/版本历史串联起来。全局架构一览谁在本地谁在云端QOwnNotes 的概念页用一张完整的架构图见webpage/src/nl/getting-started/concept.md说明了整个生态的分工可以归纳为三个层次本地你的电脑QOwnNotes 桌面端负责管理笔记本身读写本地 Markdown 文件并通过 Nextcloud / ownCloud 服务器与他人公开分享笔记Markdown 文件笔记、媒体与附件存放的载体全部由你掌控Nextcloud 同步客户端负责把本地文件同步到服务器注意这是文件同步而非 QOwnNotes 自己实现的同步浏览器扩展管理浏览器书签并作为 Web Clipper 使用命令行片段管理器在命令行执行你的命令片段QOwnNotes TUI键盘优先的终端笔记浏览与编辑器直接操作本地 Markdown 文件Homepage 仪表盘通过 QOwnNotes 提供的书签建议 API在 Homepage 搜索框中直接获得书签补全。服务端你的 Nextcloud 服务器QOwnNotesApi服务端应用提供服务端回收站与笔记版本访问能力Nextcloud Notes网页端笔记编辑应用Nextcloud Deck网页端待办与提醒看板应用。移动端与其他服务QOwnNotes Android离线可用的 Markdown 笔记应用通过 Nextcloud Notes 与 QOwnNotesApi 同步QOwnNotes 网页应用把手机照片快速插入桌面端当前笔记可选服务LanguageTool在线语法/风格检查、Harper离线语法/风格检查、api.qownnotes.org更新检查服务。这套架构的关键判断是QOwnNotes 桌面端本身不负责文件同步也不要求你必须使用 Nextcloud——笔记始终是本地纯文本文件同步只是让它们出现在其他设备上的方式。Markdown 笔记文件数据主权在你手里概念页反复强调的核心理念是你拥有你的所有笔记与媒体/附件笔记以纯文本 Markdown 文件形式存放在桌面电脑上不依赖私有格式或专有数据库除了 QOwnNotes你可以使用任何文本编辑器查看或编辑这些笔记文件数据永不锁定通过 Nextcloud 或 ownCloud 的桌面同步客户端可以把笔记同步到其他设备桌面与移动端。从源码角度看书签解析完全基于 Markdown 语法在 bookmark.cpp 中Bookmark::parseBookmarks会同时识别 Markdown 链接形式[name](http://... )与裸 URL 尖括号形式http://...并合并到统一的Bookmark列表。这意味着你对笔记文件的一切编辑——包括手工写的链接——都会被 QOwnNotes 理解并索引这是后续浏览器扩展与 Homepage 建议 API 的数据基础。QOwnNotes 桌面端的职责边界概念页明确列出了桌面端的能力与边界存储将笔记保存在你的笔记文件夹中的 Markdown 文件里公开分享与 Nextcloud / ownCloud 服务器通信把笔记作为公开页面分享给其他人服务端历史与回收站通过 QOwnNotesApi Nextcloud 应用 访问服务器端的笔记版本历史与回收站待办列表访问 Nextcloud / ownCloud 服务器上的待办列表不做同步QOwnNotes不同步笔记、媒体与附件文件。原因正如概念页所解释文件同步是复杂的工程问题而业界已有成熟的同步方案Nextcloud 桌面同步客户端等不必重复造轮子。这条同步交给专业工具的原则是理解 QOwnNotes 设计哲学的关键——它把精力集中在编辑体验与云端 API 的对接上而不是与文件同步引擎竞争。浏览器扩展与 Web ClipperQOwnNotes 浏览器扩展Web Companion有两个核心用途管理浏览器书签书签以 Markdown 形式写入你的笔记Web Clipper把网页内容剪藏进当前笔记。一个重要特性是离线可用扩展直接与本地运行的 QOwnNotes 通信不需要互联网连接。详细的安装与使用说明见 浏览器扩展文档。同时驱动书签解析与索引的同一套逻辑还可以通过本地建议 API为 Homepage 仪表盘提供搜索建议——这就是下一节的内容。Homepage 仪表盘用书签建议 API 增强全局搜索QOwnNotes 可以为 Homepage。在 QOwnNotes 中启用打开设置 - 浏览器扩展 / 命令片段Settings - Browser extension / command snippets开启启用套接字服务器Enable socket server在Bookmark suggestion API分组中开启启用兼容 Homepage 的书签建议 APIEnable Homepage-compatible bookmark suggestions API设置本地端点端口可选设置安全令牌security token要求 Homepage 请求携带令牌进行鉴权。该服务只绑定到127.0.0.1不会暴露到局域网或公网。源码中可见 websocketserverservice.cpp 使用QHostAddress::LocalHost监听端口默认值为22224调试构建为 22225见 getBookmarkSuggestionApiDefaultPort令牌通过CryptoService加密后写入设置键为webSocketServerService/bookmarkSuggestionApiToken并在为空时自动生成 32 位随机字符串webcompanionsettingswidget.cpp。端点协议端点格式为GET /suggest?qhome支持以下参数参数说明q查询关键字必填limit返回建议条数上限默认10最大50token若在 QOwnNotes 中配置了安全令牌请求必须携带从 websocketserverservice.cpp 的实现可以看到端点的完整行为仅接受GET方法其余返回 405、仅接受/suggest路径其余返回 404、令牌不匹配返回 401、limit非法时回退到默认值 10并强制夹在 1~50 之间。响应格式为 JSON 数组第一个元素是查询词第二个元素是字符串数组。例如[home, [Homepage, https://example.com/home, Some Home Link]]这一格式由 Bookmark::homepageSuggestionResponseJson 生成。建议的排序逻辑见 Bookmark::suggestionStrings值得说明匹配分为前缀匹配名称/URL/元数据以查询词或某个词元开头与子串匹配前缀匹配结果排在前面匹配范围覆盖书签的名称、URL、标签、描述与原始 Markdown 文本且要求查询词的每个词元都命中。Homepage 端配置示例search: provider: custom url: https://example.com/search?q suggestionUrl: http://127.0.0.1:22224/suggest?q showSearchSuggestions: trueprovider: custom使用自定义搜索提供商url是搜索请求的模板地址示例占位请替换为你的实际搜索入口suggestionUrl指向 QOwnNotes 本地建议端点若改了端口请同步修改showSearchSuggestions: true启用搜索建议下拉。若为端点配置了安全令牌且使用了custom.jssuggestionUrl保持原样即可只需把QON_TOKEN设置为与 QOwnNotes 中相同的令牌脚本会自动追加token...。修改哪个 Homepage 配置文件在标准 Homepage 安装中把search配置块添加进以下任一文件settings.yamlHomepage 全局设置settings.yml同上取决于你的部署方式挂载进容器/app/config/settings.yaml的文件。如果 Homepage 配置被拆分成多个文件请编辑已经包含search提供商设置的那个文件。仓库附带的 custom.js / custom.css仓库docs/homepage目录提供了现成的 Homepage 定制资源具体机制见 docs/homepage/README.mdcustom.js拦截 Homepage 的建议接口调用/api/search/searchSuggestion从http://127.0.0.1:22224/suggest?qquerylimitQON_LIMIT拉取 QOwnNotes 建议与 Homepage 自身建议合并返回给 QOwnNotes 建议添加[QON]前缀便于识别构建建议文本 ↔ URL映射拦截window.open(...)让书签建议直接在新标签页打开书签 URL 而不是发起搜索绕过 Homepage 客户端把建议硬截断为 4 条的裁剪逻辑并为对应行添加qon-suggestionCSS 类。custom.css为.qon-suggestion行添加左边框与绿色文字样式让 QOwnNotes 建议在视觉上与普通建议区分开。custom.js顶部暴露了可调参数QON_URL建议端点、QON_TOKEN安全令牌、QON_LIMIT拉取条数、QON_LABEL前缀标记默认[QON]、DEBUG置true开启控制台日志。注意如果你的 Homepage 运行在与 QOwnNotes 不同的机器/容器上需要把这些资源放到 Homepage 实例上才能查询本地建议 API 并完成合并展示修改文件后建议强制刷新页面让浏览器加载新版本。安全提示若需要让端点突破 localhost 限制例如 Homepage 在远程主机上应在端点前放置反向代理并通过防火墙规则或白名单限制访问——因为书签数据可能包含敏感的 URL。命令行片段管理器QOwnNotes 还可以管理你的命令片段command snippets并直接在命令行执行它们。详细用法见 命令行片段管理器文档。从 commandsnippet.cpp 的解析实现看命令片段以 Markdown 列表形式存储在笔记中格式形如- \my-command #tag1 #tag2 description text可选标签与描述正则[-*]\scmd:\s(.?)(.*)$负责识别实体类CommandSnippet持有command、tags、description 三个字段并通过 jsonObject() 序列化供 WebSocket 服务把片段输出到命令行工具。QOwnNotes TUI终端里的键盘优先体验QOwnNotes TUI允许你在终端中浏览和编辑笔记。它直接操作本地 Markdown 笔记文件并复用 QOwnNotes 中配置的笔记文件夹及其笔记排序设置因此桌面端与终端的使用体验保持一致。详细说明见 QOwnNotes TUI 文档。语法与风格检查LanguageTool 与 HarperLanguageTool可选QOwnNotes 可以接入本地或远程的LanguageTool服务器在编辑器中做语法与风格检查它是可选功能与既有的拼写检查共存在设置 - 编辑器Settings - Editor中启用配置服务器 URL、语言、可选的API key以及要检查的类别也可以在Spelling菜单中通过Check grammar with LanguageTool快速开关检测到的问题可通过编辑器右键上下文菜单应用建议与处理操作。源码层面languagetoolchecker.cpp 的默认值如下服务器 URL 默认http://localhost:8081语言默认autoAPI key 经CryptoService加密存储检查延迟防抖默认 1500ms、超时默认 5000ms且支持按类别启停检查。完整配置说明见 LanguageTool 文档。Harper可选QOwnNotes 也可以接入本地运行的Harper服务实现完全离线的语法与风格检查同样是可选功能与现有拼写检查并存在设置 - 编辑器 - HarperSettings - Editor - Harper中启用配置传输方式transport、harper-ls命令或 TCP 目标、方言dialect以及要使用的linters可在Edit菜单中通过Check grammar with Harper快速开关检测到的问题支持在上下文菜单中查看建议与忽略操作。harperchecker.cpp 给出了具体默认值传输模式默认 0harper-ls二进制路径默认harper-lsTCP 地址默认127.0.0.1、端口默认4000方言默认American检查延迟 1500ms、超时 5000ms默认启用的 linters 包括SpellCheck、AnA、SentenceCapitalization、RepeatedWords、LongSentences、Spaces、QuoteSpacing、NoFrenchSpaces、WrongApostrophe、CorrectNumberSuffix、UnclosedQuotes并支持按规则与按单词忽略。完整说明见 Harper 文档。Nextcloud 服务端生态桌面同步客户端与服务器用 Nextcloud 或 ownCloud 的桌面同步客户端把笔记同步到其他设备桌面与移动端服务端可以选择自托管也可以使用托管方案。概念页同时指出Dropbox、Syncthing、Seafile、BitTorrent Sync等方案同样可以用于同步笔记与其他文件甚至可以用git配合 gitomatic 之类的工具来做版本化同步——这再次印证了 QOwnNotes 的文件格式开放性与同步方案无关的设计。QOwnNotesAPI服务端回收站与版本历史QOwnNotesAPI是一个 Nextcloud 应用它让你能够访问服务器端的已删除笔记回收站与笔记版本。这是桌面端历史与回收站能力的基础详见 QOwnNotesAPI 文档。Nextcloud Notes网页端编辑使用Nextcloud Notes服务器应用可以在网页上编辑你的笔记。需要注意一个限制Nextcloud Notes 目前最多只支持一层子文件夹subfolders不要依赖深层目录结构。Nextcloud Deck网页端待办可以使用 QOwnNotes 在Nextcloud Deck中快速创建卡片tickets把桌面端收集的任务直接推送到网页看板实现待办事项在桌面与云端之间的流转。移动端QOwnNotes Android 与 Web AppQOwnNotes AndroidQOwnNotes Android是在移动设备上访问 Nextcloud / ownCloud 笔记的推荐应用定位是离线可用的 Markdown 笔记应用通过 Nextcloud Notes API 与 QOwnNotesAPI 应用与服务器同步。概念页列出的特性包括以Room作为本地数据源source of truth编辑立即缓存、服务器可达时再同步与服务器上的Nextcloud Notes和QOwnNotesAPI通信可访问笔记版本历史与服务端回收站支持从 Nextcloud Files Android 应用导入Single Sign-On单点登录凭据渲染CommonMark 与 GitHub Flavored Markdown支持三态复选框未完成/已完成/部分完成、wiki 链接、表格、围栏代码块与远程图片提供带格式操作、撤销/重做、光标保持与本地草稿持久化的Markdown 编辑器支持收藏笔记可离线切换收藏状态并按收藏优先排序可以从其他 Android 应用共享文本直接创建笔记在 Android 9 上提供浅色与深色主题。更多细节见 QOwnNotes Android 文档。其他移动方案第三方 Nextcloud Notes for Android 应用、Synchronize Ultimate/FolderSync等同步工具配合neutriNotes/ Markor 等编辑器也是可行的组合iOS 上则有 CloudNotes 等第三方应用或通过 WebDAV 同步配合 Notion 类笔记本应用。QOwnNotes Web App照片快速插入通过QOwnNotes 网页应用app.qownnotes.org可以把手机上的照片直接插入到桌面端 QOwnNotes 的当前笔记中省去邮件/数据线中转。详见 Web App 文档。api.qownnotes.org更新检查服务api.qownnotes.org是 QOwnNotes 的在线更新服务职责包括与 GitHub 通信检查是否有新版本发布获取合适的下载 URL将当前版本到最新版本之间的变更日志changelog编译成 HTML在更新对话框中展示额外提供Release RSS 订阅/rss/app-releases以及面向旧版本 QOwnNotes 的旧版更新检查 API实现。小结一套本地优先、云端协同的笔记工作流把概念页的各个模块串起来就是一套完整的工作流在桌面上用 QOwnNotes 编辑本地 Markdown 笔记 → 用浏览器扩展剪藏网页与书签 → 用命令行片段与 TUI 扩展工作场景 → 通过 Nextcloud 同步客户端把文件带到服务器 → 在网页端用 Nextcloud Notes / Deck 协作 → 在手机上用 QOwnNotes Android 离线读写 → 用 LanguageTool / Harper 保证写作质量。而 QOwnNotes 始终坚守笔记是你的文件这一底线任何一环都可替换数据主权始终在你手里。赞分享桌面应用【免费下载链接】QOwnNotesQOwnNotes is a plain-text file notepad and todo-list manager with Markdown support and Nextcloud / ownCloud integration.项目地址https://gitcode.com/gh_mirrors/qo/QOwnNotes点击查看免费下载相关推荐QOwnNotes 概念详解Markdown 笔记、Nextcloud 生态与本地工具链全景图QOwnNotes 概念详解Markdown 笔记、Nextcloud 生态与本地工具链全景图 QOwnNotes 是一款开源的纯文本 Markdown 笔记桌面应用QOwnNotes 概念全解析Markdown 笔记生态、Nextcloud 集成与周边组件架构QOwnNotes 概念全解析Markdown 笔记生态、Nextcloud 集成与周边组件架构 QOwnNotes 是一款面向 GNU/Linux、macO桌面应用QOwnNotes 生态架构全解桌面 Markdown 笔记与 Nextcloud 协同指南QOwnNotes 生态架构全解桌面 Markdown 笔记与 Nextcloud 协同指南 导读 本文基于 QOwnNotes 官方概念文档 https:/桌面应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考