放在自己服务器上的公众号工作台
兔狲是一个开源的公众号图文工作台。在浏览器里写文章、调排版、生成封面,看过手机尺寸的预览,再存进你自己公众号的草稿箱。整套服务用 docker compose up 一条命令启动,文章和账号都留在你自己的服务器上。
能做什么
写正文:粘贴现成的 Markdown 和图片,原样保留
调排版:多套正文风格和主题色,字号、段落间距可调,提示卡、高亮、徽章都能用
配封面:按标题自动生成头图和分享图,有多套封面样式,也可以上传自己的图
看预览:生成手机尺寸的完整预览,正文和封面所见即所发
存草稿:确认后写入公众号草稿箱;改稿再提交会覆盖同一篇,不会多出重复草稿
为什么这样做
只写草稿箱:不群发、不定时、不读取已发布的内容,发不发由你在公众号后台决定
一条命令起全套:应用、渲染 Worker、微信中转和 PostgreSQL 四个容器,镜像公开发布在 GHCR,amd64 和 arm64 都有,不需要镜像仓库账号
中转可以自带,也可以换成自己的:默认在同一套服务里运行微信中转;已经有中转服务的,改一个变量就能接上
它还没有
没有群发、定时发布和数据统计
需要一台 2 核 4G 起步的服务器、一个有管理员权限的公众号,并在公众号后台配置 API IP 白名单
只发微信公众号;想同步到博客,可以直接用 zzhub-pipeline
快速开始
git clone https://github.com/k7airos/wx-publish-studio.git
cd wx-publish-studio
cp .env.example .env # 填入 5 个随机密钥和访问地址 APP_ORIGIN
docker compose up -d --wait
bash scripts/relay-init.sh
docker compose up -d --wait连接公众号、配置白名单和故障排查,见仓库 README。
常见问题
截图里是真实账号吗? 不是。截图来自本地测试环境,公众号和文章都是演示数据。
和 zzhub-pipeline 是什么关系? 兔狲里负责渲染和写入草稿的 Worker 就是 zzhub-pipeline。想要现成的界面就用兔狲;想用命令行,或者接进自己的系统,就用 zzhub-pipeline。
图片存在哪里? 编辑器上传的图片存在应用自己的数据卷里,存草稿时由 Worker 转存到微信,不需要另外准备对象存储。
部署遇到问题怎么办? 先看 README 的故障排查。需要协助部署,README 最后一节有我的联系方式。