MMagic MDGitHub
Executable Markdown Runtime

文档即程序

在 Markdown 里定义数据源、执行查询、渲染结果。一个文件,从编写到交付。

15
插件
5
Sidecar 后端
4
架构层
3
步骤即交付

How it works

三步,从文档到系统

不是模板引擎,不是低代码平台。是让 Markdown 拥有真正的运行时。

01

定义

Define

在 Markdown 中用 ::define 声明插件实例、配置参数和数据源。每个定义就是一个独立的数据节点。

step-01.md
::define[db]{plugin="postgresql-connection"}
```config
{ "host": "localhost", "database": "mydb" }
```
::
02

计算

Compute

插件通过 Sidecar 后端执行真实操作 — 查询数据库、请求 API、读取文件。数据在后台以 JSON-RPC 安全流转。

step-02.md
::define[users]{plugin="postgresql-query"}
```config
{
  "connection": "$ref{db.output.connectionParams}",
  "query": "SELECT * FROM users WHERE active = true"
}
```
::
03

交付

Deliver

用 $ref 引用任意节点的输出,用 ::render 把数据变成可视化组件。文档即最终交付物。

step-03.md
共找到 $ref{users.output.rowCount} 个活跃用户。

::render[users]::

Architecture

分层架构,各司其职

从文档语法到系统调用,四层清晰分离。每一层都可以独立理解和扩展。

01

文档层

Document Layer
Markdown 文件::define / ::render 语法$ref 引用链
02

插件层

Plugin Runtime
12 个插件Plugin SDKConfigPanel + Renderer
03

通信层

JSON-RPC Bridge
Tauri IPCstdin / stdoutContent-Length 帧
04

能力层

Sidecar Backends
Rust 二进制PostgreSQL / HTTP / FS / ENV系统级访问

↕ 每层通过类型安全的协议通信,无运行时耦合

Plugin Ecosystem

每个插件都是可编排的能力单元

数据库查询、API 请求、文件读取、MCP 调用 — 所有能力都是插件。在文档里自由组合。

🔐 env-table📄 file-reader📂 file-tree👁️ file-watcher🌐 http-request📋 json-viewer⚡ mcp-caller🔌 mcp-explorer📥 md-import🔢 number-stat🗄️ postgresql-connection🔍 postgresql-query🚀 postgresql-to-api🖥️ static-server📊 table-viewer🔐 env-table📄 file-reader📂 file-tree👁️ file-watcher🌐 http-request📋 json-viewer⚡ mcp-caller🔌 mcp-explorer📥 md-import🔢 number-stat🗄️ postgresql-connection🔍 postgresql-query🚀 postgresql-to-api🖥️ static-server📊 table-viewer

Core Concepts

四个核心概念

📝

Define

用 ::define 声明插件实例。每个定义有自己的配置和输出,是数据图中的一个节点。

::define[id]{plugin="name"}
🔗

Reference

用 $ref{id.output.path} 引用任意定义的输出。构建定义之间的依赖关系。

$ref{db.output.connectionParams}

Execute

点击执行,插件通过 Sidecar 后端完成真实操作。结果安全存储在文档上下文中。

context.backend.call("db/query", params)
🎨

Render

用 ::render 将输出渲染为表格、图表或自定义组件。支持 inline 和 block 两种模式。

::render[id]::

开始使用 Magic MD

开源,MIT 协议。用 Markdown 重新定义工程文档的交付方式。