问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

连接微信群、Slack 和 GitHub:社区开放沟通的基础设施搭建

发布网友 发布时间:2024-08-19 17:55

我来回答

1个回答

热心网友 时间:2024-08-29 18:35

NebulaGraph 社区如何构建工具让 Slack、WeChat 中宝贵的群聊讨论同步到公共领域。

要开放,不要封闭

在开源社区中,开放的一个重要意义是社区内的沟通、讨论应该是透明、包容并且方便所有成员访问的。这意味着社区中的任何人都应该能够参与讨论和决策过程,并且所有相关信息应该公开和自由地与他人共享。

在公共场合进行沟通在开源理念中是重要的,正是这种方式使得社区的成员可以进行有效地共同工作,分享想法和反馈,为项目或社区做出贡献。

但是,社区在实践开放性沟通的过程中,或多或少都会遇到以下一些情况:

开放性挑战

为了使社区(或工作环境)的沟通保持透明、高效和健康,其实已经存在一些共识,和通用的做法:

但是,还是存在一些特例的情况,我们不能盲目追求异步、绝对的开放。正如前面提到的,能让更多参与者公平、方便与社区连结本身也是开放的一部分,尽管使用的基础设施可能是封闭的。事实上,几乎所有的开源社区都在用类似的方式建立他们的社区沟通平台:

在 NebulaGraph 社区中,上面这两个平台承担了主要的沟通工作,但这些信息在出现后的几个月后就会消失,它们在短时间内只能被割裂的一部分社区成员看到,而未来没有人或其他平台可以读到、搜到和参考、引用这些有价值的讨论。

摸索的方案

曾经有一段时间,NebulaGraph 会自己手动收集 Slack、微信群里的讨论摘要,定期分享、归档在公共领域,这个方法也确实带来了一些价值。然而,我们最后都没坚持下去,原因很简单:

搞定 Slack 的信息孤岛

2022 年 10 月,我注意到了 linen.dev 这个开源项目,同时它也是一个 SaaS 服务。有了它,我们可以把 Discord 和 Slack 中的每个 thread 保留。linen.dev 整站看起来和 Discord / Slack 几乎一样,但是,它完全是可以被匿名访问、引用,以及被搜索引擎收录供他人检索使用。

经过几个月的评估,我们最终决定了订阅 linen.dev 服务,并收获的果实:

这个站会实时同步 Slack 里的消息,重要的是,它是面向搜索引擎优化过的,你可以搜搜 Kotlin 社区通过 Linen 被收录的网页有多少,搜这个: "site: slack-chats.kotlinlang.org"。

此外,每一个 Slack thread 都有一个无需登录的只读 URL,我们可以方便去分享、引用它。虽然,这件事儿本身就是超链接、URL 的作用。但是,在现在已经变得非常不容易了,比如: 这个新闻里提到现在新一代的年轻人更倾向于在抖音里搜索而不是在公共领域里。

有了 Linen,我们可以非常开心地在 GitHub 里引用任意一个 Slack 讨论话题:

解决了 Slack 的问题之后,唯一剩下的痛点就是微信群了。微信群每周都有许多宝贵的讨论在社群中进行,却不能被保留下来,真是太令人心疼了。终于有一天,我决定直面这个问题。

解决微信群的信息公开化

首先,能不能直接用 Linen 一把梭,同步群消息呢?我确实 在 Linen 社区和他们的 Kam 讨论直接解决 IM 同步的可能,不过到现在,他们都没有优先考虑 。

但,机智如我,我想如果直接把微信同步到 Slack,Linen 不就能把微信的信息也收录了吗?

在 Twitter 上 求助黑客/开源社区 + 一番调研确定了没有这样的东西存在之后,我 决定搞一个,做成开源项目,我花了一点时间实现了最初的版本。

万万没想到,当我做到把消息从微信同步到 Slack 之后, 随之而来的问题是,通过 Slack API 发出的消息 Linen 不会收录。

为此,我放弃了 Linen 一把梭的美好愿望,转而考虑把消息同步到其他公共领域。而我第一个想到的就是 GitHub Discussions 之中,又花了周末的下午加晚上,把它做出来了:

现在,这个机器人程序会把配置好的微信群消息同时同步到 Slack 频道和 GitHub Discussion 中给定的标签下的主题中,每一个群一个礼拜是一个主题,所有的消息都是主题下的评论。

小结

现在,我们保留了所有 Slack / 微信的美好的一面的同时,把它们中的讨论消息历史全都归档、索引并公开到这两个域之下了,是不是很酷呢?来访问下下面的链接,感受“私密消息”下消息被公开的快乐吧:

