Service auto-hébergé
zhitongblog/solomd avatar
zhitongblog/solomd

SoloMD : un éditeur Markdown local avec serveur MCP intégré

Un éditeur de démarques et le pont vers votre LLM. Local d'abord, MIT, ~ 15 Mo. Le serveur MCP fourni permet à Claude Code / Codex / Cursor de piloter directement votre coffre-fort. 14 fournisseurs d'IA BYOK.

1 045 étoiles66 forksTypeScriptMIT

En bref

De quoi s’agit-il ?
Un éditeur Markdown gratuit sous licence MIT, construit sur Tauri 2 et Vue 3, qui expose le même dossier de notes à l'éditeur, à un panneau d'agent intégré et à des clients LLM externes via un serveur MCP embarqué.
À qui s’adresse-t-il ?
SoloMD est sous licence MIT, maintenu selon le README par une seule personne, et les métadonnées du dépôt enregistrent 715 étoiles, 36 forks et 47 problèmes ouverts. Les numéros de version dans le README ne sont pas cohérents : la partie d'introduction décrit 4.6, le tableau comparatif cite v4.5, et les liens d'installation pointent vers v4.0.0.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Les derniers commits datent d’il y a 2 jours.
En quel langage est-il écrit ?
Principalement TypeScript, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Trois chemins vers le même dossier de notes

SoloMD se présente comme un éditeur Markdown dont les notes vivent dans un dossier ordinaire de fichiers .md. Le même dossier est accessible par trois voies : la fenêtre de l'éditeur, un panneau d'agent sur la droite, et un point d'accès MCP que des clients LLM externes comme Claude Code, Codex et Cursor peuvent piloter. La pile technique est Tauri 2, Vue 3 et CodeMirror 6. Le DMG universel macOS pèse environ 32 Mo, les métadonnées du projet indiquent environ 15 Mo, et le README répète que l'application reste dans cette fourchette, gratuite, sous licence MIT et sans serveur hébergé par SoloMD. Les notes, les clés IA, l'index d'embeddings et l'historique AutoGit sont décrits comme restant sur la machine de l'utilisateur.

La couche de graphe de connaissances de la 4.6

La présentation des fonctionnalités du README commence par une couche de graphe de connaissances présentée comme nouvelle dans 4.6. Un inspecteur de propriétés modifie le frontmatter YAML avec des sélecteurs de type, date, statut et relation, et des écritures chirurgicales ligne par ligne préservent commentaires, tableaux en ligne et guillemets. Une barre latérale pilotée par les types transforme les notes portant un champ type comme Project en sections repliables avec icône, couleur et colonnes personnalisées. Les relations typées comme belongs_to, related_to et has reçoivent des inverses automatiques résolues côté serveur. Un graphe de relations par note nommé Neighborhood montre les liens sortants et inverses, avec command-clic pour changer de point de vue. Les vues filtrées enregistrées persistent sous .solomd/views, un flux de boîte de réception marque les notes traitées avec Cmd+E, et les tableaux blancs tldraw vivent dans des blocs markdown, compatibles avec le format disque de Tolaria. La même section mentionne aussi une barre de titre macOS unifiée et un système de design avec bibliothèque de composants Vue construits de zéro.

La moitié éditeur

La moitié éditeur est un éditeur live WYSIWYG dans le style de Typora. Le README liste les onglets et panneaux divisés, le rendu KaTeX et Mermaid, le collage d'images vers un dossier _assets, un mode diaporama, le mode Vim, la relecture Hunspell plus CJK, la recherche sémantique, les wikilinks avec backlinks et l'export Pandoc. Les encodages CJK GBK, Big5 et Shift-JIS sont détectés automatiquement. En dessous se trouve AutoGit : chaque Cmd+S devient un commit dans un .git local à l'intérieur du workspace, via libgit2 embarqué, donc sans git système, et ces commits ne sont jamais poussés automatiquement.

La surface d'agent : panneau, recettes, bac à sable de branches

La surface d'agent, présentée comme nouvelle dans v4.0, a trois parties. Le panneau d'agent diffuse en streaming les conversations avec le carnet de notes, affiche les citations wikilink, rend les cartes d'appels d'outils en ligne, et propose des boutons Insert et Copy pour déposer une réponse dans la note active. Les recettes sont des fichiers YAML déclaratifs sous .solomd/agents, déclenchées par cron, on-save, on-commit, on-tag-add ou manuellement ; un livre de 11 recettes est fourni dans le dépôt. Chaque écriture d'agent atterrit sur sa propre branche AutoGit que l'utilisateur accepte ou rejette avant qu'elle touche main. Le plafond d'écriture par exécution est de 5 par défaut, avec un maximum dur de 50 ; le lanceur refuse de démarrer quand l'arbre de travail est sale. Chaque exécution enregistre un trace.jsonl rejouable, lisible via l'outil MCP read_agent_trace. Le README liste aussi la détection automatique d'Ollama sur localhost:11434 avec trois préréglages de modèles, et un alias provider pour les recettes locales qui rend les boucles autonomes sans dépendre du cloud.

