Wandao: A Desktop Tool for Moving Knowledge Bases Into and Out of Markdown
万能导:多平台知识库 Markdown 全项目一键导入导出工具(导入导出效果最好),用自动化代替手动复制粘贴(有道云,飞书,语雀,阿里云知识库,知识星球,印象笔记,ima,onenote,为知笔记,csdn,知乎,微信公众号导出导入).(可保留目录结构,图片,项目格式) 关键词:微信公众号导出,语雀导出导入,飞书导出导入,ima导出导入.阿里云文档导出,印象笔记导出导入,有道云导出,知识星球导出,为知笔记导出,onenote导出,钉钉文档,息流导出,Obsidian 导出,wps导出,知乎导出
At a glance
- What is it?
- Wandao is a Python and Electron desktop application that exports documents from platforms such as Feishu Wiki, Yuque, Evernote and Knowledge Planet into local Markdown, and imports Markdown back into some of them. It is aimed at people migrating or backing up notes, not at teams wanting a server-side sync engine.
- Who is it for?
- Wandao fits an individual or small team that needs to pull a knowledge base out of Feishu Wiki, Yuque, Evernote, Youdao Note, Wiz, Knowledge Planet, ima, DingTalk Docs, WPS Docs, Xiliu or Obsidian into Markdown, or push Markdown back into Feishu, Yuque, Evernote or ima.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 17, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The migration problem Wandao targets
Knowledge bases are sticky. A team writes documentation in Feishu Wiki, an individual keeps years of notes in Evernote or Youdao Note, a course lives in Knowledge Planet, and none of those systems offers a clean path to a folder of Markdown files. The manual alternative is opening each document, copying the body, re-creating the folder hierarchy by hand, and downloading images one at a time. Wandao exists to replace that loop with a task that walks a directory tree, writes Markdown, and copies images and attachments alongside it.
The audience is narrow and specific. It is for people who have legitimate access to the source platform, who want local files rather than another hosted service, and who care about directory structure surviving the trip. The README lists export support for Knowledge Planet, Yuque, Feishu Wiki, Alibaba Cloud Thoughts, Evernote, Youdao Note, Wiz, OneNote, ima, DingTalk Docs, WPS Docs, Xiliu, Obsidian, Zhihu, CSDN and WeChat public account articles. Import is narrower: Feishu Wiki, Yuque, Evernote and ima. Notion appears only as a tutorial, which is an honest admission that its official Markdown export already covers that ground.
How the export pipeline is put together
The repository layout tells you most of the architecture. Each platform has its own top-level module: export_feishu.py, export_yuque.py, export_yinxiang.py, export_youdao.py, export_wiz.py, export_onenote.py, export_zsxq.py, export_aliyun_thoughts.py. Import counterparts follow the same naming, import_feishu.py, import_yuque.py, import_yinxiang.py, plus ima_knowledge.py. Shared behaviour lives in wandao_core/, with wandao_browser.py, wandao_checkpoint.py, wandao_credentials.py, wandao_logging.py and wandao_report.py handling browser control, resumable state, credential storage, logs and task reports.
The mechanism is browser-driven automation rather than a set of vendor APIs. That is why the README talks about logging in and filling in links instead of issuing API tokens, and why the settings screen offers a choice of automation browser. It also explains the CSDN entry, which notes that the export continues automatically after a security check or login. A vendor API would not need that.
State is checkpointed. The README describes stopping, continuing and retrying failed items, and incremental processing that skips content already completed. The task centre shows progress, failure reasons and reports. Credentials and task data are described as stored on the user's own machine, which is the natural consequence of running a local Electron shell around Python scripts.
Platform capability is split into plugins. The plugin centre installs, updates and rolls back platform plugins independently, so adding a platform does not require a new application release. The packaging metadata confirms this: package data includes plugin.json and per-provider provider.json files under providers/.
Installing Wandao and running a first Yuque export
The README's quick start does not begin with a package manager. It says to open GitHub Releases and download the Windows x64 or macOS Apple Silicon installer, then launch the app. Releases bundle the runtime, so Python and Node.js are not required for normal use. The source tree does carry a pyproject.toml with requires-python >= 3.10 and a single direct dependency, evernote-backup==1.13.1, plus start-wandao.sh, start-wandao.ps1 and start-wandao.cmd for source launches, but the project frames those as the developer path rather than the normal one.
If you do work from source, the packaging metadata gives the entry point:
pip install -e .
wandaoThe console script wandao maps to wandao:main in pyproject.toml. The README states that desktop runtimes use Python 3.11 while source usage recommends 3.10 or newer.
Once the app is open, the flow described in the README is: choose the platform and the import or export action in the platform centre, log in or paste a link when prompted, read the directory tree, tick the documents you want, and start the task. For a Yuque export that means picking Yuque as the source, authenticating through the automation browser, waiting for the knowledge base tree to load, selecting a subtree rather than the whole account, and confirming. Progress and failures appear in the task centre, and a task that stops can be resumed.
One platform-specific caveat comes straight from the README. The macOS Apple Silicon build is not signed with a Developer ID and is not notarised, so first launch requires the usual workaround for unsigned applications, and the README instructs users to download only from the project's own GitHub releases.
Where Wandao breaks down
The clearest limitation is platform coverage asymmetry. Export covers roughly sixteen sources; import covers four. If your goal is to move a Yuque knowledge base into Notion, Wandao will get you the Markdown, and Notion's own import is the second half of the job. That is a two-tool workflow, not a one-click migration, and the README treats Notion as a tutorial rather than an integrated target.
OneNote export is Windows only, stated plainly in the platform table. On macOS arm64 you get the rest of the export list but not that one.
WeChat public account support is deliberately narrow: single public articles, with body images preserved, and the README says historical articles and comments are not read. Anyone hoping to archive an entire account should plan for a different approach.
Because the design drives a browser, it inherits browser fragility. A platform that changes its DOM, adds a challenge page, or rotates its login flow can break an export until the plugin is updated. The plugin centre with rollback exists precisely because that happens. There is no documented headless mode, no documented cron integration, and no documented API for scripting exports from a CI job. If you need unattended nightly backups, the README does not describe how to get them.
Wandao compared with evernote-backup and pandoc
The dependency list points at the closest alternative for one platform. Wandao pins evernote-backup==1.13.1, a Python tool that downloads an Evernote account into a local database and can convert it to Markdown. The difference is scope and interface. evernote-backup is a command-line tool for one service; Wandao wraps that kind of extraction in a desktop application and extends it across Feishu Wiki, Yuque, Knowledge Planet, Youdao Note, Wiz, ima and others. If Evernote is your only source and you are comfortable in a terminal, the single-purpose tool is less machinery.
Pandoc solves a different half of the problem. It converts between document formats with high fidelity once you already have the files; it does not authenticate to a knowledge base, walk a remote directory tree, or download images referenced by a hosted document. Wandao's value is the acquisition step, not the conversion step. A realistic pipeline uses Wandao to produce Markdown and images, then Pandoc if you need a different output format.
Obsidian is worth noting because it appears on both sides. Wandao can archive a local vault, copying resources and rewriting references, which is useful when you want a snapshot outside the vault rather than a sync.
Maintenance, licensing and upgrade cost
The last push to the default branch was on 2026-09-17, and the most recent tagged release is v1.5.1 from 2026-09-15, following v1.5.0 on 2026-09-13 and v1.4.9 on 2026-09-09. The repository is not archived. That release cadence over a single week suggests active work, and the plugin centre is designed so that platform fixes can ship without a full application release, which lowers the cost of keeping up with a platform that changes its markup.
Upgrade cost is mostly the plugin refresh. The README describes installing, updating and rolling back plugins from the plugin centre, so a broken platform integration has a documented retreat path. The application itself checks for updates from the settings screen.
Licensing is AGPL-3.0-only, per pyproject.toml, and the README badge shows AGPL-3.0. The practical consequence is the network clause: if you modify Wandao and let users interact with it over a network, the AGPL's source-availability obligation is likely to apply to your modified version. For an individual running the desktop build to move their own notes, this is unremarkable. For a company embedding Wandao's code into an internal or customer-facing service, the terms deserve a careful read. This is a description of the licence text, not legal advice.
Editorial conclusion
Wandao fits an individual or small team that needs to pull a knowledge base out of Feishu Wiki, Yuque, Evernote, Youdao Note, Wiz, Knowledge Planet, ima, DingTalk Docs, WPS Docs, Xiliu or Obsidian into Markdown, or push Markdown back into Feishu, Yuque, Evernote or ima. It is the wrong tool if you need a headless, scheduled, server-side sync job, because the release build is a desktop application that drives a browser, and if you need OneNote export on macOS or Linux, since the README marks that platform Windows only. Before adopting it, verify that your target platform has a plugin in the in-app plugin centre, that you are willing to log in through the automation browser the app controls, and that AGPL-3.0 terms suit how you intend to redistribute anything you build on top of it.
Frequently asked questions
What does the name Wandao mean in this project?
The repository does not explain the name. The README presents the tool as a multi-platform knowledge base Markdown import and export utility, and the Chinese tagline describes removing barriers between knowledge so that moving documents across platforms is simpler.
Does Wandao need Python or Node.js installed?
No for normal use. The README states that release builds bundle the runtime, so users install the Windows x64 or macOS Apple Silicon package and do not need Python or Node.js. Python 3.10 or newer is only relevant if you run it from source.
Which platforms can Wandao import into, not just export from?
The README lists Feishu Wiki, Yuque, Evernote and ima knowledge base as import targets. Everything else in the platform table is export or tutorial only, so a migration into Notion relies on Notion's own Markdown import.
Community notes