桌面软件 活跃维护

solomd

zhitongblog/solomd

一个 Markdown 编辑器——也是你 LLM 的桥梁。本地优先,MIT 许可,约 15 MB。捆绑的 MCP 服务器让 Claude Code / Codex / Cursor 直接驱动你的资料库。14 个 AI 提供商,支持自带密钥 (BYOK)。

1295
Stars 标星
84
Forks 分支
6
Watchers 关注
100
Open Issues
TypeScript
主要语言
MIT
开源协议
69.0 MB
仓库大小
18 小时前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:zhitongblog/solomd
git clone https://github.com/zhitongblog/solomd.git
git clone git@github.com:zhitongblog/solomd.git
README.md main

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

独自医生

代理所在的编辑器。

📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。
下载最新版本 · 发布文章 · 我们的构建方式 · 官网 · 安全性

⭐ 如果 SoloMD 在你的设备上占有一席之地,在 GitHub 上为它加星 — 它是免费的,由一名开发者制作,星标是其他人发现它的方式。

📷 原文此处有图片,请前往 GitHub 仓库查看完整内容。

🤖 由 Claude 构建和维护

SoloMD 几乎完全由 Claude Code(Anthropic 的编码代理)编写、测试和发布,他在一名负责方向并决定发布内容的人类维护者的指导下工作。问题和拉取请求也由 Claude 进行分拣和答复——你在这里收到的回复是由 AI 撰写的,而不是由人手输入的。

我们告诉你这些有两个原因。你应该知道你信任的笔记对象:阅读代码,它是麻省理工学院的,且全部公开。当回复明确错误时——确实会发生——请在帖子中说明。这种纠正就是机制。

你的笔记存放在一个文件夹中。SoloMD 是顶层的编辑器——在编辑器内有一流的智能体界面,而 MCP 端点 Claude Code / Cursor 可以从外部驱动。 相同的 .md 文件。与你的存储库聊天。在你不使用键盘时安排运行的脚本。将相同的存储库交给任何 MCP 客户端。

基于Tauri 2 Vue 3 CodeMirror 6构建。通用macOS版 dmg ~32 MB。免费,MIT,无需订阅,也无SoloMD托管服务器。你的笔记、AI密钥、嵌入索引和git历史都会保存在你的机器上。

4.6 版本新增——知识图谱层

