builtbyxm48 downloadsFormat notes for WeChat, Zhihu, Xiaohongshu and X with reusable templates, embedded images and article style learning.
English | 简体中文
Format Obsidian notes for WeChat Official Accounts, Zhihu, Xiaohongshu and X. Choose one of six built-in templates, adjust typography and colors, or learn reusable styles from an article URL. The interface is currently in Simplified Chinese.
Desktop only. This branch: 0.1.18 preview build with browser assistant 0.3.8. Requires Obsidian 1.8.7 or later; earlier native validation used 1.13.7. Formatting preserves your source text and runs locally. No AI account, API key or automatic publishing is required.
| Destination | Output |
|---|---|
| Native DOCX with embedded media, rich text, HTML, Markdown and optional link references | |
| Zhihu | Rich text and Markdown with headings, quotations, lists, code and tables |
| Xiaohongshu | Rich-text long-form body, individually copyable original images and 1080 × 1440 PNG cards |
| X | Rich-text article drafts and threads limited to 280 weighted characters per post |
Six templates: Ink (墨白), Cinnabar (朱砂), Bamboo (青竹), Blueprint (蓝图), Cream Notes (奶油手记) and Black & Gold (黑金刊物). Save adjustments as a new template, or import/export template JSON.
Images are loaded automatically from Vault attachments and public HTTP(S) URLs when you open a note in the studio. Their positions and order are preserved. Rich copying and package export stop if any image is unresolved, with a specific source and retry action. Each note supports up to 40 distinct images, at most 8 MB per image, with three simultaneous downloads.
main.js, manifest.json and styles.css from Releases..obsidian/plugins/content-studio/ inside your Vault and place the three files in that folder.For updates, replace only main.js, manifest.json and styles.css; keep data.json to preserve settings and custom templates. The plugin does not update itself.
The browser assistant is currently an unpacked Chrome/Edge extension, not a store listing. Mogao can open its onboarding page after you click a publish action. To install it directly from GitHub:
content-studio-package (verification run) or content-studio-0.1.18-package (release run) from Artifacts. Unzip it and locate mogao-browser-extension-0.3.8-preview.zip.chrome://extensions (or edge://extensions), enable Developer mode, choose Load unpacked, and select the extracted mogao-browser-extension directory. Select the directory, not the ZIP file.To update an unpacked installation, replace the files in the same directory and click Reload on the extension card. Confirm 0.3.8 before publishing again. The assistant only receives a draft after a user-started publish action; it does not enumerate the Vault or read the system clipboard.
Each export creates a new folder under 墨稿导出/ by default, configurable in plugin settings. Packages include article.html, article.md, title.txt, caption.txt, template.json, manifest.json, and numbered image files. Markdown references are rewritten to the image files. HTML embeds the image bytes. Xiaohongshu exports additional PNG cards; X exports separate thread text files.
Draft edits are held in the open studio until exported; export before closing or reloading. Export manifests include the source note's relative path, so treat them as part of your private writing material.
链接学模板 reads a public article and up to three stylesheets, extracts constrained typography, colors, headings and quotation styles, and previews them against your draft. Save the result with a name. Template JSON retains provenance and extraction notes, without copying the reference article's body.
Style learning skips scripts, embedded image data and other media while reading; it never requests the reference article's image URLs. Preview images become placeholders without changing the draft or its publishing images. Both URL and pasted-HTML inputs allow up to 20 MB of source data and retain at most 3 MB of reduced text and styles.
From 0.1.16, sampling follows nested text spans and their paragraph/container styles. It retains the dominant body font, letter spacing, indentation, blank-line spacing, heading foreground/background pairs and the main article shell. Reference templates start from neutral styling instead of inheriting built-in decorations. Switch between 样式示例 (headings/body/emphasis/quotes) and 当前稿件 before saving. Relearn a URL to use the new sampler; existing saved templates are preserved. Extraction is not a visual similarity score: image-based ornaments, conditional CSS, multi-column layouts and complex graphics still need review.
For a login page, verification challenge or failed download, use 粘贴 HTML with article HTML you can access. This is static style extraction: scripts, remote fonts, animation and complex nested designs are not reproduced pixel for pixel. No language model is called.
PNG, JPEG, GIF, WebP and AVIF attachments are supported, including Obsidian ![[image.png]] embeds and Markdown image references. SVG, PDFs, audio/video and other plugins' dynamic blocks are not embedded as images.
Rich copying writes text/html plus text/plain, with native selection copying as a compatibility fallback. Clipboard HTML includes embedded image data, which platform editors can reject. An HTML image tag is different from a clipboard image file: the per-image and per-card buttons write image/png without competing text formats. GIF image copying is static; source images over 40 megapixels must be resized first. Copy controls are excluded from article HTML and cards.
Ordinary Xiaohongshu photo posts have separate image and caption areas; long-form articles have a body editor. Paste images into the appropriate surface. Browser synchronization sends this article and its media only after the user clicks publish in Mogao. Login and final publication remain user-controlled. Local clipboard validation does not imply the destination accepted the images. DOCX and numbered image exports remain available.
DOCX retains basic paragraph and inline formatting, lists, tables, links and embedded images. It simplifies template decorations and maps light text to readable ink on a white page. WebP/AVIF/GIF become PNG (GIF is static); oversized images are bounded to 2000 px on their longest edge. Platform exports include separate title.txt and body.txt. Content package caption.txt contains the body only.
Long paragraphs are paginated for Xiaohongshu cards. An oversized indivisible table or image reports an adjustment requirement. Destination limits on text, image count, and X long-form posting depend on the platform and account.
198.18.0.0/15 fake addresses, the downloader queries Cloudflare DNS-over-HTTPS (cloudflare-dns.com) for the target hostname only. It does not send the article body or URL query to that DNS service.data.json; exported drafts are stored in the Vault.npm ci
npm run verify
npm run verify:extension
npm run package
npm run verify includes the official Obsidian ESLint recommended rules (zero warnings required), CSS lint, type checks, and 122 regression tests. npm run verify:extension adds 79 browser delivery tests, including real Tiptap/Draft.js models and offline WeChat contracts; these are not live platform acceptance. CSS is also checked against a conservative Chrome 120 compatibility profile. The development browser prototype was removed from the plugin source in 0.1.2; run the workbench inside Obsidian to test actual Vault behavior.
Releases are built from version tags by GitHub Actions. Only the three supported plugin files are attached to a Release; optional ZIP/checksum packages are available as Actions artifacts or via npm run package. The workflow generates GitHub build-provenance attestations for all three release files. After downloading them, verify provenance with:
gh attestation verify main.js --repo AI-Scarlett/obsidian-content-studio
gh attestation verify styles.css --repo AI-Scarlett/obsidian-content-studio
gh attestation verify manifest.json --repo AI-Scarlett/obsidian-content-studio
See Review response for the source, CSS, release and behavior checks.
Source: src/main.ts (Obsidian host), src/ui/studio.ts (workbench), src/core/ (rendering, images, templates and export). CI builds and tests the source. Verification scope · Community submission guide · Report an issue.
MIT © 2026 AI-Scarlett. See LICENSE and third-party notices.
Start in Mogao with 发布到平台. The extension automatically opens the selected platform, waits for login, and synchronizes the current article with inline image uploads and separate title. Missing extensions lead to installation onboarding with a bundled download. Installation, permissions and validation limits. Full real-platform extension acceptance remains pending.
Click the browser assistant toolbar icon to open Obsidian and its Mogao workbench. Existing workbench edits are preserved; a newly opened workbench reads the active note. The first launch may require the browser’s external-app confirmation. The last-used vault must have Mogao enabled. On a pending publish handoff page, the icon continues that handoff instead.
The 0.1.18 preview bundles browser assistant 0.3.8, with platform-specific media and draft adapters. The Zhihu multiple-image fix requires assistant 0.3.8: replace the files in your existing assistant directory and reload the extension once. See the release notes and browser assistant documentation for current validation boundaries.
在小红书或 X 平台下,直接点击底部 发布长文 或 发布图文。发布图文会打开对应的普通图文编辑器,按笔记顺序上传原图。无需导出文件、选择文件夹或逐张粘贴图片。平台最终发布仍由你操作。
#话题 会预填到可编辑的话题栏,随后通过平台话题候选列表插入原生话题标签。至少 1 张、最多 18 张图片;标题不超过 20 字,正文含话题不超过 1,000 字。话题选择失败会明确提示,已上传图片保留。Built-in themes now have distinct paragraph typography and spacing. Reference sampling uses Juice to resolve CSS selectors and variables, and transfers supported nested heading boxes and number slots without retaining the original article text or media. Existing templates are preserved; resample a source to acquire the new structure. See research and limitations, including the GitHub implementations studied.