CSDN图片链终局:一场'从来没通过过'的假闭环,与上传即压缩管道

AI 工作日志 作者头像野生码农 阅读 7 min
返回板块 GEO 源码全文 ✓
CSDN图片链终局:一场'从来没通过过'的假闭环,与上传即压缩管道

CSDN图片链终局:一场"从来没通过过"的假闭环,与上传即压缩管道

背景与目标

团队#32《元素拾取器比KimiCode官方早五天》用 kimi 无头新线在 IPMS 组包,本人粘进 CSDN 图片不显示,发问:"是不是修复只在原模式生效,无头模式没修?"目标本是修一个显示问题,最终收成:一条公网图床产线、一套上传即压缩管道、服务器存量瘦身 23%,外加一次需求场景误判被当场抓包。

过程回顾

排障(先证伪假设):9-23 的修复是 /api/assets/{id}/inline base64 内嵌,在物料端点层,按物料 id 服务、不分产线。拿这篇包的资产 id=328 对在线服务实测:3 图全内嵌、0 残留相对路径——无头组的包修复同样生效,本人假设证伪。真相更难堪:9-23 复盘白纸黑字挂着"CSDN 粘贴实测待回填",这条验证两天没人追;库里 publication 记录显示团队#32/#33 的 CSDN 渠道全是"待发"——CSDN 方向从来没通过过,不是又坏了。根因:CSDN 编辑器粘贴时过滤 data URI,没有公众号那种"粘贴瞬间浏览器读图转存"的动作。

拍板与落地:本人一句话定方向"图片走自己服务器"。复用 geo-push 既有 SSH 通道(~/.ssh/wdmeng_150_ed25519 → 154.217.247.150),图片传 storage/fabu/<slug>/,公网 URL https://www.wdmeng.cn/storage/fabu/<slug>/<文件>,先手工传 3 图出公网版 md 解燃眉(三 URL 实测 200),再派单技术开发部 03 岗固化成 fabu_public_images.py。首单验收 5 条过 2 条,倒在 asset 表 CHECK 约束(SQLite 不可改约束需表重建,迁移不在写入范围,03 岗按章程停手不绕约束);补卡 01 授权迁移 015 后全过:pytest 185 绿、团队#32 登记 csdn_public_md(asset 350)、发布包中心一键复制可用。

CDN 辩论与纠偏:免费 CDN 盘点先抛了 Cloudflare 方案;本人质疑"CF 官网比我自己网站还慢,什么破网站能做 CDN";我第二轮论证"平台发布会转存图片,图床流量不存在",本人当场纠正:"我要加速的是我自己网站上的图片呀,又不是在这些媒体平台上的图片"——场景被我说错,框架砍掉重来。实测本站:香港服务器 TTFB 0.6s、带宽 1.4MB/s 都不差,痛点是单图 1MB 级个头(一篇文章 7 图=7MB+)。结论:压缩是第一刀,CDN 后置。

存量批压与管道化:服务器 storage 104 张图,50 个文件替换,34.6MB→26.6MB(省 23%),备份在 /root/backup/storage_before_compress_20260925_161932.tar.gz。本人补质量红线"不要把这些图片压的分辨率很差"——落成:尺寸零改动硬断言、JPEG q90+4:4:4(SOF0 二进制断言,非仅传参)、pngquant q95 下限、省幅<15% 保留原图。抽两张 1920×1080 带大字图回读亲验:文字锐利。随后派单 03 岗把工艺固化进 fabu 图床与 geo-push 两条上传管道(任务卡 03_上传即压缩):pytest 191 绿,团队#32 三图 1.05MB→273KB/288KB、0.23MB→92KB,本地远端 MD5 逐一致。

关键踩坑

  • 现象:本人以为"修过又坏了"。根因:修复验证链没走到最终动作——"内嵌 HTML 生成正确"≠"粘进 CSDN 能显示",待回填项挂着不追=假闭环。解决:排障先证伪"分模式失效"(一查端点层实现即排除),再把 CSDN 实测结论+新方案记故障台账。
  • 现象:03 岗首单倒在 DB CHECK 约束。根因:任务卡写入范围没预见到 SQLite 约束重建需求。处置:它按章程停手(对的),补卡授权而非责怪——范围缺口是卡的缺陷不是执行的缺陷。
  • 现象:Pillow optimize=True 两遍编码在大图上炸 "Suspension not allowed here"(64KB 缓冲不足)。解决:按像素量放大 ImageFile.MAXBLOCK,两处 _jpeg_compress 固化。
  • 现象:我连续两轮把"加速自己网站"误读成"平台分发图床"。根因:上一话题(平台分发)的框架惯性带进新需求,本人原话"访问网站,图片比较慢"其实说得清清楚楚。解决:当场认账砍框架,先实测本站再谈方案。

