Show HN: Files.md – Open-source alternative to Obsidian
Files.md 是一款简单且本地优先的应用,用纯 .md 文件来管理日常事务。它把自己定位为复杂"Second Brain"工具(如 Obsidian)的一种极简替代,认为过多的功能和模板会变成一种陷阱,反而拖延真正的思考。核心理念是:限制能激发创造力;因此工具被设计得极其简洁,代码库小到一个人或一个大语言模型都能完全理解。
该应用作为 Progressive Web App 直接在浏览器中运行,无需安装且支持离线使用。它强调用户对数据的所有权,所有内容都保存在本地 .md 文件中,并可选择通过单一二进制服务器或 iCloud 、 Dropbox 等云服务进行同步。一个关键功能是集成的 Telegram 聊天机器人,允许用户随手记录想法、笔记和任务,并将其保存到文件系统。
作者批评"Second Brain"概念,引用文章指出这类系统可能制造一种虚假的掌控感,成为拖延的借口。真正的价值在于用自己的大脑去思考笔记、在想法间建立联系并深化理解,而不是单纯地收集信息。文章也提醒不要让记笔记阻碍现实体验和情感疗愈。
实际使用很简单:打开网页应用、安装并选择一个本地文件夹,就能创建笔记、清单、日记和任务,这些内容按预设但灵活的结构组织。应用提供常用操作的快捷键和实用脚本,例如把 Whoop 指标加入日记或转换维基链接。项目是开源的,强调简洁、最小依赖以及便于初级开发者理解的代码。
技术上,后端使用 Go 编写,前端用 JavaScript,并附有详细指南。文章强调性能,指出互斥锁操作相比磁盘 I/O 可以忽略不计。还包含一系列 Architecture Decision Records(ADR),记录项目演进,比如从复杂的 WASM 实现回退到更简单的 JavaScript,以及统一采用纯 markdown 链接以提升跨平台兼容性。总体目标是打造一个可持续、可移植且无干扰的知识管理系统。
This article introduces Files.md, a simple, local-first application for managing life in plain markdown files. It positions itself as a minimalist alternative to complex "Second Brain" tools like Obsidian, arguing that excessive features and templates can become a trap that defers actual thinking. The core philosophy is that restrictions foster creativity, and the tool is designed to be extremely simple, with a codebase small enough for one person or an LLM to understand fully.
The application works directly in the browser as a Progressive Web App, requiring no installation and functioning offline. It emphasizes user ownership of data, storing everything in local .md files with optional synchronization via a single-binary server or cloud services like iCloud and Dropbox. A key feature is a Telegram chatbot that allows users to quickly dump thoughts, notes, and tasks on the go, which are then saved into the file system.
The author critiques the "Second Brain" concept, quoting an essay about how such systems can create a false sense of mastery and become a form of procrastination. The real value, they argue, comes from using your own brain to think through the notes, make connections between ideas, and develop deeper understanding, rather than just collecting information. The article warns against letting note-taking become a barrier to real-world experience and emotional healing.
Practical usage is straightforward: users open the web app, install it, and select a local folder. They can create notes, checklists, journals, and tasks, all organized in a predefined but flexible structure. The app includes hotkeys for common actions and useful scripts for tasks like adding Whoop metrics to journals or converting wikilinks. The project is open source, with a focus on simplicity, minimal dependencies, and code that junior developers can easily comprehend.
The technical backend is written in Go, with a JavaScript frontend, and the project includes detailed guidelines for both. It highlights performance, noting that mutex operations are negligible compared to disk I/O. The article also includes a series of Architecture Decision Records (ADRs) that document the project's evolution, such as moving from a complex WASM implementation to simpler JavaScript, and standardizing on plain markdown links for cross-platform compatibility. The overarching goal is to create a sustainable, portable, and distraction-free system for knowledge management.
308 comments • Comments Link
• Obsidian 本身并非开源,但给人的感觉像是开源的:用户完全掌控自己的数据,数据以开放的 markdown 标准存储,且插件 API 非常开放,这营造出一种开源的感知,尽管核心应用仍是专有的。
• 开发者创造了有价值的产品,理应获得报酬。 Obsidian 雇佣了全职工程师,他们需要生计。其商业模式也合理:核心工具免费,笔记以纯 markdown 存储,用户可以选择付费使用同步等服务来支持持续开发。
• 由于是 Electron 应用,Obsidian 的代码并没有经过混淆,相对容易检查。官方团队甚至在支持论坛上鼓励用户自行审查代码,以增强信任。
• 越来越多的人认为,在 AI 时代软件应该以开源方式发布,这样任何人都能根据需要进行调整,最好能直接修改代码而不是依赖复杂的插件系统。借助 LLM,普通用户现在也能克隆仓库并让 AI 帮忙定制。
• 开源生态可以通过商业许可、云服务或赞助等方式补偿开发者的付出。许多开发者最初是为自己需要而构建工具,公开后又能从社区的改进和错误修复中受益。
• 但开源也有维护负担,比如要处理大量不必要的 pull request,这些工作可能超过偶尔修补所带来的价值。管理社区贡献需要维护者投入大量时间和精力。
• 与其纠结源码是否公开,更重要的是开放标准和数据可移植性。 Obsidian 使用纯 markdown 文件,意味着用户不会被锁定,可以随时迁移到其他工具。优先保证开放标准和联邦化,比开源许可本身更关键。
• Files.md 被介绍为一个自托管的开源 markdown 知识库,强调简洁和顺畅的记笔记体验。它并不是要做一个与 Obsidian 功能等同的替代品,而是一种更注重极简和开箱即用的不同路径。
• 个人知识管理领域还提到了 TiddlyWiki 、 TrilliumNext 、 SilverBullet 、 Logseq 和 SDocs 等工具,它们在自托管、 markdown 存储、可脚本化和协作功能上各有权衡。
• 长期笔记工具的一个关键原则是既保留纯文件形式的数据,又拥有打开这些文件的软件。这样文件与软件就能在用户完全拥有的前提下共同演进。 Golang 被认为是这类软件的良好选择,因为它简单、易于在几十年内维护。
讨论的核心是开源理念与可持续软件开发之间的张力,以 Obsidian 为案例展开。虽然许多人认为笔记类工具在 AI 时代应该开源,因为修改代码变得更容易,但也有人认为开发者应获得公平的报酬,而开放的数据标准已经为用户提供了足够的自由。参与者还就个人知识管理领域分享了围绕数据所有权、简洁性和长期可维护性等不同优先级的工具和方法。 • Obsidian is not open source, but it feels like it should be. The app gives users complete control over their data, which is stored in the open markdown standard, and its plugin API is very open. This creates a perception of openness even though the core application is proprietary.
• The developers built something valuable and deserve to be compensated for their work. Obsidian employs full-time engineers who need to earn a living. The business model is reasonable: the core tool is free, notes are stored in plain markdown, and users can optionally pay for the sync service to support ongoing development.
• Obsidian's code is not obfuscated since it is an Electron app, making it relatively easy to inspect. The official team has even directed users to examine the code themselves on support forums if they have trust concerns.
• There is a growing belief that software in the AI era should be distributed as open source so that anyone can tweak it to their needs, ideally through direct code modification rather than clunky plugin systems. With LLMs, any regular user can now clone a repository and ask an AI to customize it.
• The open source ecosystem can compensate developers through commercial licenses, cloud services, or sponsorships. Many developers build tools for their own needs, release them publicly, and benefit from community improvements and bug fixes in return.
• The burden of open source maintenance includes dealing with unwanted pull requests, which can outweigh the value of occasional drive-by bug fixes. Managing community contributions requires significant time and effort from maintainers.
• Open standards and data portability matter more than open source licensing. Obsidian uses plain markdown files, meaning users are never locked in and can switch to any other tool at any time. This approach of prioritizing open standards and federation is more important than whether the source code is available.
• Files.md is presented as a self-hosted, open source markdown knowledge-base with an emphasis on simplicity and a lazy flow for adding notes. It is not positioned as a direct Obsidian alternative with feature parity, but rather as a different approach focused on minimalism and out-of-the-box readiness.
• Several other tools in the personal knowledge management space are mentioned, including TiddlyWiki, TrilliumNext, SilverBullet, Logseq, and SDocs. Each offers different trade-offs around self-hosting, markdown storage, scriptability, and collaboration features.
• A key principle for long-term note-taking tools is owning both the data in plain files and the software that opens them. This ensures files and tools can evolve together under full user ownership. Golang is cited as a good fit for such software due to its simplicity and ease of maintenance over decades.
The discussion centers on the tension between open source ideals and sustainable software development, using Obsidian as a case study. While many users feel that tools like note-taking apps should be open source, especially in an era where AI makes code modification accessible, others argue that developers deserve fair compensation and that open data standards provide sufficient user freedom. The conversation also explores the broader personal knowledge management landscape, with participants sharing various tools and approaches that prioritize data ownership, simplicity, and long-term maintainability.