Files.md - une application de fichiers Markdown locale d’abord, alternative open source à Obsidian
(github.com/zakirullin)- Une application simple de gestion des connaissances personnelles qui stocke notes, documents, projets, journal, habitudes, checklists et tâches sous forme de fichiers
.mdbruts - Une architecture PWA locale d’abord, sans installation requise, qui fonctionne avec un simple navigateur et permet une utilisation hors ligne
- Prise en charge de la synchronisation de dossiers cloud : synchronisation multi-appareils via les dossiers cloud existants d’iCloud / Dropbox / Google Drive, sans avoir à exploiter de serveur
- Serveur auto-hébergé possible également : exploitation de son propre serveur avec un unique binaire Go, contrôle total et intégration de bot Telegram
- Mode Hosted (app.files.md) : serveur managé fourni, utilisable immédiatement sans configuration
- Capture rapide : en envoyant un message dans la fenêtre de chat, il est automatiquement synchronisé sur tous les appareils, et l’emplacement de sauvegarde peut être choisi immédiatement ou organisé plus tard
- Notes, tâches, journal et checklists sont tous traités en une seule fois dans le même flux. Il suffit d’appuyer sur
Enterpour enregistrer
- Notes, tâches, journal et checklists sont tous traités en une seule fois dans le même flux. Il suffit d’appuyer sur
- Le bot Telegram peut être utilisé pour accéder aux fichiers et les enregistrer en déplacement, avec prise en charge prévue d’autres messageries
- Les éléments de la boîte de réception sont identifiés par un hachage de contenu stable (
fs.Hash), de sorte que même si d’autres éléments sont ajoutés, supprimés ou marqués comme terminés, les boutons pointent toujours vers la bonne ligne
- Les éléments de la boîte de réception sont identifiés par un hachage de contenu stable (
- L’approche de gestion des connaissances met davantage l’accent sur le fait de réfléchir par soi-même que sur les templates avancés, plugins ou workflows IA, et recommande un flux consistant à mettre une idée par note, relier les notes associées puis les revisiter
- La structure des fichiers est prédéfinie, comme
Chat.md,brain/Note.md,journal/2024.08 August.md,habits/*.md,media/*,config.json, mais il est aussi possible d’utiliser la structure de son choix - Un schéma de structure est fourni dans
files.md/llms.txt, que l’on peut coller dansCLAUDE.mdouAGENTS.mdafin qu’un agent IA comprenne la structure des fichiers - Des raccourcis sont fournis pour travailler avec des fichiers Markdown, comme l’insertion de liens de fichiers avec
[, la recherche de fichiers avecCmd/Ctrl+Pet la création d’un nouveau fichier avecCmd/Ctrl+N - La base de code vise une simplicité telle qu’une seule personne ou un LLM puisse en garder l’ensemble en tête, et les PR doivent privilégier la suppression de code et la simplification plutôt que l’ajout de fonctionnalités
- Le frontend vise à conserver
/web/index.htmlouvrable tel quel même après longtemps, sans système de build, tandis que le backend met l’accent sur les tests, l’encapsulation des erreurs et la réduction des dépendances - Pour le format de stockage et la portabilité, tout est enregistré dans des fichiers
.mdordinaires, avec des liens Markdown standard afin de préserver la compatibilité avec d’autres environnements comme GitHub - Licence MIT
1 commentaires
Commentaires sur Hacker News
Je me suis de nouveau rendu compte qu’Obsidian n’est pas open source, mais il a curieusement quelque chose qui le fait paraître comme tel
Quand on vérifie, il est clair que non, et pourtant on continue à avoir l’impression qu’il devrait l’être
Le produit principal ne l’est pas, mais comme ce n’est au fond qu’une app Electron, j’ai toujours vu Obsidian comme l’inverse d’un produit open core
Pour défendre le modèle d’Obsidian, il y a une équipe d’ingénierie dédiée, l’outil est gratuit et les notes sont stockées en
.md, pas dans un format propriétaireOn peut payer pour l’outil de synchronisation si on le souhaite, le prix est raisonnable et je trouve que c’est une bonne manière de soutenir le développement
Le produit continue aussi d’évoluer dans des directions intéressantes, et la nouvelle marketplace de plugins avec politique de validation est plutôt bien faite, au point de pouvoir servir de référence
Ceci dit, ce projet a aussi l’air sympa, même si je suis presque un évangéliste d’Obsidian
Si vous ne faites pas confiance à l’app, il me semble que l’équipe officielle d’Obsidian disait justement de faire ça sur le forum de support
Je pense que les logiciels à l’ère de l’IA devraient être distribués en open source
Au lieu de passer par un système de plugins bancal, chacun devrait pouvoir les modifier comme il l’entend
Obsidian permet aux utilisateurs de garder un contrôle total sur leurs propres données et les stocke dans des standards ouverts
J’aimerais qu’on m’explique pourquoi les développeurs devraient se comporter comme des moines ayant fait vœu de pauvreté
Ils ont créé quelque chose de valeur, ils devraient donc pouvoir en tirer un bénéfice
Je suis en train de créer une version native d’Obsidian avec Qt6 (QWidgets, C++)
Reproduire l’éditeur Markdown prend pas mal de temps, car il y a énormément de façons de casser les fichiers ou de perdre le style du Markdown rendu
Mais il y a des progrès, c’est léger, ça utilise environ 15 Mo de RAM, pas de GPU, et presque pas de CPU quand le curseur ou le défilement bougent. À mon avis, c’est comme cela qu’un éditeur de texte devrait fonctionner
Pour en faire un bloc-notes moderne de base, il manque encore les tableaux de widgets, les listes et le rendu avec coloration syntaxique des blocs de code
Je ne sais pas encore si je le publierai en open source. En ce moment, cela semble être une perte de temps, mais il sera utilisable gratuitement
https://i.imgur.com/ro9Zq9w.png
https://i.imgur.com/pbJcTQF.gif
AI'm buildingn’est pas une faute de frappe, j’aime beaucoup l’expression, qui affirme très exactement que c’est construit avec de l’IAC’est basé sur Markdown et ça prend en charge les wikiliens, la gestion de tâches, les tableaux Kanban et la publication de sites statiques
Ça tourne en local et s’intègre bien à Git
L’idée était de construire quelque chose avec des formats et des technologies qui ont de bonnes chances de durer
Si tu utilises Qt, si je comprends bien, tu devras payer la licence Qt si tu veux distribuer l’app en code source fermé
Si tu crées un logiciel libre natif et totalement compatible avec Obsidian, je serais volontiers prêt à contribuer symboliquement
Je ne présenterais sans doute pas cela comme une alternative à Obsidian
Ils partagent des fichiers Markdown et servent tous deux à prendre des notes, mais Files.md semble avoir sa propre façon d’aborder les pensées, les notes et les connaissances de l’utilisateur
En lisant « alternative », je m’attendais à une équivalence fonctionnelle et à une compatibilité API, mais ce que j’ai vu est complètement différent et bien plus intéressant
Je vais essayer ce sur quoi tu as travaillé pendant un an
En réalité, je ne le positionne pas comme une alternative à Obsidian. Je ne sais simplement pas encore trouver une meilleure formule de présentation
Pour moi, c’est surtout une question de simplicité, de fluidité pour ajouter quelque chose sans effort et de disponibilité immédiate à l’usage
J’essaie de me concentrer sur ce qui fonctionne vraiment, pas sur ce qui est tape-à-l’œil
Cela mettrait l’accent sur la propriété plutôt que sur une compétition fonctionnelle avec Obsidian
Joplin est open source, la configuration de la synchronisation entre appareils se fait avec une simple connexion à Dropbox, et cela fonctionne gratuitement
Il existe aussi des apps natives pour Windows, macOS, Linux, iOS et Android, ainsi qu’un bon nombre de plugins
Si vous avez seulement besoin de fichiers Markdown synchronisés, mieux vaut utiliser cela que payer pour Obsidian Sync
Les 2 Go gratuits de Dropbox suffisent pour du texte et quelques captures d’écran. Bien sûr, on peut aussi l’héberger soi-même
Git est excellent pour le code source, mais pénible pour les notes
J’utilise Git, ça marche bien, et ça me rassure de savoir que mes notes ne vont pas disparaître
Avant c’était plus compliqué sur mobile, donc j’utilisais une app dédiée, mais maintenant Obsidian Git fonctionne aussi assez bien
Il y a encore des améliorations possibles, mais globalement c’est suffisant pour moi
J’utilise par exemple la dictée vocale dans ma note quotidienne sur mon téléphone, puis je mets tout en forme plus tard sur le bureau
Je trouve intéressant que dans certaines versions du second cerveau, on dise que « le second cerveau grandit, mais le premier cerveau ne devient pas plus intelligent »
Je me souviens que Tiago Forte avait décrit son objectif de second cerveau comme le fait de « ne rien mémoriser »
L’idée est que, si le second cerveau affiche le bon contexte au bon moment, on pourra simplement le lire et l’absorber, mais cette phrase m’a fait perdre de l’intérêt pour cette marque
Cela me rappelle le « pas besoin de s’en souvenir si on peut le retrouver sur Google », et ça ne me plaît pas
Je préfère largement la vision de cet auteur, qui utilise le premier cerveau comme quelque chose à renforcer grâce au second
Les êtres humains sont déjà très mauvais pour se rappeler précisément de ce qu’ils ont vu quelques minutes plus tôt
Mais si on ne retient rien et qu’on déverse tout dans un second cerveau, on n’a plus ni carte, ni contexte, ni idée de comment retrouver ce dont on a besoin au bon moment
C’est un peu comme donner un manuel d’électronique à n’importe quel ado dans la rue et lui demander de fabriquer une alimentation sur-le-champ
Au final, il y a clairement un spectre, et chacun a sa propre idée du point optimal. C’est très probablement très différent d’une personne à l’autre
Personnellement, le simple fait d’écrire dès le départ des notes très détaillées a déjà rendu l’information plus adhérente dans ma tête, ce qui augmente fortement les chances que je n’aie même plus besoin de consulter les notes ensuite
C’est un petit dilemme intéressant
Cela fait des années que je développe ma base de connaissances, et les résultats ont été bons
Il n’en faut pas beaucoup pour commencer à prendre des notes
Pas besoin de technique ni de workflow, la configuration la plus simple suffit
Mais « Second Brain » est une expression qui enthousiasme les gens
Dans la pratique, ça fonctionne mal, mais pour vendre, c’est excellent
À mon avis, il ne suffit pas de posséder ses données sous forme de fichiers texte brut, il faut aussi posséder le logiciel qui ouvre ces fichiers
Ainsi, les fichiers et l’outil peuvent évoluer ensemble au fil du temps, tout en restant pleinement sous mon contrôle
Cette app est conçue pour être facilement modifiable avec des LLM selon ses besoins, et le code a été optimisé en ce sens
Au passage, Go me semble particulièrement bien adapté à ce type de logiciel
L’approche d’une interface de chat est intéressante
Maintenant que les assistants IA deviennent sérieux, cela paraît réalisable
Obsidian n’est peut-être pas open source, mais son format de fichier est nettement plus ouvert que celui de Joplin
C’est pour cela que je suis passé à Obsidian
Avec Syncthing pour la synchronisation, cela fonctionne tout à fait correctement à la fois sur ordinateur et sur smartphone
Ce qui manque encore dans la plupart des outils Markdown, c’est une bonne capacité à rendre et partager de gros documents d’architecture et des diagrammes Mermaid
J’ai fini par créer moi-même un lecteur de fichiers Markdown, https://mdview.io, qui gère bien mieux les grands diagrammes et les tableaux que les apps de notes classiques
Cela rend Mermaid, la coloration syntaxique, etc.
C’est très utile pour planifier un logiciel avec des agents
Le fait que la page se mette à jour dynamiquement pendant le travail et que les diagrammes soient visibles aide beaucoup
Ces derniers temps, j’ajoute bien plus souvent aux prompts qu’il faut inclure des diagrammes lors de la phase de planification ou dès que nécessaire
Il suffit d’utiliser LogSeq : https://discuss.logseq.com/t/whats-new-with-logseq-db-may-16...
J’utilise Trilium pour mes notes et j’aime bien l’application elle-même, mais la façon dont elle stocke et conserve les notes est l’un des points qui me déplaisent
J’avais un temps essayé d’exporter tout en Markdown, et ça fonctionnait
Mais Trilium permet d’avoir une même note à plusieurs emplacements, alors qu’en backend il s’agit essentiellement de pointeurs vers cette note
Du coup, l’export devenait un peu bizarre, et certaines instances de notes n’étaient plus que des coquilles vides sans contenu réel
J’ai donc dû déplacer les notes pour que les fichiers Markdown se retrouvent aux bons emplacements
Malgré cela, j’aime bien cette possibilité d’avoir des notes à plusieurs endroits, donc au final je continue d’utiliser Trilium