doocs/md: A Markdown Editor Built for WeChat Official Account Formatting
✍ WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、自定义主题样式、内容管理、多图床、AI 助手等特性
At a glance
- What is it?
- doocs/md is a TypeScript and Vue 3 based editor that renders Markdown into WeChat-ready styled articles. It targets content creators who want to avoid manual formatting, offering themes, image hosting, and AI assistance.
- Who is it for?
- Adopt doocs/md if you regularly publish to WeChat Official Accounts and want a browser-based tool that converts Markdown to styled WeChat content without manual CSS tweaks. Avoid it if you need a desktop offline editor, if your team relies on real-time collaboration, or if you cannot accept the WTFPL license.
- Can I use it commercially?
- Yes. WTFPL is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Problem This Editor Solves
WeChat Official Account articles do not accept Markdown directly. Editors typically write in the platform's rich text editor or paste from Word, then spend time adjusting fonts, spacing, and image alignment. doocs/md addresses this by rendering Markdown into a styled WeChat article format in real time. The README states that the project exists because existing open source WeChat Markdown editors have complex styles and require repeated layout adjustments. The intended user is a content creator who knows basic Markdown and wants to focus on writing rather than formatting. The editor is not a general-purpose Markdown tool; it is specifically tuned for the WeChat article output format, including support for elements like Ruby annotations and GFM warning blocks that are useful in Chinese technical writing.
How the Rendering Pipeline Works
The editor is built with Vue 3, Vite, and Tailwind CSS, as indicated by the repository topics. It is a single-page application that processes Markdown input and generates styled HTML in a preview pane. The styling is applied through themes, which the user can select or customize with custom CSS. The README lists support for KaTeX math formulas, Mermaid and PlantUML diagrams, and GFM warning blocks. These are converted into the appropriate HTML and CSS that WeChat's web viewer can display. The output is not a static file; the editor provides a copy or export action that places the styled content into the clipboard or a file, ready to paste into the WeChat editor. The documentation does not specify the exact conversion library, but the feature set implies a Markdown parser with extensions for diagrams and math.
Getting It Running: Online, Local, and CLI Options
The simplest way to use doocs/md is the hosted version at md.doocs.org. The README recommends Chrome for the best experience. For local deployment, the project provides a Docker image on Docker Hub, tagged as doocs/md:latest. You can also run from source, but the README does not include explicit build commands; it only mentions that Node.js version 22 or higher is required. There is an npm package, @doocs/md-cli, which suggests a command-line interface is available, but the README does not document its usage. The repository also includes a deploy workflow, visible in the GitHub Actions badge, which implies automated deployment to a hosting service. The cloud sync feature requires logging into an account, and the README points to a separate document, docs/cloud-sync.md, for details. Without that document, the exact authentication mechanism remains unclear from the provided material.
Image Hosting Is the Core Complexity
WeChat articles require images to be hosted on accessible URLs. doocs/md offers a wide range of image hosting backends, from a default no-configuration option to GitHub, Alibaba OSS, Tencent COS, Qiniu, MinIO, S3-compatible services, Cloudflare R2, and even Telegram. Each backend requires different configuration parameters. For example, GitHub needs a repository name and a personal access token, while Alibaba OSS needs AccessKey ID, AccessKey Secret, Bucket, and Region. The README provides a table with links to official setup guides for each service. This breadth is both a strength and a burden. A user who only needs one host must navigate the settings for that host, and the editor's interface for storing these credentials is not described in the README. The default option likely uploads to a public service, but the README does not specify where those images are stored or what usage limits apply.
AI Assistant Integration and Its Limits
The editor integrates with several AI models, including DeepSeek, OpenAI, Qwen, Tencent Hunyuan, Volcano Ark, and 302.AI. This feature is listed under the editor's capabilities as an aid to content creation. The README does not explain how the AI is invoked, whether it is a chat panel, a text completion tool, or a rewriting assistant. It also does not state which model is used by default or whether the user must supply an API key. The integration likely requires configuring an API key for the chosen provider, but the README omits the exact steps. This lack of documentation is a genuine limitation. A user who wants to use the AI feature must experiment with the interface or read the source code. The AI models are external services, so using them incurs API costs and requires a network connection to those providers, which may be a concern for users in regions with restricted access.
Where It Falls Short: Sync, Offline Use, and Collaboration
The editor's local draft management supports automatic saving, which is useful for preventing data loss. However, syncing preferences across devices requires an account login, and the README does not describe what data is stored or how it is protected. The project is a web application, so it does not function as a fully offline desktop tool, unless you run the Docker container locally. Real-time collaboration is not mentioned anywhere in the README. If your workflow involves multiple editors working on the same article simultaneously, doocs/md is not the right tool. The editor's output is a styled HTML snippet, not a full document format. You cannot import an existing WeChat article and convert it back to Markdown, as the file import and export features are not detailed. These constraints mean the editor is best suited for individual writers who draft in Markdown and then publish to WeChat, not for teams with complex editorial processes.
Alternatives and How They Differ
A common alternative is markdown-nice, another open source WeChat Markdown editor. The README of doocs/md does not name it, but the project's stated motivation, that existing editors have complex styles, points to markdown-nice as a likely reference. markdown-nice also renders Markdown to WeChat-friendly HTML with themes, but it typically focuses on a simpler set of features and may not offer the same breadth of image hosting backends or AI integrations. Another approach is to use a general-purpose Markdown editor like Typora or VS Code with a WeChat export plugin, which gives you full control over the Markdown environment but requires you to manage the WeChat styling and image hosting yourself. The key difference is that doocs/md bundles the image upload and theme selection into one workflow, whereas general editors leave those steps to the user. If you already use a specific image hosting service, check whether doocs/md supports it before switching.
Maintenance, Licensing, and Upgrade Considerations
The repository is actively maintained, with the last push dated September 2026 and recent releases including v2.1.0 in October 2025. The project uses a deploy workflow, which suggests continuous integration and automated builds. The license is WTFPL, which is a permissive license that allows unrestricted use, modification, and distribution. However, it comes with no warranty and no requirement to preserve copyright notices. For a company, using WTFPL code in a commercial product is legally straightforward, but it also means the project offers no liability protection. The README invites pull requests and discussions, indicating a community-driven development model. When upgrading between versions, users should check the release notes for breaking changes, especially in configuration keys for image hosting or AI providers. The cloud sync feature may change its backend, so users relying on it should monitor the docs/cloud-sync.md file for updates.
Editorial conclusion
Adopt doocs/md if you regularly publish to WeChat Official Accounts and want a browser-based tool that converts Markdown to styled WeChat content without manual CSS tweaks. Avoid it if you need a desktop offline editor, if your team relies on real-time collaboration, or if you cannot accept the WTFPL license. Before committing, verify that your preferred image host is supported, test the AI model integration with your chosen provider, and confirm that the cloud sync feature meets your privacy expectations, since account-based sync stores editor preferences remotely.
Community notes