MCPcopy Index your code
hub / github.com/doocs/md

github.com/doocs/md @cli-v2.1.3

repository ↗ · DeepWiki ↗ · release cli-v2.1.3 ↗ · Ask this repo → · + Follow
324 symbols 734 edges 114 files 24 documented · 7% updated todayv2.1.0 · 2025-10-17★ 12,95612 open issues
README

doocs-md

微信 Markdown 编辑器

status node pr stars forks

release npm docker

🎯 赞助商

302.AI

302.AI 是一个按用量付费的企业级 AI 资源平台,提供市场上最新、最全面的 AI 模型和 API,以及多种开箱即用的在线 AI 应用。

📝 项目介绍

Markdown 文档自动即时渲染为微信图文,让你不再为微信内容排版而发愁!只要你会基本的 Markdown 语法(现在有了 AI,你甚至不需要会 Markdown),就能做出一篇样式简洁而又美观大方的微信图文。

如果这个项目对你有帮助,请给我们点个 Star ⭐️,我们会持续更新和维护!

🌐 在线编辑器地址

https://md.doocs.org

推荐使用 Chrome 浏览器,效果最佳。

🤔 为何开发这款编辑器

现有的开源微信 Markdown 编辑器样式繁杂,排版过程中往往需要额外调整,影响使用效率。为了解决这一问题,我们打造了一款更加简洁、优雅的编辑器,提供更流畅的排版体验。

欢迎各位朋友随时提交 PR,让这款微信 Markdown 编辑器变得更好!如果你有新的想法,也欢迎在 💬 Discussions 讨论区反馈。

✨ 功能特性

🎨 核心功能

  • 完整 Markdown 支持 - 支持所有基础语法、数学公式
  • 图表渲染 - 支持 Mermaid 图表和 GFM 警告块
  • PlantUML 支持 - 强大的 UML 图表渲染
  • Ruby 注音扩展 - 支持 [文字]{注音}[文字]^(注音) 格式,支持多种分隔符

🎯 编辑体验

  • 代码高亮 - 丰富的代码块高亮主题,提升代码可读性
  • 自定义样式 - 允许自定义主题色和 CSS 样式,灵活定制展示效果
  • 草稿保存 - 内置本地内容管理功能,支持草稿自动保存

🚀 高级功能

  • 多图床支持 - 提供多种图床选择,便捷的图片上传功能
  • 文件管理 - 便捷的文件导入、导出功能,提升工作效率
  • AI 集成 - 集成主流 AI 模型(DeepSeek、OpenAI、通义千问、腾讯混元、火山方舟、302.AI 等),智能辅助内容创作

🖼️ 支持的图床服务

# 图床 使用时是否需要配置 备注
1 默认 -
2 GitHub 配置 RepoToken 参数 如何获取 GitHub token?
3 阿里云 配置 AccessKey IDAccessKey SecretBucketRegion 参数 如何使用阿里云 OSS?
4 腾讯云 配置 SecretIdSecretKeyBucketRegion 参数 如何使用腾讯云 COS?
5 七牛云 配置 AccessKeySecretKeyBucketDomainRegion 参数 如何使用七牛云 Kodo?
6 MinIO 配置 EndpointPortUseSSLBucketAccessKeySecretKey 参数 如何使用 MinIO?
7 公众号 配置 appIDappsecret代理域名 参数 如何使用公众号图床?
8 Cloudflare R2 配置 AccountIdAccessKeySecretKeyBucketDomain 参数 如何使用 S3 API 操作 R2?
9 又拍云 配置 BucketOperatorPasswordDomain 参数 如何使用 又拍云?
10 Telegram 配置 Bot TokenChat ID 参数 如何使用 Telegram 图床?
11 Cloudinary 配置 Cloud NameAPI KeyAPI Secret 参数 如何使用 Cloudinary?
12 自定义上传 如何自定义上传?

🎬 产品演示

🎨 主题切换 🖼️ 图片上传
demo1 demo2
📝 样式扩展 🤖 一键排版
demo3 demo4

🛠️ 开发与部署

# 安装 node 版本
nvm i && nvm use

# 安装依赖
pnpm i

# 启动开发模式
pnpm web dev
# 访问 http://localhost:5173/md/

# 部署在 /md 目录
pnpm web build

# 部署在根目录
pnpm web build:h5-netlify

# Chrome 插件启动及调试
pnpm web ext:dev
# 访问 chrome://extensions/ 打开开发者模式,加载已解压的扩展程序,选择 apps/web/.output/chrome-mv3-dev 目录

# Chrome 插件打包
pnpm web ext:zip

# Firefox 扩展打包(how to build Firefox addon)
pnpm web firefox:zip # output zip file at in apps/web/.output/md-{version}-firefox.zip