后续工作

这个同步微信的项目是 Apache 2.0 协议开源的,并且现在由 我和 Frost Ming在维护, 这里还有很多待增强、实现的新功能、新任务,欢迎大家来试玩、贡献。

让我们一起把开源社区的沟通做的多一点开放、少一点封闭吧~

项目地址 github.com/wey-gu/chatr...

最新进展

在圣诞节前,Linen 的工程师允许了 chatroom-syncer 同步到 Slack 的消息,详见:

现在,我们可以在 community-chat.nebula-graph.io... 看到 WeChat 中的群聊的文本备份了!当然啦,如果你更喜欢 GitHub Discussion 的方式,help yourself,选你选的方式就好。

结论

有效的沟通是成功的开源社区的基石,因为它让协作、分享思想与知识、以及所有成员的参与成为可能。为了确保沟通透明、包容和有效,对于开源社区来说,让所有成员有机会参与讨论和决策以及公开自由地分享相关信息是非常重要的。

我们 NebulaGraph 社区的建设者/贡献者将继续寻找和黑客方法,以开放和良好的方式使人们连接在一起,和大家共建更好的开源、技术社区。

谢谢你读完本文 (///▽///)

要来近距离体验一把图数据库吗?现在可以用用 NebulaGraph Cloud 来搭建自己的图数据系统哟,快来节省大量的部署安装时间来搞定业务吧~ NebulaGraph 阿里云计算巢现 30 天免费使用中, 点击链接来用用图数据库吧~

想看源码的小伙伴可以前往 GitHub 阅读、使用、(^з^)-☆ star 它 -> GitHub;和其他的 NebulaGraph 用户一起交流图数据库技术和应用技能,留下 「你的名片」一起玩耍呢~
连接微信群、Slack 和 GitHub:社区开放沟通的基础设施搭建

现在,这个机器人程序会把配置好的微信群消息同时同步到 Slack 频道和 GitHub Discussion 中给定的标签下的主题中,每一个群一个礼拜是一个主题,所有的消息都是主题下的评论。小结 现在,我们保留了所有 Slack / 微信的美好的一面的同时,把它们中的讨论消息历史全都归档、索引并公开到这两个域之下了...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
k白金怎么算纯度? 庞大的反义词 庞大反义词 我是一个12岁的小学生,明天就要考400米了,我想知道跑400米的技巧,如前... ...以下哪个故事做到了“悌”?A许武教弟B牛弘不问C礼贤下士D鸠占... ...家长说要给我一个老年机用,我管同学借了一个手机 被发现 怎么解释... 我的月考作文500字 自己在家怎么做零食呢? 坚果零食棒怎样做味道比较香? 零食怎么做好吃 为什么键盘数字键打不出数字? 有哪些很开放的聊天软件? 腰椎融合手术后遗症 腰椎滑脱融合术的后遗症 腰间盘突出融合术缺点 腰椎融合术后的并发症 腰椎植骨融合术后遗症 腰椎滑脱手术后遗症 满目芳菲,我想开了呀是什么意思? 大庆市祥阁学校是个什么样的学校 照像最好的手机是哪个 PPT怎样让视频能循环播放 连云港有几个核电站 田湾核电站二期工程何时开始建设? 如何在小米和苹果手机之间相互定位 测指尖血糖的步骤及注意事项 两部小米手机之间能定位吗? 自测血糖的方法 高层住宅几楼风水最好 海尔小神童xqb45-10b如何操作标准洗和大物洗模式? 1立方c20混凝土需要多少材料 核桃怎么做不长胖 核桃怎么吃不发胖 格力空调遥控器上的61是什么意思? 生核桃吃了会长胖吗 格力空调的遥控显示61度是代表什么意思 空调显示61f是什么意思? g20蓝是什么意思(峰会上的酒是什么酒) 空调遥控器显示61°什么意思? 上海峰会策划公司 资料强条负责人是写建设单位的吗 按揭商品房只能离婚后更名吗? 因离婚按揭的房产能更名吗? 大伙有没有高端葡萄酒推荐呀?准备囤点送客户 朋友们,葡萄酒如何选择啊? 离婚按揭房产更名需要提交什么材料? 在高品质葡萄酒排行榜中,长城葡萄酒怎么样? 能否推荐几款质量好的葡萄酒,适合日常品鉴? 孕8周孕囊大小 元旦过后小孩子的火车票是案年龄卖票吗? 我今天给我儿子买火车票去了,买的卧铺,结果是全价票,卖票人员说卧铺车没... 儿童在线不卖票,用妈妈身份证号码买票可以吗?