关于思源笔记的一些看法

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

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

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

  • 思源笔记

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

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

    18697 引用 • 69807 回帖

相关帖子

欢迎来到这里!

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

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

    说点“感情用事”的观点:

    1. 在已经有了 ob logseq 等用 MD 做格式的笔记软件后,思源没必要进去内卷了
    2. 在日益复杂的功能场景下,MD 格式的局限性只会越来越大,额外消耗开发资源
    首先明确目标是啥,思源的目标是啥?做个全能笔记?知识库?那当初为何选 MD 入手?成熟的笔记应用和知识库管理软件一堆,不和 MD 磕,去跟 oneNote、myBase 这些应用卷吗?感觉这种想法首先就是自我否定,然后迷茫。本末倒置了,搞那么复杂,其实有那么多需要吗?我只不过想要个全平台可用,用起来舒服,有简易文档分类的电子笔记本而已,甚至我都不需要什么双链引用和知识管理这些耗费精力的功能,这些功能从来只有极少数人用,大多数人并不需要,为了满足少数人的需求而忽略大多数人的需求,这路子似乎不怎么正啊。用产品的话说,很多东西看似重要,其实都是伪需求。
    shileiye
  • 其他回帖
  • 在扩展语法的道路上越走越远以后,我们发现这似乎是在开历史的倒车。随着更多特定语法的引入,Markdown 的通用性逐步散失,就好像变成了特定软件的私有格式一般。更讽刺的是,语法引入却不能解决 Markdown 最大的问题 —— 自带资源文件(虽然 TextBundle/TextPack 做了一些努力,但就目前而言基本也还是不通用)。

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

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

  • 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
  • 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
  • 查看全部回帖

推荐标签 标签

  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 152 关注
  • JWT

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

    20 引用 • 15 回帖 • 19 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 6 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 39 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 643 关注
  • 数据库

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

    330 引用 • 614 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 597 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 740 关注
  • 小薇

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

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

    34 引用 • 467 回帖 • 693 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 799 回帖
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 1 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 345 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 294 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 605 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 618 关注
  • Q&A

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

    6551 引用 • 29424 回帖 • 246 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 1 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 6 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • 微服务

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

    96 引用 • 155 回帖
  • V2Ray
    1 引用 • 15 回帖 • 2 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 54 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