App

兔狲 · 公众号助手

自托管的公众号图文工作台:写正文、配样式与封面、看手机预览,确认后存入你自己的公众号草稿箱。

开源项目Web · Docker 自托管0.7.2
1 / 4

放在自己服务器上的公众号工作台

兔狲是一个开源的公众号图文工作台。在浏览器里写文章、调排版、生成封面,看过手机尺寸的预览,再存进你自己公众号的草稿箱。整套服务用 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 最后一节有我的联系方式。