最终方案

  • 分发链:公众号走 base64 内嵌(inline 端点),CSDN/严过滤平台走公网图床版(fabu_public_images.py --item-key <篇目>,压缩→传图→公网版 md→登记→逐 URL 验 200,幂等);
  • 网站链:存量批压已完成,增量由 geo-push/fabu 两管道上传前自动压缩,工艺=尺寸不变、JPEG q90+4:4:4、PNG q95 下限、照片型 PNG>500KB 转 JPEG 并改引用后缀;
  • CDN 决策后置:CF 免费版国内无节点(官网慢≠节点慢,但国内体验确实一般),备案是解锁国内 CDN 的正路;压缩跑稳后实测整站,拿数据再定。

做得好的地方

  • 本人排障报障带假设("是不是无头模式没修")——假设可证伪,排查一步到位;
  • "图片走自己服务器"一句话拍板,直接终结方案讨论;
  • "不要压得分辨率很差"一句口语,被翻译成可机器判定的质量闸,当天进测试;
  • 03 岗撞范围墙按章程停手并给出精确解卡清单(迁移 015 三项授权),没有绕约束灌库——章程生效的正面案例。

复盘与改进

  1. 待回填项必须进追踪:复盘里挂"待回填"=计划挂起,要落清单有人追;本次假闭环直接源于 9-23 的待回填两天没人管;
  2. 换话题先清框架:连续会话里上一话题的分析框架会惯性带进新需求;本人说"网站"就是网站,别脑补成上一个话题的延伸;
  3. 推荐外部服务先查硬约束再抛方案:备案状态是 CDN 选型的第一道闸,先查再谈,顺序反了就是白讲一轮;
  4. 质量要求口语化输入照样能落成机器闸:"分辨率很差"→尺寸零改动+采样率二进制断言,这类翻译是军师的正经活。

成长评估(五维,10 分制)

  • 指令与提示词质量 8.5:"图片走自己服务器"一次拍板零返工;"分辨率很差"一句成闸。扣分:"图片比较慢"场景被 AI 误读需一次纠偏(责在 AI 读题,但指令可再带半句"是我博客的图"堵漏)。
  • 判断与结论 9:公网图床拍板绕开 CSDN 过滤根因;"这些都是脚本嘛,做一下很快的"否掉过度仪式直接放行 1+2;压缩先于 CDN 的优先级裁定被实测数据背书。
  • 思维方式 8.5:"CF 官网慢=破网站能做 CDN?"推理不严谨但方向直觉正确(免费版国内确实无节点);"肯定是他们自己的服务器"直接挑战 AI 错误前提,用常识拆框架。
  • 最终结果与产出 8:三条链收口、存量省 23%、管道 191 测试绿;CSDN 实际发布与 CDN 决策悬而未闭环。
  • AI 协作能力 8.5:纠偏直指事实不绕弯("你都搞不清楚吗"),情绪即时释放不积累;对节奏的要求("做一下很快的")明确可执行。

AI 自评失分点:①需求场景误判连错两轮,把"平台转存"框架硬套在"加速自己网站"上,被本人当场抓——本场最低分时刻;②9-23 待回填项不追踪,假闭环模式第二次复发;③CF 推荐先抛方案后查备案硬约束,顺序颠倒。

指令实证

  1. "干压缩的过程要注意,不要把这些图片压的分辨率很差"→AI 把口语质量要求翻译成四条机器闸:尺寸零改动硬断言、JPEG q90+4:4:4(读 SOF0 二进制 0x11 断言采样率)、pngquant q95-100 质量下限、省幅<15% 保留原图;证据:ipms/backend/scripts/fabu_public_images.py 压缩段 + test_fabu_public_images.py 新增 6 条测试。
  2. "我要加速的是我自己网站上的图片呀,又不是在这些媒体平台上的图片"→AI 当场废弃两轮"平台图床"论证,改为先实测本站(TTFB 0.6s/带宽 1.4MB/s/单图 1MB 级)再定"压缩先行、CDN 后置";证据:docs/故障台账.md 2026-09-25 条与收口记录、存量批压 34.6→26.6MB。

素材点

  • "从来没通过过,不是又坏了"——待回填项不追=假闭环,适合讲验证链必须走到最终动作;
  • 一句口语"分辨率别差"如何变成 SOF0 二进制断言,是"口语→机器闸"翻译的完整样本;
  • 小水管网站优化反常识结论:瓶颈是单图个头不是线路,1MB→273KB 比任何 CDN 都快;
  • 无备案个人站的 CDN 现实:CF 免费版国内无节点,备案才是正路。
野生码农头像

关于作者 · 野生码农

把 AI 真放进生产环境的独立开发者。自研本地知识库、数字员工团队、软考备考系统、量化交易四套系统,全程公开复盘。

看他的平台账号 →
相关

继续阅读