用途:把 Bluesky 帖子渲染成匿名图片,使文字可被引用而不暴露作者身份,避免引用帖把受众带到原作者处形成围攻。适合粉丝量小、注意力本身就是伤害的账号;对公众人物或大账号通常应正常引用帖。
主要能力:头像、显示名、句柄渲染为黑条;正文中所有 at-mention 涂黑;嵌入图片、视频、链接卡片和引用帖显示为 [image not shown] 等占位而不抓取;默认去掉互动数与日期。
使用方式:python3 scripts/dunk.py https://bsky.app/profile/someone.bsky.social/post/3mv6...,接受 bsky.app URL、at:// URI 或 handle/rkey,输出 <rkey>.png、alt 文本和记录源 URI 的 <rkey>.json。可选参数:--redact "phrase"(涂黑字面短语,可重复)、--stamp(加旋转的 REDACTED 印章)、--show-date(页脚显示日期)、--out PATH、--width N(默认 1200)。依赖 PIL 与标准库,API 调用无需令牌。
限制:脚本无法从帖子自身文字中去除身份信息,Bluesky 索引全文,--redact 是唯一且手动的防线;必须实际打开 PNG 逐句检查并补涂。若作者身份即论点、正文点名作者或涂黑后仍可辨认,应放弃使用。常见问题包括正文仍点名、多词短语涂黑出现间隙、提及未被识别、帖子已删除或 rkey 错误、AppView 返回 403(会改用 api.bsky.app 重试)。发布时附上 PNG 与打印的 alt 文本。