开发日志:Discourse的开发网络

一、技术人员请远离

一个人能肝到什么程度,我仅仅学习过C语言基础+PHP基础,喜欢逛博客,部署各种应用在服务器中,服务器方面的“搞机玩家”。GPT从4.0开始就已经被大量用于网站的编程,2025年到26年更是AI发展迅速的一年转折点,看到国产Ds、GPT的image2、A社依旧发挥稳定。很多非技术人员开始用现金去代替技术门槛去制作想去制作的产品,类似花钱去定制,自己去做甲方。

二、一生万“物”

Discourse是目前开源社区最火的项目,很多大站都在使用,官方也是不断更新,理念很符合现代社区,内容去驱动,而不是积分去驱动。复古物语中文社区在搭建前夕,我思考很久,问AI,翻浏览器,PHPBB捣鼓了一两周去搞插件,去搞编辑器插件、模组库插件,后面最终我心境爆发了,绷不住了,哈哈哈,PHPBB虽然成熟,但是不能用于现代社区了,特别是内容驱动和多页面内容。我于是决心进入Discourse,很强!Discourse有很完善的功能、更现代的页面和编辑器、更优秀的性能优化。

  • 编辑器支持md、html、bbcode,解决了社区编辑问题,md最适合文本社区了,不需要特别多HTML。
  • 插件有:哔哩哔哩视频Onebox、积分插件、Discourse Connect、抽奖插件

其中Discourse Connect解决了登录账号问题,特别是多站点,模组网站、维基mediawiki、服务器网站、积分商城网站、Waline评论系统账号均使用一个社区账号。

[!NOTE]
mediawiki是使用AI制作的兼容Discourse SSO的Auth认证插件,mediawiki可以安装扩展;Discourse SSO和普通Auth0不一样,需要单独写代码,其中Waline是使用替换js和原Github Auth去认证的(没有开源),其他网站都是SSO兼容的项目,单独开发的项目。

积分插件还是不完善,ds比较偏向内容,而不是积分,我于是搭建了独立的积分网站,同步ds的数据库去计算积分。

[!NOTE]
单容器部署Discourse是没有数据库容器的,所以需要修改app.yml文件去开放数据库数据在内网,然后容器连一个网络即可解决(使用容器名称)。

除了上面的账号互通,还支持了游戏官方的API认证,2FA验证,让账号绑定游戏账号,游戏官方有模组网站,账号也是游戏账号,于是也解决了模组作者对齐模组网站的想法,便于后期外国作者去我搭建的模组网站去提交和管理模组。

Discourse积分插件很简单,只有数值统计逻辑,只用在抽奖插件上面(https://github.com/maiizii/discourse-choujiang),积分商城除了固定计算的积分,还有流动积分(当天固定可划入积分的流动积分),发布委托和解决委托可汇率进入积分(积分=真实积分),更加丰富了社区互助激励功能。

本文采用 CC BY-NC-SA 4.0 进行许可。