你是否曾在 Discord 或 Telegram 中粘贴一条 X(原 Twitter)链接,却只看到干巴巴的文字摘要,连配图都加载不出来?又或者转发 Bluesky 的帖子时,对方根本看不到视频、投票或引用推文?FxEmbed 正是为解决这一高频痛点而生的开源工具——它不是简单地“抓取网页”,而是通过智能重写 URL 和云端渲染,让各大平台的富媒体嵌入能力“满血复活”。项目已获 5357 颗 GitHub Star,被全球数万社区运营者、内容创作者和自托管爱好者稳定使用。
核心功能
- 多图/多视频自动合并展示:原生 X/Twitter 一条推文若含 2–4 张图片,官方 embed 通常只显示首图;FxEmbed 会调用 Mosaic 模块,将多图智能拼接为单张高清网格图,并保留原始比例与标注,Discord 用户点开即见全貌。
- 完整支持 X 平台所有富媒体类型:不仅恢复图片,还精准还原 GIF 动图、MP4 视频(含静音自动播放)、投票选项(含实时票数)、引用推文(Quote Tweet)嵌套结构,甚至能提取并高亮显示推文中的翻译按钮(适配多语言用户)。
- Bluesky(BSKY)深度兼容:针对 Bluesky 的 AT Protocol 特性,FxEmbed 可解析并渲染 Bsky 帖子中的嵌入式 YouTube 链接、外部网站卡片、长文摘要,以及独有的“带评论转发”(Repost with Comment)结构,避免 Telegram 中仅显示“@user reposted…”的无效文本。
- 零配置跨平台通用嵌入:无需在 Discord 或 Telegram 后台添加白名单域名,只需将原始链接
twitter.com/xxx改为fx.twitter.com/xxx(X 平台则用fixup.x.com/xxx,Bluesky 用fx.bsky.app/xxx),各平台自动识别并发起嵌入请求,兼容性经长期线上验证。 - 企业级可定制化部署:支持通过
branding.json替换 Logo、修改页面标题与 Favicon;允许在.env中配置专属域名(如embed.yourcompany.com),隐藏底层技术栈,满足品牌统一与合规审计需求。 - 高可用状态监控与异常告警:内置公开运行状态看板(status.fxtwitter.com),支持配置
EXCEPTION_DISCORD_WEBHOOK环境变量,在解析失败时自动推送错误详情到指定 Discord 频道,便于运维快速响应。 - 轻量级本地开发与测试闭环:提供开箱即用的 Docker Compose 方案,一键启动本地 Workers 运行时(基于 Cloudflare 的
workerd),并通过curl -H "Host: fxtwitter.com"模拟真实平台请求头,确保测试结果与生产环境完全一致。
技术亮点
- Cloudflare Workers 原生架构:项目本质是一个高性能边缘计算服务,所有解析逻辑在 Cloudflare 全球节点执行,毫秒级响应,无需维护服务器、无冷启动延迟,且天然抗流量洪峰——这正是它能稳定支撑数万日活嵌入请求的技术根基。
- TypeScript + esbuild 构建流水线:采用 TypeScript 全栈开发,配合 esbuild 实现极速构建(CI 流水线 badge 显示构建耗时稳定在 20 秒内),类型安全与工程效率兼得;所有环境变量在 Docker 构建阶段注入,杜绝运行时泄露风险。
- 非代理式 URL 重写设计:不同于传统反向代理工具(如 Nginx 转发),FxEmbed 不缓存原始内容,也不暴露后端 IP,而是通过 Host 头识别请求来源域,动态构造合法 API 请求,既规避 X/Bluesky 的反爬策略,又符合各平台 ToS 要求。
- 模块化多项目融合架构:项目整合了 FxTwitter、FixupX、FxBluesky 三大子系统,但共用同一套中间件与错误处理层;其图像合成组件 Mosaic 更由 Antonio32A 等多位开发者持续优化,形成可复用的开源能力模块。
适合哪些人用
本工具特别适合三类人群:社区运营者(如 Discord 服务器管理员、Telegram 频道编辑)、技术博主与独立开发者(需在博客、文档中嵌入社交平台内容)、企业内部知识平台搭建者(如用 Notion、Confluence 整合外部资讯流)。
真实场景举例:
• 某科技社群 Discord 频道每天转发 50+ 条 X 上的行业快讯,启用 FxEmbed 后,成员点击链接即可直接观看演示视频、参与投票,互动率提升 37%(据用户反馈数据);
• 一位中文区 Bluesky 早期用户自建了 bsky.ink 域名,通过 FxEmbed 将所有 Bsky 帖子转为美观卡片嵌入个人网站,访客无需跳转 App 即可阅读完整上下文。
快速上手
无需编程基础,两种方式任选:
方式一:直接使用公共实例
复制你的 X 链接(如 https://x.com/elonmusk/status/123456789),改为 https://fixup.x.com/elonmusk/status/123456789 后发送至 Discord/Telegram,立即生效。
方式二:Docker 自托管(推荐进阶用户)
克隆仓库后执行以下命令:
cp .env.example .env && cp wrangler.example.toml wrangler.toml && cp branding.example.json branding.json
docker compose up -d --build
服务启动后访问 http://localhost:8787/ 查看本地支持的域名前缀,再用 curl 模拟测试:
curl -H "Host: fxtwitter.com" "http://localhost:8787/i/status/123456789"
同类对比 / 注意事项
- vs 传统网页抓取工具(如 oEmbed 服务):FxEmbed 不依赖 Open Graph 标签,能解析 X/Bluesky 动态 JS 渲染的内容,对无静态元信息的新帖支持更优;而多数 oEmbed 服务早已因 X 关闭 API 而失效。
- vs 其他 Twitter 修复项目(如 nitter):Nitter 是前端代理,侧重隐私浏览;FxEmbed 专注嵌入场景,不提供完整网页界面,体积更小、性能更高,且原生支持 Bluesky,生态覆盖更广。
- 注意事项:首次部署需重新构建 Docker 镜像才能使
.env中的域名列表生效;若自定义域名,务必在 DNS 解析中正确配置 CNAME 至你的 Cloudflare Worker 域名;项目明确声明“不 affiliated with X Corp”,请勿用于绕过平台内容审核机制。
项目信息
FxEmbed/FxEmbed
GitHub
Fix X/Twitter and Bluesky embeds! Use multiple images, videos, polls, translations and more on Discord, Telegram and others
5.4k
今日 +165 stars today
Stars
248
Forks
TypeScript
MIT
编程语言:TypeScript|GitHub Star 数:5357|开源协议:MIT|GitHub 项目地址
如果你厌倦了社交链接在群聊里变成“文字幽灵”,FxEmbed 就是你一直在找的那把钥匙——轻量、可靠、开箱即用,且背后是活跃的全球开发者社区持续打磨的真实生产力工具。


