我会在(再次)查看 Lemmy 和 Wordpress 后,再查看对 Pixelfed 的明确支持 ![]()
虽然理论上所有 ActivityPub 平台都应该是可互操作的,但几乎总需要一些调整才能使每次集成都正确。特别是当我们使用主题而大多数其他实现仅仅是帖子流时。
我会在(再次)查看 Lemmy 和 Wordpress 后,再查看对 Pixelfed 的明确支持 ![]()
虽然理论上所有 ActivityPub 平台都应该是可互操作的,但几乎总需要一些调整才能使每次集成都正确。特别是当我们使用主题而大多数其他实现仅仅是帖子流时。
WordPress?它有自己的解决方案,由 Autommatic 提供。不过,所有这些朋友的东西有点奇怪。或者您是指用户个人资料那件事?
干得好。谢谢!
我一直在努力让它正常工作,自八月发布以来,我认为我的问题可能比我最初想的要简单。
我很有可能被阻止在该 Mastodon 实例上关注该参与者。
在此期间,我重新安装了 Discourse、插件,将网站迁移到另一台服务器,然后在今天更改了域名,以为可能是域名的问题。
我能够从 mastodon.social 账户和 Sharkey 实例的账户进行关注,两者都运行正常。
我不认为该实例被服务器阻止(再次强调,我已经更换了服务器提供商并更改了域名),但我希望得到第二意见。
[Discourse Activity Pub] GET 请求 https://mastodon.ie/users/padraig 失败:Expected([200, 201, 202, 301, 302, 307, 308]) <=> Actual(401 Unauthorized)
[Discourse Activity Pub] 处理 https://mastodon.ie/users/padraig 失败:无法解析参与者
[Discourse Activity Pub] 处理 https://mastodon.ie/b35f6088-19b9-472d-a277-e0310fed585f 失败:无法创建参与者
[Discourse Activity Pub] DiscourseActivityPub::AP::Handlers::Warning
如果您需要回溯和/或环境变量,请告诉我 ![]()
mastodon.ie 在这里是否被允许 activity pub allowed request origins?您可能还需要启用或禁用 activity pub require signed requests。
大家好,
我通过 ActivityPub 插件连接了多个 Discourse 论坛。如果我在其中一个论坛上安装 Discourse AI,AI 机器人是否可以访问和使用来自其他联合实例的内容来回答其聊天界面中的问题?
谢谢!
@Crakila 请查看此主题中的步骤和讨论,如果这些建议不能解决您的问题,请在其中跟进:
如果内容被联合到一个实例,该实例上的 AI 机器人就可以使用该内容。出于其他功能的目的,实例上的所有“远程”内容与“本地”内容具有相同的状态。
只是想知道……幕后是否有什么疑问?
谢谢。漂亮的地球仪 ![]()
这是什么 ![]()
Message (46 copies reported)
Job exception: undefined method `skip_email_validation=' for an instance of Category
Backtrace
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activemodel-7.2.2.1/lib/active_model/attribute_methods.rb:512:in `method_missing'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/attribute_methods.rb:491:in `method_missing'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:150:in `update_user'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:47:in `block in update_or_create_user'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:359:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:415:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:45:in `update_or_create_user'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/actor_handler.rb:82:in `update_or_create_user'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:782:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:76:in `block in apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/plugin.rb:873:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:76:in `block in apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `all?'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:74:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/handlers.rb:24:in `apply_handlers'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:64:in `perform_activity'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:38:in `block in perform_transactions'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:616:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:613:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:361:in `transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:234:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:421:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/connection_handling.rb:296:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.2.1/lib/active_record/transactions.rb:233:in `transaction'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity.rb:34:in `perform_transactions'
/var/www/discourse/plugins/discourse-activity-pub/lib/discourse_activity_pub/ap/activity/announce.rb:26:in `process'
/var/www/discourse/plugins/discourse-activity-pub/app/jobs/discourse_activity_pub_process.rb:12:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'
这是我的账户。听起来像是我的实例或分类中未验证电子邮件,导致 ActivityPub 无法处理这种情况?
一切似乎都正常工作。
有计划让 Discourse 用户也成为 Actor 吗?
鉴于 ActivityPub 是一个开放的协议,这似乎是让 Discourse 成为一个可关注的思想发布场所的缺失环节。
将 Discourse 扩展为一个纯种实例?这有利有弊,如果现在技术上可行的话。
感谢您的报告。这不会产生实质性影响。很快就会解决。
Discourse 用户已经是 ActivityPub Actor。只是你无法关注他们。该插件是为了实现这种可能性而构建的。问题在于这样做是否明智。
我不喜欢。它将论坛的核心理念变成了纯粹的 Mastodon 实例,而我们已经有了 Mastodon 这个选择。关注话题和关注个人之间仍然存在很大的区别。
通过 ActivityPub 分享内容是完全不同的事情。
这至少会立刻毁掉我的论坛。即使现在,ActivityPub 的分享对我的某些用户来说也是一个大大的“不”。而且,一些用户将通过 Discourse 完全使用 Mastodon,而另一些用户则不会,这种情况将引发巨大的冲突。
有人可能会说,这就像在 Mastodon 世界里生活一样,因为即使你参与了一个帖子,所有的对话也不是可见的,除非通过浏览器访问原始帖子。但仍然——不行。
我计划设置一个自托管的直播平台,并使用 Discourse 作为论坛软件,将 Discourse 的实时聊天集成到直播中。
我最近在了解 Fediverse 软件,我认为 Peertube 非常适合上传 VOD 内容,这可以提高我平台的可见度,因为人们可以从 Mastodon 上看到视频,然后从那里发现我的网站的其他内容。
我可以使用这个插件让人们使用他们的 AP 账户登录我的 Discourse 实例吗?就像很多网站都有谷歌/Facebook 登录一样?
您可能还想查看此插件:
考虑到 Discourse 的所有可能用例,您认为“是否明智”这个问题可以一概而论吗?
就我而言,我仍在寻找有效利用 Fediverse 的方法。我更愿意使用 Discourse 实例作为我的数字花园,进行公开思考。目前,我看到的唯一一种方法是拥有一个 Mastodon 实例的帐户,关注我私人花园的所有类别,并通过此帐户转发我发布的每条消息。
我想尝试使用 Discourse 作为我连接 Fediverse 的主要方式。