# uTools 插件打包
pnpm utools:package # output zip file at apps/utools/release/md-utools-v{version}.zip

# cloudflare workers
pnpm web wrangler:dev # cloudflare workers dev 模式
pnpm web wrangler:deploy # cloudflare workers 部署命令

🚀 快速搭建私有服务

📦 方式 1. 使用 npm cli

通过我们的 npm cli 你可以轻易搭建属于自己的微信 Markdown 编辑器。

# 安装
npm i -g @doocs/md-cli

# 启动
md-cli

# 访问
open http://127.0.0.1:8800

# 启动并指定端口
md-cli port=8899

# 访问
open http://127.0.0.1:8899

md-cli 支持以下命令行参数:

  • port 指定端口号,默认 8800,如果被占用会随机使用一个新端口。
  • spaceId dcloud 服务空间配置
  • clientSecret dcloud 服务空间配置

🐳 方式 2. 使用 Docker 镜像

如果你是 Docker 用户,也可以直接使用一条命令,启动完全属于你的、私有化运行的实例

docker run -d -p 8080:80 doocs/md:latest

容器运行起来之后,打开浏览器,访问 http://localhost:8080 即可。

关于本项目 Docker 镜像的更多详细信息,可以关注 https://github.com/doocs/docker-md

👥 谁在使用

请查看 📋 USERS.md 文件,了解使用本项目的公众号。

🤝 贡献指南

我们欢迎任何形式的贡献!请查看 📖 CONTRIBUTING.md 获取提交 PR、Issue 的流程与规范。

☕ 支持我们

如果本项目对你有所帮助,可以通过以下方式支持我们的持续开发。

💬 反馈与交流

如果你在使用过程中遇到问题,或者有好的建议,欢迎在 🐛 Issues 中反馈。你也可以加入我们的交流群,和我们一起讨论,若群二维码失效,请添加好友,备注 md,我们会拉你进群。

Extension points exported contracts — how you extend this code

MapContent (Interface)
* A marked extension to support footnotes syntax. * Syntax: * This is a footnote reference[^1][^2]. * * [^1]: ....
packages/core/src/extensions/footnotes.ts
Post (Interface)
* Post 结构接口
apps/web/src/stores/index.ts
CustomCSSProperties (Interface)
(no doc)
packages/shared/src/types/common.ts
ParseResult (Interface)
(no doc)
packages/core/src/renderer/renderer-impl.ts
Tab (Interface)
(no doc)
apps/web/src/sidepanel.ts
Theme (Interface)
(no doc)
packages/shared/src/types/common.ts
MarkedKatexOptions (Interface)
(no doc)
packages/core/src/extensions/katex.ts
Window (Interface)
(no doc)
apps/web/src/types/global.d.ts

Core symbols most depended-on inside this repo

styledContent
called by 17
packages/core/src/renderer/renderer-impl.ts
styles
called by 16
packages/core/src/renderer/renderer-impl.ts
withAfterRefresh
called by 14
apps/web/src/stores/index.ts
fetch
called by 10
packages/md-cli/util.js
getStyleString
called by 8
packages/core/src/utils/themeHelpers.ts
addPrefix
called by 8
apps/web/src/utils/index.ts
getDateFilename
called by 8
apps/web/src/utils/file.ts
applyHeading
called by 7
packages/shared/src/editor/format.ts

Shape

Function 274
Interface 25
Method 19
Class 6

Languages

TypeScript100%
Go1%

Modules by API surface

apps/web/src/stores/index.ts39 symbols
packages/core/src/renderer/renderer-impl.ts33 symbols
apps/web/src/utils/file.ts19 symbols
apps/web/src/utils/index.ts18 symbols
apps/vscode/src/treeDataProvider.ts18 symbols
packages/core/src/extensions/plantuml.ts15 symbols
packages/shared/src/editor/format.ts12 symbols
packages/md-cli/util.js12 symbols
packages/shared/src/types/common.ts10 symbols
packages/core/src/extensions/katex.ts9 symbols
packages/core/src/extensions/alert.ts8 symbols
apps/web/src/stores/useQuickCommands.ts8 symbols

Dependencies from manifests, versioned

@aws-sdk/client-s33.913.0 · 1×
@aws-sdk/s3-request-presigner3.913.0 · 1×
@cloudflare/vite-plugin1.13.14 · 1×
@cloudflare/workers-types4.20251014.0 · 1×
@codemirror/autocomplete6.19.0 · 1×
@codemirror/commands6.9.0 · 1×
@codemirror/lang-css6.3.1 · 1×
@codemirror/lang-javascript6.2.4 · 1×
@codemirror/lang-markdown6.4.0 · 1×
@codemirror/language-data6.5.1 · 1×

For agents

$ claude mcp add md \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact