一键保存帖子到Obsidian/飞书/notion/HTML/思源笔记/语雀六种方式的谷歌/Edge浏览器插件和手机端友好的油猴脚本,无需登录也能保存!支持大部分 Discourse。
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
0、链接奉上
油猴脚本:Discourse Saver - 油猴脚本一键安装
1、前言
展开前言
作为一个重度Linux Do用户和知识管理爱好者,无编程经验的我用 vibe coding 手搓了这个插件。
论坛上的精华帖子,手动复制粘贴格式就乱了,图片也保存不了,非常麻烦。于是开发了这个Chrome/Edge插件 discourse-saver,支持大部分 Discourse 论坛。
它可以:
- 悬浮保存按钮:单击就保存到Obsidian/飞书/Notion/HTML
- 保留完整格式:颜色、代码高亮、表格样式全部保留
- 同步飞书多维表格:建立可检索的帖子索引库
- 支持保存评论:保存主帖+该条评论
- 支持大部分 Discourse
2、功能亮点
| 功能 | 说明 |
|---|---|
| 悬浮保存按钮 | 单击保存到Obsidian/飞书/Notion/HTML |
| 支持保存评论 | 长按保存按钮保存主帖+多条评论 |
| 飞书多维表格 | 同步保存到飞书,支持MD文件附件上传 |
| 飞书双版本 | 支持国内版(feishu.cn)和国际版(larksuite.com) |
| 完整保留格式 | 文字颜色、代码高亮、表格样式完整保留 |
| 评论折叠 | 使用 <details> 标签,展开查看评论 |
| 快捷键支持 | Ctrl+Shift+S (Mac: Cmd+Shift+S) |
| 插件开关 | 可随时禁用,恢复链接原功能 |
3、安装方法
方法一:直接下载安装(推荐,Chrome / Edge)
适用于桌面端 Chrome / Edge / Brave 等 Chromium 内核浏览器。
- 访问 GitHub 仓库:GitHub - acheng-byte/discourse-saver: 通用 Discourse 论坛内容保存工具 - 支持全球数百个 Discourse 站点,一键保存到 Obsidian/飞书/Notion/语雀/思源笔记 · GitHub
- 点击绿色的 Code 按钮 → Download ZIP
- 解压到本地文件夹
- 打开浏览器,访问
chrome://extensions/(Edge 为edge://extensions/) - 开启右上角的「开发者模式」
- 点击「加载已解压的扩展程序」
- 选择刚才解压的
discourse-saver文件夹
也可以用 Git 克隆:
git clone https://github.com/acheng-byte/discourse-saver.git
然后按上面步骤4-7加载。
方法二:油猴脚本(支持手机端 / Firefox)
支持 Chrome / Edge / Firefox / Safari / Opera,手机端同样可用(Firefox Android + Violentmonkey)。
前置条件:
- 安装油猴插件 Tampermonkey 或 Violentmonkey
- Obsidian 需安装 Advanced URI 插件(推荐)
- 手机同步服务:iCloud / Obsidian Sync / 其他(用于手机同步)
安装步骤:
第一步:更新/安装脚本
访问一键安装页面:Discourse Saver - 油猴脚本一键安装
点击「安装脚本」,油猴插件弹出确认页后点击「安装」。
第二步:开启图片嵌入(手机端推荐)
- 打开任意 Discourse 论坛帖子
- 点击右下角保存按钮旁的齿轮图标
- 勾选「嵌入图片 (Base64)」
- 点击保存设置
第三步:正常保存帖子
点击保存按钮,脚本会:
- 抓取帖子内容
- 自动下载所有图片并转码(会显示进度)
- 发送到 Obsidian
第四步:手机查看
打开手机 Obsidian,同步笔记,图片完美显示。
注意事项:
- 文件体积会变大 — 图片越多,文件越大,这是正常的
- 首次保存稍慢 — 需要下载所有图片,图片多时请耐心等待
- 按需开启 — 如果只在电脑端查看,可以不开启此功能
4、插件配置
安装完成后,点击插件图标 → 进入配置页面。
配置项说明
1. 插件状态
| 选项 | 说明 |
|---|---|
| 启用插件 | 关闭后链接按钮恢复原功能(需刷新页面) |
2. 保存目标
可同时勾选多个,实现多平台同步保存:
| 选项 | 说明 |
|---|---|
| 保存到 Obsidian | 启用Obsidian保存 |
| 保存到飞书多维表格 | 启用飞书同步 |
| 保存到 Notion | 启用Notion同步 |
| 导出 HTML | 保存为本地HTML文件 |
可以同时勾选多个,实现多平台同步保存!
3. Obsidian设置
| 选项 | 说明 |
|---|---|
| Vault 名称 | 留空使用当前打开的vault(推荐) |
| 保存文件夹 | 保存到vault中的哪个文件夹,如 LinuxDo收集箱 |
| 使用 Advanced URI | 支持大内容保存(强烈推荐开启) |
注意:如果勾选了「使用 Advanced URI」,需要先在Obsidian中安装 Advanced URI 插件。
4. 内容设置
| 选项 | 说明 |
|---|---|
| 添加元数据 | 是否添加中文frontmatter(推荐开启) |
| 保留图片链接 | 是否保留帖子中的图片 |
5. 评论设置
| 选项 | 说明 |
|---|---|
| 保存评论区 | 是否保存评论(默认关闭) |
| 评论数量 | 1-10000条,默认100 |
| 折叠评论 | 使用 <details> 标签折叠显示 |
5、各平台配置
Obsidian 配置
前置:本地已安装并运行 Obsidian。
第一步:安装 Advanced URI 插件(强烈推荐)
- 打开 Obsidian → 设置 → 社区插件
- 搜索
Advanced URI并安装启用 - 该插件支持大内容保存,避免 URL 长度限制
第二步:填写插件配置
在插件选项页找到「Obsidian 设置」:
| 配置项 | 说明 |
|---|---|
| Vault 名称 | 留空使用当前打开的vault(推荐) |
| 保存文件夹 | 如 LinuxDo收集箱 |
| 使用 Advanced URI | 强烈推荐开启 |
第三步:测试
- 打开任意 Discourse 论坛帖子
- 单击帖子的「链接」按钮
- 浏览器弹出「是否允许打开 obsidian://」,点击「允许」
- 切换到 Obsidian,确认笔记已保存到指定文件夹
多设备同步
- Chrome:登录同一 Google 账号,开启 Chrome 同步(设置 → 同步),配置会自动同步
- Edge:登录同一 Microsoft 账号,同理
飞书多维表格配置(共8步,约10分钟)
飞书多维表格可作为帖子的索引库,方便检索和管理。
第一步:创建飞书应用
- 访问 飞书开放平台
- 登录你的飞书账号
- 点击「创建应用」→ 选择「企业自建应用」
- 填写应用名称(如:LinuxDo收藏器)和描述
- 创建完成后,进入应用详情页
第二步:获取凭证
在应用详情页的「凭证与基础信息」中找到:
| 字段 | 位置 |
|---|---|
| App ID | 应用凭证区域 |
| App Secret | 点击「显示」查看 |
复制并保存这两个值。
第三步:配置权限
- 在左侧菜单中选择「权限管理」
- 搜索并添加以下权限(都是免审权限):
| 权限标识 | 权限名称 | 说明 |
|---|---|---|
bitable:app |
多维表格 | 读写多维表格(必须) |
drive:file:upload |
上传文件 | 上传MD HTML附件时需要 |
- 点击「批量开通」
第四步:创建多维表格
- 在飞书文档中创建一个「多维表格」
- 添加以下字段(字段类型必须对应,否则保存失败):
| 字段名 | 字段类型 | 说明 |
|---|---|---|
| 标题 | 文本 | 帖子标题 |
| 链接 | 超链接 | 原帖URL,注意不是「文本」 |
| 作者 | 文本 | 发帖人 |
| 保存时间 | 日期 | 自动记录保存时间 |
| 评论数 | 数字 | 评论条数 |
| 附件 | 附件 | MD文件(勾选上传附件时使用) |
| 正文 | 文本 | 内容摘要(不上传附件时使用) |
第五步:获取表格参数
从多维表格的URL中提取 app_token 和 table_id:
https://feishu.cn/base/CVchbNPTraNcq1s3RqPcTJFJnDU?table=tblUP8jpxkIGiSWU&view=...
└─────────────────────────────┘ └───────────────┘
app_token table_id
| 参数 | 说明 | 示例 |
|---|---|---|
| app_token | /base/ 后面的字符串 |
CVchbNPTraNcq1s3RqPxxxx |
| table_id | ?table= 后面的字符串 |
tblUP8jpxkIGixxxx |
第六步:添加应用为协作者(重要,很多人漏掉这步!)
- 在多维表格右上角点击「…」→「更多」→「添加文档应用」
- 搜索你刚创建的应用名称
- 添加为「可编辑」协作者
搜索不到应用?可能是缓存问题,等几分钟后重试。
第七步:发布应用
- 回到飞书开放平台的应用详情页
- 点击「版本管理与发布」
- 创建版本并发布
注意:企业自建应用需要发布后才能正常使用API
第八步:填写插件配置
在插件配置页面的「飞书设置」中填入:
| 配置项 | 填入内容 |
|---|---|
| API 版本 | 国内版选「飞书(feishu.cn)」,海外版选「Lark(larksuite.com)」 |
| App ID | 第二步获取的 App ID |
| App Secret | 第二步获取的 App Secret |
| app_token | 第五步获取的 app_token |
| table_id | 第五步获取的 table_id |
| 上传MD附件 | 根据需要勾选 |
点击「测试连接」按钮,显示「连接成功」即配置完成!
Notion 配置(共5步)
第一步:创建 Notion Integration
- 打开 Notion
- 点击「+ New integration」
- 填写 Integration 名称(如
Discourse Saver) - 选择关联的 Workspace
- 点击「Submit」创建
- 创建成功后,复制 Internal Integration Secret
Token 格式说明:
- 2024年9月后创建:以
ntn_开头 - 2024年9月前创建:以
secret_开头 - 两种格式都有效
第二步:创建 Notion Database
- 在 Notion 中创建新页面
- 输入
/database选择「Database - Full page」 - 添加以下属性:
第三步:获取 Database ID
- 打开你的 Database 页面
- 复制浏览器地址栏中的 URL
- 从 URL 中提取 Database ID:
https://www.notion.so/a1b2c3d4e5f67890a1b2c3d400017890?v=xxxxxxxxxxxx
└──────── Database ID ────────────┘
注意:Database ID 是 ?v= 之前的 32 位十六进制字符串。
第四步:连接 Integration 到 Database(必须,否则插件无法访问)
- 打开你的 Database 页面
- 点击右上角「…」菜单
- 选择「+ Add connections」
- 找到并选择你创建的 Integration(如
Discourse Saver) - 点击「Confirm」确认连接
第五步:在插件中填写配置
- 打开插件配置页面,选择「Notion」标签
- 填写配置信息:
- Integration Token:粘贴第一步获取的 Token
- Database ID:粘贴第三步获取的 ID
- 属性映射:根据你的 Database 属性名填写
- 点击「测试连接」验证配置
- 保存配置
注意:访问 Notion API 需要科学上网。
思源笔记配置
思源笔记通过本地 API 接收保存请求,需先开启 API 服务。
第一步:获取 API Token
- 打开思源笔记
- 进入「设置」→「关于」
- 找到「API token」,点击生成并复制
第二步:确认 API 服务地址
思源笔记运行时会自动在本地启动 API 服务,默认地址:
http://127.0.0.1:6806
第三步:在插件中填写配置
进入插件选项页,找到「思源笔记设置」,填入:
| 配置项 | 填入内容 |
|---|---|
| API 地址 | http://127.0.0.1:6806(默认) |
| API Token | 第一步获取的 Token |
| 保存笔记本 | 目标笔记本 ID(在思源笔记本设置中查看) |
| 保存路径 | 可选,如 /LinuxDo/ |
第四步:测试连接
点击「测试连接」,确认保存功能正常。
语雀配置
第一步:获取语雀 API Token
- 登录语雀:https://www.yuque.com
- 右上角头像 →「账户设置」→「Token」
- 点击「新建 Token」,勾选知识库读写权限,复制 Token
第二步:获取知识库信息
从语雀知识库 URL 中获取用户名和知识库路径:
https://www.yuque.com/用户名/知识库路径/
第三步:在插件中填写配置
进入插件选项页,找到「语雀设置」,填入:
| 配置项 | 填入内容 |
|---|---|
| API Token | 第一步获取的 Token |
| 用户名(Login) | 你的语雀用户名 |
| 知识库路径(Repo) | 目标知识库的路径 slug |
第四步:测试连接
点击「测试连接」,确认配置正确。
HTML 本地导出
无需额外配置,开启即用。
- 打开插件选项页
- 在「保存目标」中勾选「导出 HTML」
- 保存配置
单击帖子链接按钮后,浏览器会自动下载 .html 文件到默认下载目录。HTML 文件完整保留帖子格式,可用任意浏览器离线查看。
6、使用方法
基本操作
| 操作 | 效果 |
|---|---|
| 悬浮保存按钮 | 单击保存到Obsidian/飞书/Notion/HTML |
| 支持保存评论 | 长按保存按钮保存主帖+多条评论 |
Ctrl+Shift+S(Mac: ⌘+Shift+S) |
快捷键保存主帖 |
使用流程
- 访问任意 Discourse 论坛帖子
- 找到评论区上方右侧的「三个点」菜单
- 单击悬浮保存按钮 → 保存到已启用的平台
7、保存的笔记格式
查看笔记格式示例
文件命名
帖子标题.md
帖子标题-2楼.md # 评论链接保存时
笔记结构
---
来源: https://linux.do/t/topic/847468
标题: 秘密花园园丁邀请函
作者: Neo
保存时间: 2026-03-11T05:00:00Z
标签: [linuxdo]
评论数: 100
---
# 秘密花园园丁邀请函
[帖子正文内容...]
<span style="color: red;">颜色会保留</span>
---
## 评论区(共100条)
### 1楼 - Alice
感谢分享!
### 2楼 - Bob
<span style="color: blue;">颜色也会保留</span>
8、常见问题
Q1:点击链接后没反应?
请检查:
- Obsidian是否已运行
- 浏览器是否允许
obsidian://协议(首次使用会弹窗询问) - 按 F12 查看控制台是否有错误
- 刷新插件和页面,清除缓存
Q2:内容过长保存失败?
在设置中启用「使用 Advanced URI 插件」,并在 Obsidian 中安装 Advanced URI 插件。
Q3:飞书保存失败?
按以下顺序排查:
- App ID 和 App Secret 是否填写正确
- 是否已添加
bitable:app权限 - 应用是否已发布(经常被忽略)
- 多维表格是否已添加应用为协作者(最常见原因)
- 字段类型是否正确:链接必须是「超链接」,评论数必须是「数字」,保存时间必须是「日期」
Q4:评论没有全部保存?
插件只能提取当前页面已加载的评论。帖子评论多时,需先滚动到底部加载完所有评论,再点击保存。
Q5:Notion 保存失败?
- 检查网络(访问 Notion API 需要科学上网)
- 确认 Integration Token 有效
- 确认 Database ID 正确
- 确认已将 Integration 连接到 Database(第四步)
Q6:如何恢复链接原功能?
在设置中关闭「启用插件」开关,然后刷新页面。
Q7:Typora 中折叠功能不生效?
Typora 默认不渲染原生 HTML 标签。开启方法:
- 打开 Typora → 偏好设置
- 找到 Markdown 选项卡
- 勾选「内联 HTML」或「Render HTML」
- 重启 Typora
Q8:双击触发了两次保存?
V3.5.4 已修复此问题。请确保双击的是同一个链接按钮。快速点击不同的链接按钮不会触发双击。
Q9:重复保存同一帖子会创建多条记录?
V3.5.5 已修复此问题。现在重复保存同一帖子会更新原记录,而不是创建新记录。
9、技术细节
文件结构与权限说明
文件结构
discourse-saver/
├── manifest.json # 插件配置(Manifest V3)
├── content.js # 内容脚本(劫持链接+保存逻辑)
├── background.js # 飞书API处理(解决CORS问题)
├── options.html # 配置页面
├── options.js # 配置逻辑
├── lib/
│ └── turndown.min.js # HTML→Markdown转换
├── icons/
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
└── README.md
权限说明
| 权限 | 说明 |
|---|---|
| storage | 保存用户配置 |
| activeTab | 访问当前链接页 |
| host_permissions | 访问飞书/Notion API |
10、开源地址
油猴脚本:Discourse Saver - 油猴脚本一键安装
点击我的头像→认可→开发调优
你的认可对我来说是一种鼓励,谢谢各位。


















