by zhitongblog
A markdown editor — and the bridge to your LLM. Local-first, MIT, ~15 MB. Bundled MCP server lets Claude Code / Codex / Cursor drive your vault directly. 14 AI providers BYOK.
# Add to your Claude Code skills
git clone https://github.com/zhitongblog/solomdLast scanned: 5/31/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-31T07:45:44.188Z",
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
The editor where agents live.
🌐 中文 · 日本語 · 한국어 · Deutsch · Français · Español · Português · Italiano · Polski · Nederlands · Türkçe · Svenska · Українська · 🪞 Gitee mirror → (faster downloads from China)
Download v4.0 · Launch post · How we built it · Website · Security
Your notes live in a folder. SoloMD is the editor on top — with a first-class agent surface inside the editor, and the MCP endpoint Claude Code / Cursor can drive from outside. Same .md files. Chat with your vault. Schedule recipes that run when you're not at the keyboard. Hand the same vault to any MCP client.
Built on Tauri 2 + Vue 3 + CodeMirror 6. Universal macOS dmg ~32 MB. Free, MIT, no subscription, no SoloMD-hosted servers. Your notes, AI keys, embeddings index, and git history all stay on your machine.
The editor. WYSIWYG live edit (Typora-style), tabs + split panes, KaTeX + Mermaid, image paste to _assets/, slideshow mode (⌘⌥P), Vim mode, Hunspell + CJK proofread, semantic search (⌘⇧F), wikilinks + backlinks, Pandoc export. CJK encodings (GBK / Big5 / Shift-JIS) auto-detected.
The endpoint. A bundled solomd-mcp binary exposes the same vault to any MCP client — 13 tools out of the box, including 5 SoloMD-only ones (autogit_log, autogit_diff, autogit_rollback, sync_status, share_url) that no other markdown server has. v4.0 adds --workspace path1 --workspace path2 federation — one MCP session, many vaults. Plus a solomd agent <prompt> CLI that hands off to Claude Code / Codex CLI with the MCP pre-wired.
The agent surface (v4.0). Right-side Agent Panel: streamed chat-with-vault, [[wikilink]] citations, tool-call cards inline, Insert / Copy buttons drop the reply into the active note. Plus declarative recipes as YAML in <workspace>/.solomd/agents/*.yml — cron / on-save / on-commit / on-tag-add / manual triggers. Every agent write lands on its own AutoGit branch you accept or reject before it touches main; write-cap default 5; refuses to start when the working tree is dirty; replayable trace.jsonl per run with read_agent_trace MCP tool.
| Feature | |
|---|---|
| Agent Panel (v4.0) | Streamed chat-with-vault peer to Outline / Backlinks / Tags / History. Tool-call cards expand inline; reply Insert / Copy to active editor; run history persists as plain markdown under .solomd/agent-runs/. |
| Scheduled recipes (v4.0) | YAML jobs in your vault. AutoGit branch sandbox + accept/reject UI before merge. Per-run write-cap (default 5, ceiling 50). 11-recipe cookbook ships in-tree. |
| Replayable trace (v4.0) | trace.jsonl per step (prompt / model_call / tool_call / tool_result / git_commit). Replay-from-step rewinds and re-executes. |
| Workspace federation (v4.0) | solomd-mcp --workspace path1 --workspace path2. One Claude Desktop session, many vaults. MCP profiles UI in Settings → Integrations. |
| Ollama first-class (v4.0) | Auto-detect at localhost:11434. Three model presets (qwen2.5:1.5b/7b/14b). provider: local recipe alias for zero-cloud-cost autonomous loops. |
| AI rewrite, BYOK | 14 providers — OpenAI · Claude · Gemini · DeepSeek · Qwen · GLM · Kimi · Doubao · SiliconFlow · OpenRouter · Mistral · Groq · xAI · Ollama. Direct vendor calls. Keys in OS keychain. |
| GitHub-backed sync | Push your vault to a private GitHub repo on every save. Optional E2EE (Argon2id + XChaCha20-Poly1305). GitLab / Gitea / any HTTPS git URL works too. |
| AutoGit per note | Every ⌘S is a commit in a local .git inside the workspace. libgit2 vendored, no system git needed. Never auto-pushed. |
| MCP server bundled | solomd-mcp ships in the install. 13 tools (8 generic + 5 SoloMD-only). stdio only, no network port. Read-only by default; --allow-write opt-in. |
| REST API (v4.0) | Localhost only, token auth. Same surface as MCP for clients that don't speak MCP yet — Alfred / Raycast / n8n / your own scripts. |
| BYOK cost meter (v4.0) | Per-provider running tokens-spent counter, opt-in. Settings → Integrations. |
| Cloud-folder mode | If your vault lives in ~/Library/Mobile Documents/... or ~/Dropbox/..., SoloMD detects it and adds cross-device session restore on top — the OS already does the file sync. |
| Public read-only share | Command palette → copy solomd.app/share/?repo=...&path=... link. Renders any file in your public GitHub repo, no SoloMD account needed to view. |
After installing SoloMD on macOS / Linux:
1. Chat with your vault. Open the right-side Agent Panel (⌘⇧P → "View: Toggle Agent Panel" if hidden). Streamed multi-turn against your notes; tool-call cards show every read/write inline. Reply too long? Insert drops it into the active note at the cursor (replaces selection); Copy to clipboard.
2. Schedule a recipe. Settings → Recipes → Browse cookbook. 11 starters ready: weekly review, daily summary, TODO extraction, translation pass, citation cleanup, CJK proofread agent, link-rot detector, frontmatter normalizer, outline-to-blog, refactor pass, weekly tag triage. Install one, edit the prompt, run it.
3. Drive the same vault from another LLM client. One-shot:
# Print the MCP config snippet for your AI client.
solomd mcp-config
{
"mcpServers": {
"solomd": {
"command": "/Applications/SoloMD.app/Contents/Resources/solomd-mcp",
"args": ["--workspace", "/Users/me/Documents/SoloMD"]
}
}
}
Paste into Claude Desktop / Cursor / etc. For multi-vault federation, repeat --workspace:
"args": [
"--workspace", "/Users/me/Documents/SoloMD",
"--workspace", "/Users/me/Documents/work-notes"
]
4. Or hand a prompt to claude / codex CLI directly:
solomd agent "rewrite this week of dailies into a weekly review and commit it"
Path-traversal guarded. No network port. The LLM only sees what you point the workspace at.
Latest release: v4.0.0.
brew install --cask zhitongblog/solomd/solomd
Or download the dmg directly:
https://github.com/zhitongblog/solomd/releases/latest/download/SoloMD_4.0.0_universal.dmg
Or one-line shell install:
curl -fsSL https://solomd.app/install.sh | bash
SoloMD_4.0.0_x64_en-US.msiSoloMD_4.0.0_x64-setup.exe (NSIS)SoloMD_4.0.0_x64-portable.zip — no installerirm https://solomd.app/install.ps1 | iex
winget install solomd
.AppImage (universal), .deb (Debian/Ubuntu), .rpm (Fedora/RHEL) — both architectures from the releases page.solomd-bin on AUR.App Store — same engine, native iPad UI.
The bundled solomd-mcp server runs against any folder of Markdown files — you don't need to install SoloMD itself to drive your vault from Claude / Cursor / Cline / Continue / Zed. Install snippets for each:
| Client | Config snippet |
|---|---|
| Claude Desktop | marketplace/client-docs/claude-desktop.md |
| Claude Code | marketplace/client-docs/claude-code.md |
| Cursor | marketplace/client-docs/cursor.md |
| Cline (VS Code) | marketplace/client-docs/cline.md |
| Continue.dev | marketplace/client-docs/continue.md |
| Zed | marketplace/client-docs/zed.md |
Available as:
<vault>/.solomd/agents/. Ships with every release.SKILL.md + install.sh that wires solomd-mcp into ~/.claude/mcp.json and exposes the 13 tools to Claude Code with patterns and starter recipes.smithery.yaml + Dockerfile at marketplace/smithery/ (submission pending).punkpeye/, appcypher/, wong2/awesome-mcp-servers, ~14k forks combined) at [