关于思源笔记的一些看法

本贴最后更新于 714 天前,其中的信息可能已经东海扬尘

之前在思源三群发了个消息:

思源写作体验非常棒,算得上 PC 上 MD 笔记的写作体验的领头羊,唯一遗憾的默认存储格式不是.md,限制了玩法和使用场景,否则应该可以封神了。

然后有了如下对话:

萌新的化身[2] 2022/8/8 12:05:20
因果关系搞反了,就是因为打破了 md 的限制才有现在的思源

鸢尾 2022/8/8 12:44:28
果真 .md 格式总是成为大家对思源放不下心的原因

鸢尾 2022/8/8 12:45:17
军师 急需您写一条为什么思源不是.md 的说明

Evil Eyes 2022/8/8 12:46:59
“notion 也不是 md,有本事你去 notion 群里说啊”

Evil Eyes 2022/8/8 12:47:43
再回来的时候已经被骂得不成人形了

是 Dammy 不是 D 大 2022/8/8 12:48:34
MD 问题 D 大熟,我去翻翻 D 大语录看记下了吗,理解老深刻了

是 Dammy 不是 D 大 2022/8/8 12:50:07
坏了我没记

鸢尾 2022/8/8 12:55:05
D 大发的那个我也有点印象

有说大佬曾在群里深刻剖析过为啥不存储 md 的原因。但我进群的晚,没看到大佬的理解。不过呢,感觉对话中的两个理由都比较牵强。

首先我知道思源数据结构是基于内容块的,很多功能和复杂查询与数据关联都是基于这种特有的设计实现的,它就像一个数据库,甚至可以用类似 SQL 的语法进行查询,这种设计思路不错,不过这与最终是否存储为 MD 格式文件没有啥必然联系,因为保存现有格式的元数据与同时再生成一份 MD 文档并没有冲突,而且对直接存储 md 格式不放心的人毕竟是少数,没有啥放不放心,不行的话难道不能对是否存储 md 格式文档设置为用户可选项?

其次我个人认为思源现有的用户增量主要基于写作体验、开源、跨平台、官方同步等方面的原因,这些方面思源除了在移动端的的体验比较糟糕外其他都不错,所以用户的增长几乎是水到渠成的。但这个增速实话说却不是它应有的增速。还有大批人并不知道思源,不知道的原因除开官方推广外主要还是在于用户并没太大的主动意愿去做口碑传播,有些人知道,但用了不久又换其他笔记了,比如 ob。

刚开始我在一些平台回答笔记类的问答时也会推荐一下思源,但后来没有进行推荐了。主要原因有三:

第一、通常发问的人一般都找过许多笔记应用试用过,他们的需求一般是除写作之外的额外要求,否则 word 已是写作体验的天花板,他们也没必要发问,一些需求比较个性化,思源目前并不支持插件扩展,显然无法满足。

第二、md 笔记本身是些简单的标记格式,虽然简单,但也没到人人都懂的程度,懂得 md 语法,并且需要 md 笔记的人大多喜欢折腾,玩 nas、blog、web dev 的人居多,这些人对数据的敏感性高,同时又对数据的通用性有所要求,md 存储格式是其中一个指标,支持第三方同步也是一个指标。这两点不一定是比较重要的指标,但思源显然都不支持。

第三、推荐给一些人用了一段时间后,用的人最终大多还是没选择押宝思源,原因是多方面的,除了我前面说的那些,最主要的是偶发性的报错,思源版本更新很快,但同时也带来了一些问题,比如测试并不严谨,很多问题等新版发布一段时间后才会收到用户反馈,如果是通用型 BUG,恰好被新手体验到了,有些人会选择提交给官方,但更多的人怕是直接选择不用了。我用思源时也会经常遇到崩溃重建索引的情况,而且是连续几个新版本都存在这种偶发性错误,虽然似乎也没影响到数据,但也不太好跟人介绍了。

除上所述外还有一些其他问题,在此不一一列举。总之,思源有它独特的优势,第一眼就觉得惊艳,第二眼还是喜欢,但就目前而言尚未成熟,我知道思源是因为 Vditor,如果不是它,我可能至今也不晓得思源。这本身就是问题。

期待几年后的思源能够建立真正的 md 笔记生态,适用更多的场景,特别是深层次的插件支持,很多功能官方可以说一万个不做的理由,但对于需求者来说,只需要一个理由,扩展插件的意义就在于:你不做,我做。
我会随时关注,期待它超越 ob 的时候!

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20159 引用 • 77747 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Bard 1 评论

    如果思源不是基于 MD 我可能用都不会用,用思源本质上就是基于 MD 写作,思源要另立标准那也无所谓,再找另外的 MD 编辑器就是。是的,目前来说我只是把思源当作 MD 编辑器在使用,用它做知识管理是有风险的,不是诅咒哈,但我从不相信有啥万年不腐的软件,假使有一天思源不再更新了,那么思源独有的数据格式迁移起来就麻烦了,最明确的文件夹 + 文件本体的物理存放 MD 文档是最稳妥的方式,思源的逻辑分类实话说迁移起来比较费事,文档结构里每个分类都一个多余的 MD 文档不说,批量导出也不含资源,只能一个大分类一个大分类的导出,确实麻烦,不是我对思源没信心,只是见惯了跑路和毁前途的软件,用之前都得考虑好结局,这是底线,也是不想受制的考量。你可以说我格局小,但真不想也不愿在一棵树上吊死。

    作者:shileiye
    链接: 关于思源笔记的一些看法
    来源:链滴
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

    思源没有另立“标准”,内部封装形式本质就和用户所解耦的,就是用火星文写也没关系

    在用户侧来说就是“MD 语法写,MD 文件导入,MD 语法导出”

    凡是都是有风险的,我理解楼主的担忧,但有句话是这样说的“不谈计量谈毒性,都是耍流氓”

    引申到这里,显然就是:不量化风险大小就说风险是不够严谨和轻佻

    此处思源的核心优势就是“开源”了,相信楼主肯定会在仔细读过楼上已经有别的朋友评论过的

    哦对,再提一嘴什么是开源。

    开源就是这些源码是公布的,有效的,所有人都可以看、下载、修改和编译的,你自己可以在约定的规则下编译、修改和使用的。

    那么之所以 D 大和 V 大哪怕把项目删了,都无所谓,就是代码是完全公开的,这个项目不是像 QQ、WX、Word、WPS 那种私有的,代码完全不公开,这几个公司没了这软件就不能用的。而 Siyuan 你完全可以自己编译,或者用 Github 编译,都是你的自由。你也可以感觉 Siyuan 那里写的不好,不随你的心意,只要 Fork 一下,你就有一份随便你使用的 Siyuan 代码,随便改。

    Siyuan 自带的同步是官方同步,但这个文件夹就在我本地,我随时都可以访问,明文存储,我想备份到哪都可以,我就是直接备份到我的 Github 私有项目。我这两年都来来回回重装十几次系统了,Linux、Windows、MacOS 都用过,Linux 发行版我都用过五六个,要么直接复制粘贴,要么直接 git pull 一下,都没有一点影响 Siyuan。

    所以,支持开源,相信开源。

    作者:GuangDai
    链接: 关于思源笔记的一些看法 - GuangDai 的回帖
    来源:链滴
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

    以及再自行细心搜索“开源意味着什么”后

    真正的理解“使用思源的风险到底有多低”

    要是还不理解的话,楼主可以去把 D 的帖子搜出来,看看

    算了,我人好,怕楼主麻烦,已经找到了 思源笔记缘起 - 链滴

    数据可以完全离线以后,还剩下最后一个问题:软件生命周期。

    没有任何软件开发团队能保证软件能够持续可用,从开发团队来说,发生软件终止维护的可能性太多了,比如:经费不足、研发目标转移或者遇到不可抗力(比如开发人员突然离世)。

    有一种有效的方法可以在最大限度上解决软件停更造成的不可迁移,那就是 开源 。如果软件有足够价值且是完整开源的,即使主创团队无法继续维护了,其他开发者也能接过重任。从开发团队实际情况出发,完全开源是比较难办到的,虽然开源商业化模式在很多项目上已经大获成功,但并不是每一个项目都适合这样做或者说需要等待适合的时机。

    作者:88250
    链接: 思源笔记缘起
    来源:链滴
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

    虽然看完这篇“缘起”的帖子相信楼主已经可以进一步理解思源的部分情况

    但还是说以下万一地球毁灭,没人接手思源,应该怎么办吧

    1. 不要折腾思源的 .sy 源文件
    2. 直接导出 MD 文件包
    3. 找到支持 MD 导入的软件,导入

    要是还不行的话,思源的数据解析器也是开源的,楼主“不过是”改改解析器 .sy 文件想怎么导出就怎么导出,什么 Word,富文本,自己开发套笔记都可以

    有人说“历史虽然不重复,但总是压着相同的韵脚”

    但也有人说“历史数据不能代表未来走势”

    文档结构里每个分类都一个多余的 MD 文档不说,批量导出也不含资源,只能一个大分类一个大分类的导出

    我刚才试了,通过软件导出 Markdown 的形式都是可以的,所以我并不清楚楼主为什么这么说,我不相信楼主不自己试试就冒出来这句话,应该是我理解有误吧,希望楼主有时间的话可以进一步描述这个场景的不合理之处

    只要言之有理,我就带头提开发需求,再不行就在社区开投票贴,再不行就磨开发者,直到满足需求为止,这当然不是说服楼主转投思源,毕竟这是个开放的社区,您的建议或许可以方便的更多的用户

    说到这里,希望楼主用的不是 ob ,毕竟 ob 连开源软件都不是,从这个角度来说 ob 很有可能就死在思源前面了,谈何“超越”呢

    拜读了一下思源笔记缘起,上面所述的我基本赞同,因为二十年来我也确实在寻找一款可以长期使用的个人文档管理应用,也动过自己写一个的念头。但一是技术不到家,二是懒,所以一直在躺平。这一点上我是很佩服这些不服就干的人的。不过呢,哪怕遇见了思源也没完全满足我个人的需求。我也不想说什么代表广大用户的需求,至少二十多年来所经历的应用确实没有一个能完全满足的我个人需求的。或许我个人对文档的应用场景确实比一般人多一些,本来我也不想提这些的。因为就这些年在这行混的经验来说,很少有官方会为个别用户的需求而改变既定策略,各有各的想法,难免出现认知冲突,只是不吐又不快,我大概这辈子也很难自己去写个笔记应用,但有些东西说不说是一回事,听不听是另外一回事,如果有需求不说,那自然是我的问题。说出来有没人在意那不是我的事。所以基于此我在这里说了一下,并非指望官方就眼巴巴的赶紧给做出来,也只是让一些人知道有人有这些需求,有一些声音罢了。 至于说开源的问题,技术不到家,写写小插件还好,涉及到架构调整还是算了。官方给的源码没有说明,我至今都还没编译成功,更别提修改了。所以我改不了,即便改得了,官方也不一定接受。总之呢,思源的开源目前对于我等渣渣意义不大。否则我也不用在这里提这些“非主流”需求了。 最后,关于导出导入 MD 文档,我只是说它繁琐,不如直接保存 MD 来的实在,仅此而已。
    shileiye
  • 其他回帖
  • shileiye
    作者

    首先,这种设计是没问题的,为了支持复杂的应用场景,纯 MD 格式肯定是很难的,但哪怕是用到再复杂的数据结构,甚至直接用数据库也不妨碍同时生成一份 MD 文档,以及反解析 MD 文档为特定数据结构,如果是为了满足知识管理、块管理等,关联特定数据结构即可,没必要彻底放弃 MD 存储格式。

    其次,所谓的唯一写入其实是伪需求,目的只是为了防止内容冲突不好合并,但如果笔记有协作需求,那思源目前来讲绝不是一个好的解决方案,除协作需求外可能产生写入冲突的地方应该是在第三方同步和其他软件直接修改 MD 文档上对吧?

    这涉及到以特定数据结构为主数据还是 MD 文档本身为主数据的问题,用特定结构数据的话自然可以更加方便的管理数据,第三方软件对 MD 文件的写入对主数据并无影响,也就是说思源打开这个 MD 文档还是会恢复为主数据库存储的数据,但这显然有些违反直觉。因此以 MD 文档为主,特定结构数据为辅未尝不可。

    结构数据的生成由 MD 决定,本身思源目前的原理也是这样,扫描 MD 文档的改动并重新建立结构数据用于各种辅助功能和查询,MD 文档作为主要数据生成的载体是可行的,因此不存在说无法实现思源目前的功能以及数据结构的问题,因为 MD 文档的普适性,决定了它的应用场景不仅仅是笔记,它是一个生态,比如市面上基于 MD 文档的各类管理系统,其数据源文件就是 MD 格式,比如在移动端一些写作体验较好的应用源文件格式也是 MD,在思源移动端体验依旧跟不上的情况下,使用第三方 MD 编辑器直接编辑 MD 文件也是最好的选择,另外第三方同步读写 MD 也比被思源锁定的特有格式有优势,唯一要解决的就是版本冲突合并罢了。就像代码协作提交前处理代码冲突,对代码进行合并,这并不是什么难事,这本身就是多端同步协作逻辑上肯定会发生的问题,不应为避免冲突而强制它不冲突,而是在冲突时给个解决方案,无论是强制覆盖,还是内容合并,或者是放弃更改,都应该是交给用户,而不是程序。

    1 回复
  • Bard 1 评论

    所谓生态就是围绕一个关键因素建立的应用关联,你只看到了笔记一个场景,却忽略了整个大环境,目前 MD 文档正在成为富文本外的第二选择,许多应用系统集成了 MD 文档的直接应用,比如一些博客系统、一些文档管理系统、一些办公系统、一些信息发布系统、一些阅读系统、一些 IDE 开发工具等等,更不用说让 MD 源远流长的 Git 代码库了。你想到的只是满足个人写笔记,却没看到那些 MD 正在肆虐的地方,符合标准的 MD 文档正在成为主流。而原因,正是因为它的简洁与复杂,不矛盾,用简洁的语法实现复杂的效果,这就是 MD 的魅力,而你居然把它的优势看成一种劣势,着实有些以己度人。论复杂,请问你为啥不用富文本、HTML 写笔记?

    作者:shileiye
    链接: 关于思源笔记的一些看法
    来源:链滴
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

    “MD 语法”和 “MD 文档”并不能相提并论

    我相信 “MD 语法”正在成为富文本外的第二选择

    不认可“MD 文档”正在成为…

    “MD 肆虐的地方”与思源可以完美融入,因为开发者本身就是 MD 开发专家,支持最标准的 MD 规范

    在就像之前已经说过的,MD 简洁是排版的魅力,不是知识管理的魅力

    在知识管理和笔记软件的角度来看 MD 就是一种劣势

    “论复杂度”并不代表“MD 简单不能用,json 复杂而可以用”,意思是“当前知识管理的场景下,MD 简单到不能用”

    我都不想再辩了,如你所说,MD 文档是 MD 语法数据的载体,我只想用 MD 文档来存放 MD 文本,其他乱七八糟的格式,尤其是非明文的格式我不喜欢,仅此而已。
    shileiye
  • Bard 1 评论

    我对 “md 笔记生态”一说存疑

    只是有很多软件支持 md 语法,尤其是笔记软件

    再就是说的上的 md 笔记软件也就 ob 和 logseq,而且现在这俩的 md 文件很容易不兼容了

    这已经有悖于 md 的初衷了

    对了,如果说“md 笔记生态”是支持 md 语法的,那思源是属于的

    如果“md 笔记生态”是用 md 文件存储的,那我觉得及没必要,也弊端显著,不进去挺好

    2 操作
    Bard 在 2022-08-10 16:54:24 更新了该回帖
    Bard 在 2022-08-10 16:53:12 更新了该回帖
    所谓生态就是围绕一个关键因素建立的应用关联,你只看到了笔记一个场景,却忽略了整个大环境,目前 MD 文档正在成为富文本外的第二选择,许多应用系统集成了 MD 文档的直接应用,比如一些博客系统、一些文档管理系统、一些办公系统、一些信息发布系统、一些阅读系统、一些 IDE 开发工具等等,更不用说让 MD 源远流长的 Git 代码库了。你想到的只是满足个人写笔记,却没看到那些 MD 正在肆虐的地方,符合标准的 MD 文档正在成为主流。而原因,正是因为它的简洁与复杂,不矛盾,用简洁的语法实现复杂的效果,这就是 MD 的魅力,而你居然把它的优势看成一种劣势,着实有些以己度人。论复杂,请问你为啥不用富文本、HTML 写笔记?
    shileiye
  • 查看全部回帖

推荐标签 标签

  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 140 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 598 回帖
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    163 引用 • 473 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 613 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 8 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 45 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 24 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖 • 1 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 430 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 566 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7021 引用 • 31730 回帖 • 219 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    216 引用 • 463 回帖
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    96 引用 • 330 回帖
  • OnlyOffice
    4 引用 • 12 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 1 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 701 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 110 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 237 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 712 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 55 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    103 引用 • 126 回帖 • 442 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 441 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 61 关注