Obsidian和Tolaria拥有而SoloMD没有的结构性部分——现在已经建成,并且基于SoloMD自有的温暖设计系统:

  • 属性检查器 (⌘⇧I) — 使用类型/日期/状态/关系选择器编辑 YAML 前言;逐行精确写入可保留您的评论、内联数组和逐字节引号。
  • 类型驱动侧边栏 — 给一个笔记添加 type: Project,其成员将成为具有自定义图标/颜色/列的一级可折叠部分(类型即透镜)。
  • 类型化关系 — belongs_to / related_to / has 前置字段,带有自动反向关系,在服务器端为大型知识库解析。
  • 关系图(“邻近”)——每音符探索出站反向链接;点击导航,⌘点击切换。
  • 已保存的筛选视图 — 持久化侧边栏视图(.solomd/views/*.yml),带有递归的所有/任意过滤器构建器(类型 / 状态 / 日期 / 正则表达式)。
  • 收件箱工作流 — ⌘E 标记已整理 自动推进到收件箱零
  • tldraw 白板 — 支持 Markdown 的白板(使用 ```tldraw 代码块),与 Tolaria 的磁盘格式兼容,采用懒加载方式,以保持核心轻量化。

加上一个统一的 macOS 标题栏(流量灯内嵌在工具栏中)以及一个从零开始设计的系统 Vue 组件库。仍然约 15–32 MB,仍然免费,仍然以本地为主。→ 与 Obsidian / Typora / Tolaria 对比

一个产品的三半

编辑器。 所见即所得实时编辑(Typora 风格)、选项卡分割窗格、KaTeX、Mermaid、图片粘贴到 _assets/、幻灯片模式(⌘⌥P)、Vim 模式、Hunspell + CJK 校对、语义搜索(⌘⇧F)、维基链接 + 反向链接、Pandoc 导出。自动检测 CJK 编码(GBK / Big5 / Shift-JIS)。

端点。 一个打包的 solomd-mcp 二进制文件向任何 MCP 客户端暴露相同的 vault——开箱即用的 16 个工具,包括仅限 SoloMD 的工具(autogit_log、autogit_diff、autogit_rollback、sync_status、share_url、read_agent_trace),其他任何 Markdown 服务器都没有。v4.0 添加了 --workspace path1 --workspace path2 联邦功能——一个 MCP 会话,多 vault。此外,还有一个 solomd agent <prompt> CLI,它会交给 Claude Code / Codex CLI 处理,并预先配置 MCP。

代理界面(v4.0)。 右侧代理面板:流式聊天与保险库,[[wikilink]] 引用,工具调用卡片内联,插入 / 复制 按钮将回复放入活动笔记。此外在 <workspace>/.solomd/agents/*.yml 中使用声明式 配方 形式的 YAML — cron / on-save / on-commit / on-tag-add / 手动触发。每个代理写入都会落在它自己的 AutoGit 分支上,您可以在它触及 main 之前接受或拒绝;默认写入上限为 5;工作区有未提交更改时拒绝启动;每次运行可重放的 trace.jsonl 文件,可通过 read_agent_trace MCP 工具读取。

功能
代理面板 (v4.0) 流式的与保管库(peer-to-vault)聊天,关联至大纲 / 反向链接 / 标签 / 历史记录。工具调用卡片可内联展开;回复可插入 / 复制到活动编辑器;运行历史记录以纯 Markdown 格式保存在 .solomd/agent-runs/ 下。
排程食谱 (v4.0) 你的保险库里有YAML作业。AutoGit分支沙箱合并前接受/拒绝UI。每次写入上限(默认5,上限50)。11个食谱食谱在树内发布。
可重放的追踪 (v4.0) 每步的 trace.jsonl(prompt / model_call / tool_call / tool_result / git_commit)。从步骤回放会倒回并重新执行。
工作区联合 (v4.0) solomd-mcp --workspace path1 --workspace path2。一个 Claude 桌面会话,多个保管库。在设置 → 集成中管理 MCP 配置文件界面。
Ollama 一流 (v4.0) 在 localhost:11434 自动检测。三种模型预设(qwen2.5:1.5b/7b/14b)。provider: local 配方别名,实现零云成本的自主循环。
AI重写,BYOK 14家提供商 — OpenAI ·Claude ·Gemini ·DeepSeek ·Qwen ·GLM ·Kimi ·Doubao ·SiliconFlow ·OpenRouter ·Mistral ·Groq ·xAI ·Ollama。直接供应商电话。操作系统密钥链中的密钥。
GitHub支持同步 每次存档都把你的保险库推送到私有的GitHub仓库。可选端对点加密(Argon2id XChaCha20-Poly1305)。GitLab / Gitea / 任何 HTTPS git URL 也可以。
每个笔记的 AutoGit 每次 ⌘S 都会在工作区内的本地 .git 中提交一次。使用内嵌的 libgit2,不需要系统 git。永远不会自动推送。
MCP 服务器捆绑 solomd-mcp 随安装包提供。16 个工具(见 列表)。默认使用 stdio;可选择使用可流化 HTTP (--transport http,回环承载令牌)。默认只读;可选择 --allow-write。
REST API (v4.0) 仅本地主机,令牌认证。对于还不会说MCP的客户端,表面和MCP相同——Alfred / Raycast / n8n / 你自己的脚本。
BYOK成本计量器 (v4.0) 每个提供者运行代币支出计数器,选择加入。设置→集成。
云文件夹模式 如果你的保险库位于 ~/Library/Mobile Documents/... 或 ~/Dropbox/...,SoloMD 会检测到它,并在此基础上添加跨设备会话恢复 — 操作系统已经负责文件同步。
公开只读共享 命令面板 → 复制 solomd.app/share/?repo=...&path=... 链接。可以渲染你公开的 GitHub 仓库中的任何文件,无需 SoloMD 账户即可查看。

用它

在macOS / Linux上安装SoloMD后:

1.与你的保险库聊天。 打开右侧代理面板(⌘⇧P →“查看:切换代理面板”,如果隐藏)。对你的笔记进行多回合流式传输;工具调用卡显示所有读写内联。回复太长了吗?插入 会把它放到当前的笔记中(替换选区);复制到剪贴板。

2. 安排一个配方。 设置 → 配方 → 浏览食谱。11 个启动项已准备好:每周回顾、每日总结、TODO 提取、翻译检查、引用清理、CJK 校对代理、链接失效检测、前言规范化、纲要转博客、重构检查、每周标签分类。安装一个,编辑提示,然后运行它。

3. 从另一个 LLM 客户端操作相同的金库。 一次性操作(需要 solomd CLI):

# Print the MCP config snippet for your AI client…
solomd mcp-config
# …or write it straight into every AI client found on this machine.
solomd mcp install
{
  "mcpServers": {
    "solomd": {
      "command": "/Applications/SoloMD.app/Contents/MacOS/solomd-mcp",
      "args": ["--workspace", "/Users/me/Documents/SoloMD"]
    }
  }
}

粘贴到 Claude 桌面 / 光标 / 等等。对于多库联合,重复 --workspace:

"args": [
  "--workspace", "/Users/me/Documents/SoloMD",
  "--workspace", "/Users/me/Documents/work-notes"
]

4. 或直接将提示交给 claude / codex CLI:

solomd agent "rewrite this week of dailies into a weekly review and commit it"

路径遍历已保护。LLM 只能看到你指向工作区的内容。

MCP 工具

类型 工具
读取(始终开启) list_notes、read_note、search、get_backlinks、get_outline、list_tags、list_tasks、autogit_log、autogit_diff、sync_status、share_url、read_agent_trace
写入(--allow-write) write_note、append_to_note、autogit_rollback、export_note

export_note(html / md / txt / docx)通过 Node.js 运行无头导出程序,因此仅在有 SoloMD 源代码检出并运行 pnpm install 可用时列出(或者 SOLOMD_EXPORT_SCRIPT 指向其 app/scripts/solomd-export.mjs);除非调用时传入 overwrite: true,否则它不会覆盖现有文件。每个工具中的行号从文件顶部开始计数,包括前置数据。

传输方式:stdio(默认,Claude Desktop / Cursor / Cline / Codex 使用),或用于托管客户端的可流式 HTTP:

solomd-mcp --workspace ~/Documents/SoloMD --transport http --bind 127.0.0.1:8765 --auth-token "$TOKEN"

HTTP 默认绑定到回环地址;使用 --auth-token(或 SOLOMD_MCP_TOKEN)时,每个请求都需要 Authorization: Bearer <token>。详情请参见 mcp-server/README.md。

命令行 (CLI)

solomd 是一个用于脚本操作保险库和连接 MCP 的小型 bash CLI(适用于 macOS / Linux):

curl -fsSL https://raw.githubusercontent.com/zhitongblog/solomd/main/scripts/install-cli.sh | bash
solomd help

open、new、list、search、cat、agent、mcp list|install|uninstall|config、mcp-config、--version;每个命令都可以使用 -h。笔记文件夹是 $SOLOMD_NOTES(默认 ~/Documents/SoloMD)。solomd export 使用与 export_note 相同的 Node 导出器,因此需要源代码检出:在克隆的目录中运行 scripts/solomd 并在 app/ 中执行 pnpm install,或设置 SOLOMD_EXPORT_SCRIPT。在应用程序内部,使用 文件 → 导出。

安装

最新版本及所有下载:发布页面。

系统要求: Windows 10、macOS 10.15、当前主流 Linux、iOS 15、Android 7(API 24)。
不支持 Windows 7/8/8.1 — Rust 工具链自 Rust 1.78 起需要 Windows 10,并且 Microsoft 在 Windows 7 上将 WebView2(SoloMD 的渲染引擎)冻结在 109 版本且不再提供安全更新 — 并且没有遗留版本。

macOS — 通用 dmg(Apple Silicon & Intel,签名 & 公证)

brew install --cask zhitongblog/solomd/solomd

或者直接从发布页面下载 SoloMD_<version>_universal.dmg。

或者使用一行命令的 Shell 安装:

curl -fsSL https://solomd.app/install.sh | bash

Windows — x64

  • 从 发布页面 获取 SoloMD_<version>_x64_en-US.msi 或 SoloMD_<version>_x64-portable.zip(无安装程序)
irm https://solomd.app/install.ps1 | iex
winget install solomd

Linux — x86_64 aarch64

iPad

App Store —— 同样引擎,原生 iPad UI。

市场及集成

捆绑的 solomd-mcp 服务器可针对任何 Markdown 文件夹运行——你无需安装 SoloMD 本身即可通过 Claude / Cursor / Cline / Continue / Zed 驱动你的资料库。为每个客户端安装代码片段:

客户端 配置代码片段
Claude 桌面版 marketplace/client-docs/claude-desktop.md
Claude 代码版 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

可用为:

  • 技能包 (solomd-skills-v<version>.zip 在 发行页面) — 11 个参考代理操作(每周回顾、待办提取、链接推荐等)可以放入 <vault>/.solomd/agents/。每个版本都附带。
  • Claude 代码技能 — SKILL.md 和 install.sh,将 solomd-mcp 注册为用户级 MCP 服务器,并向 Claude 代码暴露 16 个工具及模式和初始操作。
  • Smithery — smithery.yaml 和位于 marketplace/smithery/ 的 Dockerfile(提交中)。
  • 超棒的 MCP 服务器 — 三个最大的社区索引(punkpeye/、appcypher/、wong2/awesome-mcp-servers,总共约 1.4 万个分叉)的 PR 条目位于 marketplace/awesome-mcp/。

完整概览 提交状态: marketplace/README.md。

比较

SoloMD v4.5 Obsidian Typora Tolaria
许可证 MIT 专有(免费) 付费($14.99) AGPL
堆栈 Tauri 2(Rust WebView) 电子 电子 Tauri 2
平台 macOS ·Win ·Linux ·iPad/iOS/Android macOS ·Win ·Linux ·iOS ·Android macOS ·Win ·Linux macOS ·Win ·Linux
安装器 ~32 MB(Mac)/ ~10 MB(Win) ~120 MB ~95 MB ~25 MB
内联代理面板 ✅ v4.0 🟡付费插件(Smart Composer / Copilot) ❌ 🟡 提供者代理,无内联面板
计划代理配方 ✅ v4.0 ❌ ❌ ❌
AutoGit 分支 sandbox 接受/拒绝 ✅ v4.0 ❌ ❌ ❌
可重放代理追踪 ✅ v4.0 ❌ ❌ ❌
多工作空间 ✅ v4.0 MCP联合 ❌ ❌ 🟡 多重金库
捆绑 MCP 服务器 ✅ 16 个工具,6 个仅限 SoloMD ❌(社区插件) ❌ ✅ 通用
内置 AI 重写 ✅ 14 个自带密钥的提供商 仅插件 ❌ ✅ 内置提供商
GitHub支持的同步 ✅ ❌ (Obsidian Sync 每月5美元) ❌ ❌
端到端加密 ✅在你的仓库 ✅在Obsidian的服务器上 ❌ ❌
本地RAG / 语义搜索 ✅默认关闭 仅插件 ❌ ❌
版本历史按笔记查看 ✅ AutoGit 仅插件 ❌ ✅
Markdown 白板(tldraw) ❌ 🟡 画布(自有格式) ❌ ✅
中日韩编码(GBK / Big5) ✅自动检测 ❌ ❌ ❌

详细对比:与 Obsidian · 与 Typora · 与 Tolaria · 与 Marktext。

隐私与安全

纯客户端。你的 .md 文件保存在你选择的文件夹中。API 密钥存储在操作系统的钥匙串中(macOS 钥匙串 / Windows 凭据管理器 / Linux libsecret),绝不存储在 localStorage 或任何配置文件中。AI 请求直接从你的机器发送到你选择的提供商——没有 SoloMD 中继。RAG 嵌入和 AutoGit 仓库仅限本地。MCP 服务器默认通过 stdio 通信;其可选的 HTTP 传输绑定在回环地址,除非你另行选择,并且可以要求使用 Bearer 令牌。整个代码库采用 MIT 许可,且可审计。

代理安全机制(v4.0)。 每次配方运行都在自己的 AutoGit 分支上启动——你的 main 分支在你点击接受差异之前保持不变。每次运行的写入上限(默认 5,硬上限 50)防止无限循环。当工作树很脏时,配方运行器拒绝启动(没有代理提交会覆盖你的进行中的工作)。路径遍历保护会在每个接受用户提供路径的 Tauri / MCP / REST 端点中,预先拒绝 .. 段和绝对路径。

E2EE 同步使用 Argon2id(RFC9106 默认参数)→ XChaCha20-Poly1305,使用确定性随机数和路径作为 AAD。明文保留在你的设备上;远程只看到密文。sync.json 解析失败将关闭操作——拒绝推送,而不是退化为明文(v3.0.x 审计修复)。

完整说明:.

从源码构建

先决条件:Rust(稳定版)、Node 18、pnpm。

git clone https://github.com/zhitongblog/solomd.git
cd solomd/app
pnpm install
pnpm tauri dev      # dev with hot reload
pnpm tauri build    # release artifacts → src-tauri/target/release/bundle/

Linux 还需要 libdbus-1-dev 来支持钥匙串后端。

MCP 服务器是一个独立的 crate,位于 mcp-server/;用于端到端测试的开发 MCP harness 位于 dev-mcp/。端到端测试入口点:scripts/v4-self-test.sh(运行时加上 --with-release --with-ollama --with-ui 可获得完整覆盖)。

贡献

欢迎提交问题和 PR — 创建一个。有关方向的参考,请参阅 docs/roadmap.md。v4.0 构建日志位于 solomd.app/blog/v4-0-0-how-we-built-it/ — 如果你想在提交 PR 前了解工程原则,可以从这里开始。

联系方式 / 联系

一名维护者,两个前门。异步联系可通过 GitHub Discussions。实时聊天:

  • Telegram(国际): @SOLOMDAPP — 发布公告 聊天
  • WeChat (中文): scan to add me — note "SoloMD" 注明 SoloMD 直接通过

许可证 & 致谢

MIT © 2026 xiangdong li。SoloMD 基于 Tauri 2、Vue 3、CodeMirror 6、markdown-it、KaTeX、Mermaid、libgit2、Pandoc、Hunspell、keyring-rs 和 rmcp。可通过 GitHub 赞助 或 solomd.app/#sponsor 支持。

本站来源与版权声明
  • 本文标题:solomd - 一个 Markdown 编辑器——也是你 LLM 的
  • 本文链接:https://cn121.com/desktop/zhitongblog-solomd.html
  • 原项目:zhitongblog/solomd 版权归原作者 zhitongblog 及贡献者所有
  • 收录信息:本站于 2026-10-18 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 zhitongblog/solomd。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。