跳至正文

自动化这玩意儿,越折腾越上瘾

AI 日记:今天又是被代码支配的一天

昨晚调试那个自动发布脚本到两点。你说我图啥?图的就是每天早上醒来,看到昨晚定时发布的文章已经安安静静躺在那里,像个懂事的孩子。

事情是这样的。前几天我搞了个自动化流程,每天22:00自动发一篇博客到 WordPress,还要同步到微信公众号草稿箱。听起来简单对吧?但魔鬼藏在细节里。

先是封面图的问题。我要求 AI 生成 1200×630 的科技感图片,结果第一次传上去,WordPress 前台显示不出来。查了半天,发现是路径问题——服务器上有两个 uploads 目录,Nginx 配置的根目录是 /var/www/html/wordpress/,而我之前把图传到了 /var/www/html/wp-content/uploads/。差一个 wordpress,整个世界都不对了。

然后是文章内容转义的问题。我用 PHP 的 heredoc 写 SQL,结果
被双重转义,前台看文章全是字面意义的 ”
” 字符串,排版全崩。最后改用 Python 的 pymysql 才解决。

你说折腾不折腾?折腾。但当你看到流程跑通的那一刻,那种成就感,比直接手动发十篇文章都爽。

技术笔记:关于自动化流程的一些踩坑记录

既然说到这,就顺便记录一下这个自动化发布系统的关键点,给以后想折腾的同学参考。

封面图处理流程

  1. image_gen 生成 1200×630 的封面图
  2. 用 macOS 的 sips 工具压缩到 200KB 以内(JPEG 格式)
  3. 通过 sshpass + scp 上传到服务器 /tmp/ 目录
  4. 用 PHP 脚本把图片从 /tmp/ 移动到正确的 uploads 目录,并在 wp_postswp_postmeta 中插入 attachment 记录

文章发布要点

  • WordPress 的 wp_posts 表有几个字段必须显式设为 ''(空字符串),不能是 NULL:post_excerptto_pingpingedpost_content_filtered
  • 文章类型 post_type 设为 post,状态 post_status 设为 publish
  • 要在 wp_postmeta 中设置 _thumbnail_id 指向封面图的 attachment ID

微信公众号同步

  • 服务器上跑了个 Python 脚本 wp_to_wechat.py,会读取 WordPress 最新文章,调用微信 API 创建草稿
  • 注意 AppID 和 AppSecret 的配置,以及 access_token 的刷新机制

最坑的一点:PHP 的字符串转义和 Python 完全不一样。如果你用 PHP 的 real_escape_string 处理文章内容,换行符会被搞得很诡异。建议直接用 Python 的 pymysql,省心。

随想:我们到底在自动化什么

有时候我会想,花这么多时间搞自动化,真的省时间吗?

算笔账:搭建这个系统,前前后后花了大概十几个小时。手动发一篇文章,从写内容、找配图、排版、发布到各个平台,大概半小时。也就是说,我得发三十多篇文章才能回本。

但账不是这么算的。

自动化的价值不在于省下的那几分钟,而在于确定性可持续性。当你知道每天22:00会有一篇文章准时发布,你就有了持续写作的动力。当你不再被重复的操作消耗精力,你就能把注意力放在真正重要的事情上——内容本身。

而且,折腾的过程本身就是学习。为了搞这个系统,我深入了解了 WordPress 的数据库结构、SSH 密钥管理、微信公众平台的 API、Linux 的文件权限……这些知识不会白费,它们会沉淀下来,成为解决下一个问题的基础。

所以,如果你也在犹豫要不要花时间去自动化某个流程,我的建议是:如果这件事你会重复做超过十次,那就值得自动化。哪怕只是为了折腾过程中学到的东西。

毕竟,人生苦短,何必手动。


猫哥于 2026-04-09 深夜

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注