关于思源笔记的一些看法

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

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

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

  • 思源笔记

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

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

    18680 引用 • 69695 回帖

相关帖子

欢迎来到这里!

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

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

    如果是为了满足知识管理、块管理等,关联特定数据结构即可

    具体如何关联特定数据结构,可以了聊聊大致方案吗,我看这是之前 MD 做知识管理一个很重要的问题,用“…即可”无法体现出解决这个问题背后的复杂性

    要满足思源的万物皆内容块,那么首先记录的最小粒度就是块,那么在存储数据上可以抽象为一个内容块就是一条记录,无论是用数据库还是 JSON 存储,以内容块作为存储单位即可。整个文档则由不同的内容块集合组成,具象化的话就是在文档表中存储包含的内容块 ID 即可,如此无论正向还是反向皆可查。解决了数据结构层面的问题,那么展现层的问题自然也不复杂,每个内容块都有单独的 ID,无论是内容定位还是类似列表的展示处理起来似乎都不算是事吧?
    shileiye
  • 其他回帖
  • Bard 1 评论

    要说先进呢直接存数据库就好,何必瞎折腾存什么物理文档。既然存在,那必然是有道理的。存数据库是方便,但跨平台同步怎么办?数据库的合并可不像文档合并那么简单,离线同步也不可能用中心化的数据库来处理,否则网络不通冲突依然存在,当然,解决方案很多,想要解决你的先进数据存储问题有很多优秀的方案可用。但为啥非得存 MD 文件?因为有地方要用啊,具体怎么用你也不用问,总之是有这个需求,无论是对接第三方系统还是个人笔记管理,都有其存在的必要性。导出固然也可以,但费事。简而言之就是想偷懒,编辑完就完了多好,还得导出解压放到指定位置去,这就增加了使用成本,因此我提这个也仅是基于使用不便来提,然后延伸出一堆问题,说了那么多我也不想再说了。思源要做成啥样我管不着,就提点看法。有无道理两说,总之我的需求只是好好管理我的 MD 文档,而不是管理所谓的知识或是笔记。这些在 MD 文档里就包含了,不需要软件替我思考该怎么管理内容,然后强制我按照这种思路去管理我的内容,即便这种方法确实很先进,但也意味着繁复,结果未必高效。

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

    思源是有数据库的,“重建索引”只得就是数据库

    有物理文档,是为了和数据库形成优势互补,物理文件偏重于个人备份,数据库偏重于检索功能

    并不是什么事都“存在即道理”,新冠还传播着,有道理吗?非洲还有饿死的人,有道理吗?

    多看看官方帮助文档就会知道,思源跨平台同步用的是加密后的文本就行同步的,跟数据库没关系

    不需要软件替我思考该怎么管理内容,然后强制我按照这种思路去管理我的内容,即便这种方法确实很先进,但也意味着繁复,结果未必高效。

    “己所不欲勿施于人”

    己所欲就可施与人?那似乎叫独裁。干嘛非得加密呢?就喜欢明文存储不行?想加密的加密,不想加密的明文存就是了,给用户选择,而不是帮用户做决定。存在即合理是哲学问题,怎么说都可以是对,也可以是错,就不与你探讨了。做软件如做人,得道多助失道寡助,按自己的想法思路做事当然没问题,只是大多数人喜欢你只是因为同道,不喜欢你只是因为非同道。设限于小众,那便只能服务少数人。既然这软件只是为了服务那几个人,那我自然也没啥好说的。
    shileiye
  • GuangDai 1 评论

    md 真的太弱了,之前我就和我的同学讨论过 markdown 的缺陷。。。。

    首先 siyuan 是开源的,只要你 Fork 一下,这个项目你就相当于永久保存了,哪怕 D 大和 V 大删了都不会影响你。你同步也可以同步到 github 等等其他地方,你随便访问你保存的目录,没有人会干扰你的自由。

    其次 Siyuan 的存储本身也是一个代码文本,不是 APP、Word 那种结构化的东西,只不过 MD 的结构复杂度远低于 Siyuan 的复杂度,导致 Siyuan 的纯文件阅读会非常困难。

    与其说 Siyuan 为什么不支持这样的纯 md,更不如说,md 本身的贫瘠功能并不足以支持 siyuan 的发展。在最早的 Siyuan 是用 MD 保存的,但后来验证很难支撑起这样一个结构化的。因为 MD 的设计初衷就是类似于一个记录的文本,是一维度、线性的。

    如果老哥写代码非常多,就知道只在编辑器里面写代码,而没有注释、代码的跳转什么的功能,就是给自己找罪受,因为这里用到一个 function,那里用到另一个 function 等等。

    要我说与其说是怀念 MD,不如说是怀念 MD 可以直接用键盘简单的进行编辑。这个是 Siyuan 的缺陷,也是那些快捷键虽然多,但记忆和掌握起来相对更复杂的问题

    MD 本身确实不具备复杂应用的特性,但并不意味着需要放弃 MD 格式本身,无论是使用数据库还是 JSON 来存储 MD 源数据都可以实现复杂的应用,唯一要解决的就是与 MD 文件的关联,而不是彻底放弃 MD 格式。MD 是展示层的东西,也可以是源数据的载体,数据库或者 JSON 完全可以作为中转区域来实现各种复杂应用,没必要完全放弃 MD 格式,放弃 MD 格式也就是放弃了整个 MD 生态,以至于它就只是一个笔记,而无法适应更多的应用场景。比如 WEB 文档、移动端更好的写作体验、个人数据统一管理等等。
    shileiye
  • 在扩展语法的道路上越走越远以后,我们发现这似乎是在开历史的倒车。随着更多特定语法的引入,Markdown 的通用性逐步散失,就好像变成了特定软件的私有格式一般。更讽刺的是,语法引入却不能解决 Markdown 最大的问题 —— 自带资源文件(虽然 TextBundle/TextPack 做了一些努力,但就目前而言基本也还是不通用)。

    对于开发者来说,另一条路是一开始就不选择以 Markdown 文本作为存储格式,而是使用更结构化的存储方式,比如数据库或者 JSON,然后在应用层面支持 Markdown 语法排版。选择这条路的开发者,也许已经预见到了将来可能的复杂场景。

    作者:88250
    链接: 纯粹的 Markdown
    来源:链滴
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

  • 查看全部回帖

推荐标签 标签

  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 17 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    25 引用 • 215 回帖 • 164 关注
  • 倾城之链
    23 引用 • 66 回帖 • 100 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    57 引用 • 22 回帖 • 3 关注
  • 数据库

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

    330 引用 • 614 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 3 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 290 关注
  • MyBatis

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

    170 引用 • 414 回帖 • 431 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    51 引用 • 226 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 93 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 285 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    15 引用 • 7 回帖 • 11 关注
  • HBase

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

    17 引用 • 6 回帖 • 45 关注
  • React

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

    192 引用 • 291 回帖 • 441 关注
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 692 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 4 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 346 关注
  • 分享

    有什么新发现就分享给大家吧!

    242 引用 • 1747 回帖 • 1 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 2 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    5 引用 • 15 回帖 • 222 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 399 关注
  • Log4j

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

    20 引用 • 18 回帖 • 43 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 193 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖
  • 百度

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

    63 引用 • 785 回帖 • 253 关注