wechat-editor: the agent owns content, the server owns WeChat format
Our takeFormulas and diagrams survive because they are pre-rendered server-side: headless Chromium via Playwright plus MathJax tex-svg turns inline and display math into inline SVG, Mermaid goes through the same path, and WeChat supports SVG natively so nothing blurs on zoom. The other rule to remember is that publishing is asynchronous — a 200 only means WeChat accepted the submission, and real status has to be polled with freepublish/get.
WeChat Official Accounts strip style blocks, class attributes and external resource references, so syncing a paper deep-read or blog post there is not copy and paste but a format rewrite plus a resource migration. The split: the agent fetches the article, writes the title (max 64 characters) and digest (max 120) and picks a cover; the server converts to inline HTML, uploads images to WeChat's own image service and rewrites URLs, creates a draft via draft/add and submits for publishing when asked.