关于思源笔记的一些看法

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

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

思源写作体验非常棒,算得上 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 的时候!

  • 思源笔记

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

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

    20174 引用 • 77860 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

    再就是回应一个问题

    思源基本就是文中说的“MD 做展示,而后端用独立文件格式”的形式

    甚至 MD 文件在思源可以实现自由的导入和导出

    这个逻辑没有问题啊,诉求不过是另外自动保存一份 MD 文档,而非导出。其他问题不过是这个问题延伸出来的一些可以解决的问题。
    shileiye
  • 其他回帖
  • GuangDai

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

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

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

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

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

  • 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 写作,思源要另立标准那也无所谓,再找另外的 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
  • 查看全部回帖

推荐标签 标签

  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1427 引用 • 10046 回帖 • 474 关注
  • gRpc
    11 引用 • 9 回帖 • 50 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 353 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 20 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 51 关注
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    675 引用 • 535 回帖
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 400 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 22 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 598 回帖
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 189 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 533 回帖 • 734 关注
  • 旅游

    希望你我能在旅途中找到人生的下一站。

    86 引用 • 897 回帖 • 1 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 29 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    333 引用 • 619 回帖
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    85 引用 • 122 回帖 • 618 关注
  • Unity

    Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

    25 引用 • 7 回帖 • 222 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 1 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    141 引用 • 441 回帖
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    4 引用 • 91 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 714 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    26 引用 • 85 回帖 • 1 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    175 引用 • 994 回帖
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 6 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