Wenyan 使用教程

把视频文案排成公众号文章

命令行排版 · Apache-2.0

📖 项目简介

文颜(Wenyan) 是 caol64 做的 Markdown 排版工具,协议 Apache-2.0。命令行仓库在 2026-10-15 查询时是 243 个 Star,当前发布版本 2.0.12,排版核心库 3.0.12。它把一篇 Markdown 套上主题,变成公众号能直接用的版式,并放进草稿箱。

命令行发布时会自己读 frontmatter 里的标题和封面,把正文和封面里的图片传到公众号素材库,再用主题把 Markdown 渲染成富文本,最后创建一篇草稿。默认主题是 default,代码高亮默认 solarized-light,代码块带 Mac 三色圆点,链接默认转成脚注。图文和图片消息(小绿书)走同一条命令。

桌面版还能复制到知乎、今日头条、掘金、CSDN、Medium。这条视频用的是命令行版,方便丢给 Codex:装一次,配好公众号 AppID 和密钥,之后用一句话把字幕改写稿排成文章。主题也可以让 Codex 按 generate-wenyan-theme 这个 skills 现写一套 CSS,再注册进文颜。

✨ 核心亮点

🎨
8 套公众号主题
默认、橙心、彩虹、青金、Pie、麦穗、紫色、物理猫薄荷,一条参数切换
🖼️
图片自己上传
本地绝对路径、相对路径、网络图都会进公众号素材库,不指定封面就用正文第一张
📥
直接进草稿箱
发布命令创建的是草稿,后台看一眼再点发表,不会直接推给读者
📗
同一条命令发小绿书
frontmatter 里写 type: image,正文图片自动收成图集,最多 20 张

🧩 它能做什么、输出什么

项目说明
输入Markdown 文件、标准输入,或把短内容直接跟在命令后面。文章顶部用 frontmatter 写标题
适用类型图文草稿;frontmatter 设 type 为 image 时发图片消息(小绿书)
输出publish 创建公众号草稿;render 只渲染 HTML,不上传
语言 / 兼容中文文稿为主。代码高亮可选 solarized-light、monokai、github、dracula 等 9 套
规格 / 容量小绿书 image_list 最多 20 张,第一张当封面。图片格式支持 jpg、png、gif

🖥️ 环境要求

环境建议配置
操作系统Windows、macOS、Linux 都能跑命令行。macOS 另有 App Store 桌面版,Windows / Linux 有跨平台桌面版
运行环境Node.js,用 npm 全局安装。仓库没有写死小版本,按当前 npm 包安装即可
硬件排版在本机完成,不需要显卡。发布时要能访问公众号接口
没有固定 IP 时本机 IP 要加进公众号后台白名单。IP 经常变,可以用文颜的 Server 模式,或给命令加代理
关键依赖npm 包 @wenyan-md/cli,内部使用 @wenyan-md/core。公众号侧要准备 AppID 和 AppSecret

🚀 如何使用

💡
先装命令行,配一次公众号凭据和 IP 白名单,再用橙心主题把一篇 Markdown 存进草稿箱。
1

安装命令行

本机先有 Node.js。在 GitHub 搜索 caol64/wenyan-cli,或直接用下面这一行装官方 npm 包。

bash npm install -g @wenyan-md/cli
2

填写公众号凭据,并把本机 IP 加进白名单

公众号后台的开发接口里拿到 AppID 和 AppSecret,写进环境变量。IP 白名单没加时,上传会返回 invalid ip。IP 经常变,可以改走 Server 模式,由一台固定机器去调公众号接口。

bash WECHAT_APP_ID=你的AppID WECHAT_APP_SECRET=你的密钥
3

写一篇最小文章,用橙心主题存草稿

标题必填。封面可以不写,有正文图片时会用第一张。先用 render 在本地看 HTML,确认后再 publish。

markdown --- title: 一条口播改成的文章 cover: ./cover.jpg author: IT小圈 --- ## 先把口语收干净 字幕里的口头禅删掉,再拆成小标题。
bash wenyan render -f article.md -t orangeheart wenyan publish -f article.md -t orangeheart

常用参数说明:

参数作用
-f, --fileMarkdown 路径。不传文件时,也可以从管道或命令参数读内容
-t, --theme主题 id,默认 default。橙心是 orangeheart
-h, --highlight代码高亮主题,默认 solarized-light
-c, --custom-theme这一次使用的自定义 CSS,本地文件或网络地址
--no-mac-style关掉代码块顶部的三色圆点
--no-footnote关掉链接转脚注
--app-id多个公众号时指定发到哪一个
--env-file从指定文件读 AppID 和密钥
4

注册自己的主题,或发一条小绿书

内置主题用 wenyan theme -l 查看。自定义 CSS 先注册再按名字使用。小绿书不套主题,把 type 写成 image,正文里的图片会收成图集,最多 20 张。

bash wenyan theme --add --name my-theme --path ./my-theme.css wenyan publish -f article.md -t my-theme wenyan publish -f photos.md
markdown --- title: 这周的九张图 type: image --- ![](./1.jpg) ![](./2.jpg) ![](./3.jpg)
5

结合 Codex 使用

把安装命令发给 Codex,让它执行 npm install -g @wenyan-md/cli。凭据放在环境变量里,不要写进口播和截图。想要自己的版式,让 Codex 安装 skills generate-wenyan-theme,用一句话生成 CSS,再注册成主题。之后直接说:把这周三条视频都改成公众号文章,每篇配三张截图,再挑九张图发一条小绿书。

✅
Codex 负责改写和调用命令,文颜负责排版、传图、存草稿。发表前仍在草稿箱里看一眼。

🎯 典型应用场景

🎬
视频改成公众号
字幕删掉口头禅,按意思拆小标题,关键画面截图插进对应段落
📗
同一条视频发小绿书
从成片里挑最多 20 张图,type 设为 image,发出图集草稿
🎨
一句话换主题
内置 8 套直接用;想要自己的风格,让 skills 生成 CSS 再注册
🧪
先渲染再发布
render 只出 HTML,确认标题和代码块没散,再 publish 进草稿箱
🤖
交给 Codex
安装、改稿、选主题、存草稿都说人话,凭据留在环境变量里
🖥️
桌面版顺手复制
命令行主攻公众号草稿。知乎、头条、掘金这些用桌面版复制过去

📈 和手排的差别

做法结果
Markdown 直接粘进公众号编辑器标题、引用、代码块样式经常掉,图片还要一张张上传
只让 AI 写出 Markdown稿子有了,排版和传图仍要自己做
文颜命令行套上主题,图片进素材库,草稿箱里多一篇。小绿书用同一条命令
🧠
主题 CSS 来自文颜核心库。公众号 8 套是 default、orangeheart、rainbow、lapis、pie、maize、purple、phycat。渲染时把样式写进标签,所以粘进公众号编辑器后版式还在。

❓ 常见问题

Q: 和自己粘贴进编辑器有什么差别?

文颜先按主题把 Markdown 渲染成公众号富文本,并把图片换成素材库地址。手粘贴时标题和代码块最容易散,图片也要另外上传。

Q: 命令行能发到知乎和头条吗?

publish 创建的是微信公众号草稿,包括图文和小绿书。知乎、今日头条、掘金、CSDN、Medium 用桌面版排好后复制过去。

Q: 提示 invalid ip 怎么办?

当前机器的 IP 不在公众号白名单里。把 IP 加进后台,或者改用 Server 模式,让一台固定地址的机器去调接口。也可以给命令加代理。

Q: 提示 invalid appid or secret 怎么办?

检查环境变量 WECHAT_APP_ID 和 WECHAT_APP_SECRET,或用 --env-file 指定文件。配了多个公众号时,用 wenyan credential -l 看凭据,发布时加上 --app-id。

Q: 需要显卡吗?

不需要。排版在本机用 Node.js 完成。真正花时间的是改稿和截图,这两步交给 Codex 和 ffmpeg,不占显存。

Q: 主题怎么选?

公众号内置 8 套,wenyan theme -l 可以列出。视频里用的橙心,命令是 -t orangeheart。想要自己的风格,用 skills generate-wenyan-theme 生成 CSS,再 wenyan theme --add 注册。内置主题删不掉,只能删自己加的。

Q: 怎么和 Codex 一起用?

把 npm 安装命令发给 Codex。AppID 和密钥放环境变量,不要贴进对话。改写口播、截图、选择主题、执行 publish,都用一句人话。MCP 版是另一条路,对话里直接说「用橙心主题把这篇文章存进草稿箱」。

Q: 命令行、桌面版、MCP 是什么关系?

排版能力在核心库 wenyan-core。桌面版适合手点复制,命令行适合脚本和 Codex,MCP 适合在对话里直接发草稿。主题 CSS 三边通用。

Q: 可以商用吗?

Apache-2.0,可以用于自己的公众号和商业内容。保留许可证声明即可。发布出去的是你自己的文章,文颜只负责排版和存草稿。

Q: 图片上传失败怎么办?

先确认路径存在,格式是 jpg、png 或 gif。相对路径只在用 -f 读取本地文件时有效。封面不写时,会用正文第一张图。