尊敬的 Discourse 社区成员们,这是我为大家准备的一份小小的
圣诞礼物
。它很简单但很有用,完全是我自己想要才构建的。
受到 Simon Willison 关于使用 LLM 进行开发的精彩博客 的启发,我在圣诞节期间,在社交活动、看电影和包装礼物之余,用“心流编码”(vibe-coded)完成了这个项目!我没有编写任何代码,但我确实审查了代码并监督了 LLM 的工作。所有内容都源自 spec.md 和 roadmap.md。
它有什么用?
我将一个自托管的个人 Discourse 用作 笔记本、日记、博客、简历、维基、AI 工具和开发者知识库。我经常发现自己想从网上“剪辑”内容(页面标题 + URL)并直接粘贴到我的 Discourse 中,然后我可以在其中将其整合到笔记或日记条目中。
我的需求很简单,所以这个工具相当基础,它只发布页面标题和 URL,尽管将来我希望添加“包含页面摘录”和“剪辑整个页面”作为选项。
隐私
- 它完全不收集关于您或您内容的任何数据。
- 所有数据都直接从您的浏览器发送到您的 Discourse 实例。
- 不涉及任何第三方服务器。
- 开源。GitHub 仓库:https://github.com/koloki-co/clip-to-discourse-chromium-extension
功能
- 剪辑页面标题和 URL。可选的“页面摘录”或“完整页面文本”已实现,但有点不成熟(不过您的 Discourse AI 以后可以在您的 Discourse 实例上对其进行总结?…)
- 使用每个剪辑创建新主题,或将剪辑作为回复附加到现有主题。
- 支持多配置文件,允许您为不同的用例存储多个 API 密钥、目标 Discourse 实例和默认设置。
- “剪辑到 Discourse”图标会自动更改,以反映当前所选配置文件的网站图标,这样您就可以轻松分辨您正在剪辑到哪里!
局限性
-
主要限制是管理员需要在您要剪辑到的 Discourse 实例上为您创建一个用户范围的 API 密钥。对我来说这不是问题,因为我是我打算使用此工具的所有 Discourse 实例的主要管理员。
-
显然,如果“剪辑到 Discourse”功能被太多用户启用,它可能会在共享或公共 Discourse 实例上产生大量低质量的帖子。因此,我主要将此扩展面向那些像我一样将 Discourse 用作个人笔记本的用户。
如何安装
-
通过 Chrome 网上应用店的链接安装到任何基于 Chromium 的浏览器(Chrome、Edge、Brave 等):https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
-
(可选但推荐)将扩展“固定”到浏览器的工具栏。
-
创建一个单用户 API 密钥,具有以下粒度范围:主题:
read(仅用于连接测试)、write和update -
确定您希望剪辑进入哪个类别。如果您希望每个剪辑都是一个新主题,那么您只需要 CategoryID。当您查看该类别时,此 ID 位于 URL 中,如下所示:
https://discourse.yourdomain.com/c/CategoryName/CategoryID) -
您还可以设置一个要回复的主题,所有剪辑都将作为新回复附加到该主题。要获取主题 ID,您也可以从 URL 中获取:当您查看主题时,此 ID 位于 URL 中,如下所示:
https://discourse.yourdomain.com/t/TopicTitle/TopicID) -
单击扩展图标以打开弹出窗口,然后转到“设置”以配置 API 密钥并设置您的默认值。请注意,您可以为可能想要使用的各种不同的 Discourse 实例设置多个“配置文件”。
-
保存设置并(可选地)测试连接,这将读取一个主题以确保 API 连接正常工作。
-
关闭“设置”并剪辑内容进行测试!
图片




路线图
-
“包含页面摘录”和“剪辑整个页面”可能需要一些测试和完善。或者,此功能可以允许用户选择要剪辑的文本区域作为摘录。
-
我不打算开发 Firefox 或 Safari 扩展(因为我不使用那些浏览器),但很乐意有人接手移植此扩展的任务。我们可以协作,将所有内容保留在一个仓库中并保持功能奇偶性。
-
可能会考虑实现 Discourse 用户 API 流程,这样 API 密钥就不必由管理员创建,但用户 API 通过 OAuth 流程工作,因此不能直接替代。
相关讨论
关于基本上是这个工具的请求:https://meta.discourse.org/t/chrome-firefox-extension-share-to-discourse/21104/28
一篇相关的帖子,建议在剪辑 Discourse 时添加附加功能:https://meta.discourse.org/t/need-web-clipper-for-discourse-post/45105
社交分享是一个相关的概念,但使用的是简单的 URL https://meta.discourse.org/t/social-share/89980
反馈、想法和贡献
这个主题是发布您任何反馈的好地方。我乐于接受改进的想法,只要它们不会使扩展过于复杂和/或降低我对它的有用性!
如果您想提交问题或进行拉取请求,GitHub 仓库在这里:
此扩展是由我的公司 Koloki.co 为 Discourse 社区创建的免费、开源和注重隐私的工具。