Le serveur MCP et ses clients

Un binaire solomd-mcp embarqué expose le même carnet de notes à tout client MCP. Le README compte 13 outils, dont 5 spécifiques à SoloMD : autogit_log, autogit_diff, autogit_rollback, sync_status et share_url. Le serveur ne parle que stdio, n'ouvre aucun port réseau et est en lecture seule par défaut ; --allow-write est un opt-in explicite. Le drapeau --workspace peut être répété pour fédérer plusieurs carnets dans une seule session MCP. Une CLI solomd agent transmet un prompt à Claude Code ou Codex CLI avec le MCP pré-câblé, et une API REST locale avec authentification par jeton offre la même surface aux clients qui ne parlent pas MCP. Le README fournit des extraits de configuration pour Claude Desktop, Claude Code, Cursor, Cline, Continue.dev et Zed, ainsi qu'un format de lien de partage public en lecture seule qui rend n'importe quel fichier d'un dépôt GitHub public sans compte. Il dit aussi que le serveur MCP fonctionne avec n'importe quel dossier de fichiers Markdown, même sans installer SoloMD lui-même.

Confidentialité et sécurité telles que documentées dans le README

La section confidentialité du README décrit une conception purement côté client. Les clés API vivent dans le trousseau du système d'exploitation, jamais dans localStorage ou un fichier de configuration. Les requêtes IA vont directement de la machine vers le fournisseur choisi, sans relais SoloMD. Les embeddings et le dépôt AutoGit sont uniquement locaux, et le serveur MCP n'ouvre aucun port réseau. Les garde-fous pour les agents sont concrets : chaque exécution de recette démarre sur sa propre branche AutoGit, le plafond d'écriture limite les boucles incontrôlées, un arbre de travail sale bloque le démarrage, et la protection contre le path traversal rejette les segments .. et les chemins absolus dans chaque point d'accès Tauri, MCP ou REST qui accepte un chemin fourni par l'utilisateur. Pour la synchronisation, le README décrit Argon2id avec les paramètres par défaut de la RFC 9106, suivi de XChaCha20-Poly1305 avec nonces déterministes et le chemin comme AAD, et un comportement fail-closed quand le parsing de sync.json échoue. Il renvoie à une page de sécurité séparée pour l'exposé complet, et c'est là que toute vérification indépendante devrait avoir lieu.

Licence, compilation et ce que le README laisse de côté

Le dépôt est sous licence MIT, copyright 2026 xiangdong li. La licence accorde les droits d'utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et vendre, et le logiciel est fourni en l'état, sans garantie. La compilation depuis les sources exige Rust stable, Node 18 ou plus récent et pnpm ; les commandes du README sont pnpm install, pnpm tauri dev pour le développement avec rechargement à chaud et pnpm tauri build pour les artefacts de release. Linux nécessite en plus libdbus-1-dev pour le backend de trousseau. Les métadonnées du dépôt enregistrent 715 étoiles, 36 forks et 47 problèmes ouverts. Le README n'établit ni rythme de publication, ni engagement de support, ni chiffres de référence, ni audit indépendant, et ses libellés de version sont incohérents : 4.6 dans l'introduction, v4.5 dans le tableau comparatif et v4.0.0 dans les liens d'installation.

Pour SoloMD, clonez le dépôt et reproduisez l'entrée documentée avec un document Markdown court. Inspectez la structure de sortie, les métadonnées, les images et les liens relatifs; vérifiez aussi ce qui se passe lorsque le fichier contient du code, des tableaux ou des caractères non latins. Comparez un traitement local et l'option de configuration décrite dans le README, en conservant la version de Node ou de Python requise. Les fonctions d'export et de publication doivent être testées séparément afin de ne pas confondre génération de contenu et transport. La documentation de SoloMD doit rester la référence pour les formats réellement supportés.

Conclusion éditoriale

SoloMD est sous licence MIT, maintenu selon le README par une seule personne, et les métadonnées du dépôt enregistrent 715 étoiles, 36 forks et 47 problèmes ouverts. Les numéros de version dans le README ne sont pas cohérents : la partie d'introduction décrit 4.6, le tableau comparatif cite v4.5, et les liens d'installation pointent vers v4.0.0. Pour fixer une version, il faut donc vérifier la page des releases plutôt que le README. Avant adoption, exécutez le contrôle propre à solomd, relevez la sortie et vérifiez la limite qui concerne vos données.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté