Open source · AGPL-3.0 · render / publish / xiaolvshu cards — implemented & smoke-tested

Write in Obsidian. Publish with your agent.

Publy is the agent-era publishing pipeline for WeChat Official Accounts: a CLI for typesetting and card rendering, a hosted service for stable publishing, and a theme store.

terminal
# the whole publishing flow, from the editor $ publy publish article.md ✓ typeset · cover uploaded · draft ready $ publy card post.md --theme naive ✓ 6 cards · 3:4 · 1.8s · pixel-exact glyphs
What Publy does

One pipeline, three moving parts.

Publish in one command

publy publish a.md — Markdown in, a typeset WeChat draft out. No GUI, no copy-pasting.

Xiaolvshu as a first-class citizen

Deterministic themed 3:4 cards — pixel-exact CJK glyphs in seconds, not AI images.

Themes as npm packages

Every theme ships with a preview; publy theme add installs after you've seen it.

A hosted service for reliability

IP allowlist egress, hosted AppSecret, token lifecycle, schedules, multi-account.

Official API only

No account emulation, no browser automation — compliance by construction.

Open core, no lock-in

CLI and self-hostable server under AGPL-3.0 — the same code the cloud runs.

Design contract

Three commands, from draft to published.

terminal
# article: typeset and stage a WeChat draft $ publy publish article.md ✓ cover uploaded · draft ready in the official backend # xiaolvshu: themed 3:4 cards, deterministically rendered $ publy card post.md --theme naive ✓ 6 cards · 1.8s · pixel-exact glyphs # themes: install with a preview, not a leap of faith $ publy theme add @publy/theme-naive ✓ installed · preview at localhost:7818
Status: real. render / preview / card / publish and the self-hostable server are implemented; deployment and the theme store are next.
Follow along

The design is public.