桌面应用【免费下载链接】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 官方的 Web Companion 浏览器扩展讲解它的安装与安全令牌配置、网页剪藏Web clipper功能、基于 Markdown 笔记的书签管理语法以及如何通过 Bookmark suggestion API 将 QOwnNotes 的书签接入 Homepage 搜索建议。读完后你能够完整配置「桌面应用 浏览器扩展」的本地通信链路并用 QML 脚本接管剪藏流程、用本地 HTTP 接口复用同一套书签数据。一、运行前提QOwnNotes 必须在运行但全程离线可用Web Companion 扩展用于从浏览器页面剪藏内容并管理跨浏览器、跨操作系统的书签。两个关键前提需要记住QOwnNotes 桌面应用必须处于运行状态扩展才能工作——扩展并不是独立的云端服务而是通过本机 WebSocket 通道把数据交给桌面应用处理不需要互联网连接扩展完全可以在离线状态下工作所有数据流只发生在本机浏览器与本机 QOwnNotes 之间。从源码结构看这条本地通信链路由桌面应用侧的 WebSocketServerService 提供该类同时维护一个 WebSocket 服务器m_pWebSocketServer供浏览器扩展连接和一个 HTTP 服务器m_pHttpServer供书签建议 API 使用默认监听端口可在设置中修改。二、安装与安全令牌配置1. 获取扩展Web Companion 扩展可以在以下渠道获取扩展源码仓库名为 qownnotes/web-companionChrome Web StoreChrome 应用商店Firefox Add-ons 页面Firefox 附加组件GitHub 上的 web-companion 扩展仓库。2. 添加安全令牌Security Token安全令牌是扩展与 QOwnNotes 桌面应用握手时的身份凭证配置流程为首次点击浏览器工具栏中的 QOwnNotes 扩展图标时会弹出一个带有安全令牌的对话框把该令牌复制下来进入浏览器的扩展管理页面点开 QOwnNotes 扩展的详情将令牌粘贴到Security Token安全令牌输入框中。在 QOwnNotes 侧安全令牌可以在设置 - Browser extension / command snippets页面查看——对应源码 webcompanionsettingswidget.ui 中 Web socket server 分组下带有 Show security token 提示的工具按钮。同时该页面可以配置Socket server port取值范围 1–65535默认值 22222同文件中的webSocketServerServicePortSpinBox控件。3. 开启私有模式支持如果你希望在隐私/无痕窗口中也使用扩展需要在该扩展的设置中允许它在隐私窗口中运行否则扩展在无痕模式下不会生效。三、Web clipper网页剪藏在网页上右键单击页面或选中的文本即可调用web-clipper网页剪藏功能它还能基于当前网页创建一条带截图screenshot的新笔记。剪藏不生效时的排查清单原文档给出的故障排查要点按顺序核对确认QOwnNotes 桌面应用正在运行并且 Web Companion 扩展已配置好安全令牌确认你在首次点击浏览器工具栏扩展图标时接受了同意对话框consent dialog如果使用Firefox还需要在扩展设置的Permission中打开可选权限Access your data for all websites否则会报错TypeError: chrome.tabs.captureVisibleTab is not a function剪藏是可脚本化的websocketRawDataHookWeb clipper 支持通过 QML 脚本接管剪藏数据。浏览器扩展通过右键菜单发送数据时会触发websocketRawDataHook钩子其方法签名为见 hooks 文档 的websocketRawDataHook一节/** * param requestType can be page or selection * param pageUrl the url of the webpage where the request was made * param pageTitle the page title of the webpage where the request was made * param rawData the data that was transmitted, html for requestType page * or plain text for requestType selection * param screenshotDataUrl the data url of the screenshot of the webpage * return true if data was handled by a hook */ function callHandleWebsocketRawDataHook(requestType, pageUrl, pageTitle, rawData, screenshotDataUrl);也就是说你可以在脚本里拿到剪藏来源的页面 URL、标题、原始数据整页为 HTML选区为纯文本以及截图的 data URL完全自定义剪藏后的处理逻辑。仓库内提供了可参考的示例脚本 websocket-raw-data-selection-in-note.qml 与 websocket-raw-data-new-note.qml。四、基于笔记的书签管理如果你希望完全掌控浏览器书签并且在不同浏览器和操作系统之间使用同一套书签Web Companion 就是为这个场景设计的书签的存储与同步完全由 QOwnNotes 的纯文本笔记承担。书签数据来源的两种模式当前笔记模式默认点击浏览器中的 QOwnNotes 图标时扩展的弹出窗口会显示当前笔记中的所有链接这些链接会被打上current标签书签笔记模式在设置中指定一个书签标签默认为bookmarks所有带该标签的笔记中的链接都可作为书签管理且这些链接可以附带标签和描述会一并显示在浏览器扩展中。新书签默认写入一条名为Bookmarks的笔记笔记名同样可在设置中修改。此外你还可以用 Web Companion 扩展把浏览器现有的书签导入 QOwnNotes。设置项与默认值的对应关系可以在 webcompanionsettingswidget.ui 中核对bookmarksTagLineEditBookmarks tag提示文案为 Notes with this tag will be used for fetching bookmarks与bookmarksNoteNameLineEditBookmarks note name提示文案为 This note will be used for adding new bookmarks from the browser extension。书签链接的 Markdown 语法书签链接采用标准 Markdown 列表 链接语法行尾可追加标签与描述- [Webpage name](https://www.example.com) - [Webpage name](https://www.example.com) #tag1 #tag2 - [Webpage name](https://www.example.com) some description only - [Webpage name](https://www.example.com) #tag1 #tag2 some description and tags * [Webpage name](https://www.example.com) the alternative list character also works语法要点列表符号-和*均可使用链接后追加#tag1 #tag2表示标签链接后追加普通文本表示描述标签与描述可以混用在扩展的弹出窗口中你可以按名称、URL 标签或描述进行搜索在当前笔记中正文里的其他链接也会被解析为书签候选但不附带标签和描述。五、Bookmark suggestion API把书签接入 Homepage 搜索建议QOwnNotes 可以在本地暴露一个 HTTP 端点为 Homepage 的suggestionUrl搜索建议提供支持后端复用的正是 Web Companion 同一套书签解析与索引逻辑。详细说明见 Homepage suggestion API 文档。启用步骤打开Settings - Browser extension / command snippets勾选Enable socket server启用 socket 服务器在Bookmark suggestion API分组中勾选Enable Homepage-compatible bookmark suggestions API并设置端口。该服务只绑定127.0.0.1——这一点在源码中可以直接确认websocketserverservice.cpp 的startSuggestionHttpServer()使用m_pHttpServer-listen(QHostAddress::LocalHost, port)启动监听若端口被占用会输出 Could not start bookmark suggestion API on port … 的警告。设置页中该 API 的端口默认值为22224bookmarkSuggestionApiPortSpinBox安全令牌输入框最长 32 字符留空保存时会自动生成新令牌见bookmarkSuggestionApiTokenLineEdit的提示文案。端点与参数请求方式GET /suggest?qhome可选参数limit默认10最大50可选参数token如果你在 QOwnNotes 中配置了安全令牌请求需携带服务端对参数的处理逻辑可在 processHttpRequest() 中核对非 GET 请求返回 405非/suggest路径返回 404令牌不匹配返回 401limit会被收敛到 1–50 区间非法或省略时取 10。示例响应[home, [Homepage, https://example.com/home, Some Home Link]]即第一个元素为查询词第二个元素为[名称, URL, 描述]的建议数组。Homepage 侧的配置示例search: provider: custom url: https://example.com/search?q suggestionUrl: http://127.0.0.1:22224/suggest?q showSearchSuggestions: truesearch代码块应添加到 Homepage 的标准配置文件settings.yaml或settings.yml即挂载到容器/app/config/settings.yaml的文件中如果你的部署把配置拆分为多文件就编辑已包含searchprovider 设置的那个文件。安全令牌与跨主机部署如果你在 QOwnNotes 中启用了安全令牌并且 Homepage 使用了自定义资产custom.js本仓库的 docs/homepage 目录提供了配套的custom.js/custom.css定制示例则保持suggestionUrl不变把同一安全令牌写入custom.js中的QON_TOKEN变量即可脚本会自动在请求上追加token...如果 Homepage 运行在与 QOwnNotes不同的主机/容器上需要在该 Homepage 实例上放置这些自定义文件以便它查询你本机的 QOwnNotes 建议 API 并合并展示搜索结果由于书签数据可能包含敏感 URL若确实需要让端点跨网络访问应在其前面加一层反向代理并用防火墙规则或白名单严格限制访问而不是直接把服务暴露出去。六、关键默认值速查配置项设置位置默认值源码依据Socket server portWebSocket 端口设置 Browser extension / command snippets Web socket server22222webcompanionsettingswidget.ui 中webSocketServerServicePortSpinBox书签笔记标签Bookmarks tag同上 Bookmarksbookmarks同上bookmarksTagLineEdit及 websocketserverservice.h 的getBookmarksTag()新书签写入的笔记名Bookmarks note name同上 BookmarksBookmarks同上bookmarksNoteNameLineEdit及getBookmarksNoteName()Suggestion API 端口同上 Bookmark suggestion API22224同上bookmarkSuggestionApiPortSpinBoxSuggestion API 监听地址固定不可配置仅127.0.0.1websocketserverservice.cppQHostAddress::LocalHost/suggest的limit请求参数10上限 50同上processHttpRequest()七、小结Web Companion 扩展把 QOwnNotes 的两个能力延伸到了浏览器端一是网页剪藏含截图笔记与可脚本化的websocketRawDataHook二是以纯文本笔记为后端的跨浏览器、跨系统书签管理而 Bookmark suggestion API 则让同一份书签数据以本地 HTTP 接口的形式被 Homepage 等本地服务复用。整条链路完全在本机闭环桌面应用必须运行、全程可离线、建议 API 仅监听回环地址安全性由安全令牌与本地绑定共同保障。赞分享桌面应用【免费下载链接】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 Web Companion浏览器一键剪藏到Markdown笔记的终极指南QOwnNotes Web Companion浏览器一键剪藏到Markdown笔记的终极指南 QOwnNotes Web Companion浏览器扩展是一个强桌面应用Focalboard Web Clipper 浏览器扩展开发实战从网页一键剪藏到看板卡片Focalboard Web Clipper 浏览器扩展开发实战从网页一键剪藏到看板卡片 导读 本文以仓库 experiments/webext 下的 Foc后端前端企业应用桌面应用协同办公Floccus浏览器扩展API终极指南轻松实现跨设备书签同步Floccus浏览器扩展API终极指南轻松实现跨设备书签同步 Floccus是一款强大的浏览器扩展能够帮助用户在不同浏览器和设备之间私密地同步书签。无论是C前端移动开发数据同步上一篇终极指南3分钟免费掌握Obsidian表格转换神器下一篇naive-ui Countdown 倒计时组件完整指南Props、精度控制与自定义渲染创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考