“Clip To Discourse” Chrome 扩展程序

尊敬的 Discourse 社区成员们,这是我为大家准备的一份小小的 :wrapped_gift: 圣诞礼物 :christmas_tree:。它很简单但很有用,完全是我自己想要才构建的。

受到 Simon Willison 关于使用 LLM 进行开发的精彩博客 的启发,我在圣诞节期间,在社交活动、看电影和包装礼物之余,用“心流编码”(vibe-coded)完成了这个项目!我没有编写任何代码,但我确实审查了代码并监督了 LLM 的工作。所有内容都源自 spec.mdroadmap.md

它有什么用?

我将一个自托管的个人 Discourse 用作 笔记本日记、博客、简历、维基、AI 工具和开发者知识库。我经常发现自己想从网上“剪辑”内容(页面标题 + URL)并直接粘贴到我的 Discourse 中,然后我可以在其中将其整合到笔记或日记条目中。

我的需求很简单,所以这个工具相当基础,它只发布页面标题和 URL,尽管将来我希望添加“包含页面摘录”和“剪辑整个页面”作为选项。

隐私

功能

  • 剪辑页面标题和 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(仅用于连接测试)、writeupdate

  • 确定您希望剪辑进入哪个类别。如果您希望每个剪辑都是一个新主题,那么您只需要 CategoryID。当您查看该类别时,此 ID 位于 URL 中,如下所示:https://discourse.yourdomain.com/c/CategoryName/CategoryID

  • 您还可以设置一个要回复的主题,所有剪辑都将作为新回复附加到该主题。要获取主题 ID,您也可以从 URL 中获取:当您查看主题时,此 ID 位于 URL 中,如下所示:https://discourse.yourdomain.com/t/TopicTitle/TopicID

  • 单击扩展图标以打开弹出窗口,然后转到“设置”以配置 API 密钥并设置您的默认值。请注意,您可以为可能想要使用的各种不同的 Discourse 实例设置多个“配置文件”。

  • 保存设置并(可选地)测试连接,这将读取一个主题以确保 API 连接正常工作。

  • 关闭“设置”并剪辑内容进行测试!

图片

Clipping Settings
Demo Clip to New Topic
Demo Clipped Topic
Demo Clipped as a Reply

路线图

  • “包含页面摘录”和“剪辑整个页面”可能需要一些测试和完善。或者,此功能可以允许用户选择要剪辑的文本区域作为摘录。

  • 我不打算开发 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 社区创建的免费、开源和注重隐私的工具。

5 个赞

为这个扩展干得漂亮 :clap: