跨平台发布到社交媒体:深入探讨状态、幂等性和损坏的西里尔字母
LiveDune
一位工程师分享了将博客文章自动跨平台发布到社交网络的经验教训。该任务结果证明是一个复杂的管道,包含多个故障区域,需要仔细处理超时、图像格式、API响应和文本编码。关键要点包括分离打包、传输和质量控制,以及使用硬性关口进行验证。
作者的任务是将博客文章自动交叉发布到社交网络,包括生成简短公告、为Dzen和Spark重写内容、附加图片、设置UTM标签,以及发布到Telegram和其他渠道。最初尝试使用AI代理,但暴露了许多问题:Telegram帖子实际上已发布,但CLI返回了超时错误;Markdown链接在视觉上与文本融为一体;WebP图片变成了巨大的PNG;VK触发了反机器人检查;OK丢失了预览卡片;Google Docs中包含损坏字符(U+FFFD)。作者意识到交叉发布不是单一操作,而是一个具有独立故障区域的管道,并将其结构化为:源→内容包→媒体解析→传输→验证→报告。关键经验:超时并不意味着帖子未发布,因此重试必须基于实际验证;浏览器自动化不可靠,应作为备用方案;API响应如HTTP 201不保证已送达,因此每个平台都必须有已验证的最终状态;图片需要适当验证和解析(例如,WebP转PNG导致资产质量下降十倍);文本编码损坏(U+FFFD)必须通过硬性门禁捕获,因为不能通过简单的替换修复。对于重写,作者使用了带清理的完整HTML而非JSON,以避免CTA和横幅,并且每次运行只处理一篇新鲜文章。
来源: Habr — хаб ИИ —
原文
