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 才解决。
你说折腾不折腾?折腾。但当你看到流程跑通的那一刻,那种成就感,比直接手动发十篇文章都爽。
技术笔记:关于自动化流程的一些踩坑记录
既然说到这,就顺便记录一下这个自动化发布系统的关键点,给以后想折腾的同学参考。
封面图处理流程:
- 用
image_gen生成 1200×630 的封面图 - 用 macOS 的
sips工具压缩到 200KB 以内(JPEG 格式) - 通过
sshpass + scp上传到服务器/tmp/目录 - 用 PHP 脚本把图片从
/tmp/移动到正确的 uploads 目录,并在wp_posts和wp_postmeta中插入 attachment 记录
文章发布要点:
- WordPress 的
wp_posts表有几个字段必须显式设为''(空字符串),不能是 NULL:post_excerpt、to_ping、pinged、post_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 深夜