QuickChart

QuickChart

Stuffs Chart.js into a server, then pretends it's a SaaS

7,500+
MIT
Mid 2025
4 Billion+
QuickChart
QuickChart OG Image
QuickChart OG Image

一句话人话: 把 Chart.js 图表在服务端渲染成图片,扔给你嵌入邮件、报表、公众号——浏览器里能跑的图表,它给你截好图送过来。

创始人: Ian Webster,硅谷老炮,同时也搞了 promptfoo(那个 LLM 评测框架,比你老板的 KPI 表格还火)。一个人撑两个开源项目,bus factor = 1 中的 1。

数据快照:

指标数值段位评估
⭐ GitHub Stars~7,500中产偏上,但增速已躺平
🍴 Forks~800说明真有人自部署
📜 LicenseMIT双刃剑——你可以白嫖,竞品也可以
📦 npm 周下载数万级稳定但没爆发
🗓️ 最近活跃2025 年中维护频率≈"还活着,但别催"
💰 商业模式Freemium + SaaS + 自部署该有的都有

雷达图(自己用自己 API 画的,meta 到离谱):

QuickChart 雷达图
QuickChart 雷达图

评分:2/5 — 浅,太浅了,浅到你能看到对面的竞品在对你竖中指。

核心逻辑 ≈ 一个 Node.js 服务启动 Chromium/Puppeteer,打开 Chart.js HTML 页面,截图,返回 PNG。 没错,就是这么朴实无华。技术含量约等于「把浏览器当照相机使」。

工程质量的体面与尴尬

  • ✅ 代码结构清晰,API 设计干净,文档写得比大部分开源项目强十条街
  • ✅ 支持 Chart.js v2/v3/v4,兼容性良心
  • ✅ 提供 npm 包(quickchart-js)、REST API、Docker 自部署,三重姿势任君选择
  • 模仿成本 ≈ 一个周末——任何一个前端实习生都能在两天内搭个差不多的
  • ❌ 核心依赖 Puppeteer/Chromium,镜像体积大得能装下一只猫

平台原生威胁

  • Image-Charts 是同赛道的付费竞品,功能几乎镜像,还多了 Google Charts 支持
  • 任何 BI 工具(Metabase、Grafana、Superset) 都内置图表导出,侵蚀你的长尾场景
  • LLM 时代的新威胁:ChatGPT 直接渲染图表、Vercel AI SDK 生成 SVG——谁还调你 API?

License 双刃剑

MIT 是好事,也是坏事。好事是社区可以随便用,坏事是你的竞品可以直接 fork 你的代码改个名上线卖钱。事实上,GitHub 上已经有多个 QuickChart 的 fork 在当独立产品卖了。

🎯 毒舌结论: 技术护城河 ≈ 纸糊的。你的核心竞争力不是代码,是 Ian Webster 懒得关服务器。

评分:4/5 — 痛点真实,场景明确,就是钱包不太鼓。

痛点真不真?

真,太真了。 你发邮件想带个图表,Gmail 不支持 JS;你写周报想放走势图,Markdown 不支持 Canvas;你搞监控告警,钉钉/飞书只认图片 URL。服务端渲染图表 = 刚需中的刚需。

TAM 漏斗

层级规模
📧 邮件营销 + 报表全球百亿美元市场
📊 嵌入式 BI同样百亿级
🤖 自动化/告警通知快速增长中
🧑‍💻 独立开发者长尾,但付费意愿低

商业化路径

  • Free tier:100 charts/day,够个人玩玩
  • Pro ($39/月):10,000 charts/day,够小团队
  • Enterprise ($199+/月):100,000+ charts/day,够公司用
  • 自部署:MIT 免费,但你要自己管 Chromium 的内存泄漏

定价合理,但有个致命问题——自部署太容易了。稍微有点运维能力的团队都会选择 Docker 自建,而不是每月交 $39。

替代品挤压

替代方案优势劣势
Image-Charts功能更多,Google Charts 支持更贵,免费额度更低
自建 Puppeteer完全免费,可控运维成本,内存管理
ECharts 服务端渲染国产生态,文档中文没 QuickChart 简单
Matplotlib → 图片Python 生态丑,配置麻烦

🎯 毒舌结论: 需求是真的,用户是抠的。$39/月的定价在「自己搞」和「花钱买省心」之间反复横跳。

评分:4/5 — 这可能是 QuickChart 最值钱的部分。

安装/上手时间

// npm install quickchart-js 之后:
const QuickChart = require('quickchart-js');
const chart = new QuickChart();
chart.setConfig({
  type: 'bar',
  data: { labels: ['A','B'], datasets: [{ data: [1,2] }] }
});
const url = chart.getUrl(); // 直接拿 URL
const buf = await chart.toBinary(); // 或者拿图片二进制

从 npm install 到拿到第一张图,5 分钟。 文档干净得像苹果官网,示例代码直接复制就能跑。

运行时摩擦

  • SaaS 模式:零摩擦,发个 HTTP 请求就行
  • 自部署模式:Docker 一行命令,但 Chromium 吃内存像吃自助餐
  • 冷启动:第一次请求要等 Chromium 启动,大概 2-3 秒
  • 缓存:有,但文档没细说怎么配置

文档质量 ⭐⭐⭐⭐⭐

这是 Ian Webster 的隐藏技能——他写的文档是所有开源项目里 top 5% 的水平。有交互式 playground,有代码示例,有 API 参考,有迁移指南,连 FAQ 都写得像产品经理附体。

同类对比

维度QuickChartImage-Charts自建
上手速度⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡⚡
文档质量⭐⭐⭐⭐⭐⭐⭐⭐⭐你自己写
API 设计优雅略臃肿你自己定
图表类型Chart.js 全部Chart.js + Google取决于你

🎯 毒舌结论: 产品手感好到让人怀疑 Ian 是不是偷偷雇了设计师。但手感再好,也掩盖不了「这玩意儿本质上是个浏览器截图服务」的事实。

评分:3/5 — 有量,没势。增长曲线平得像心电图。

绝对数

Star History
Star History
  • GitHub Stars: ~7,500,在「开发者工具」赛道算中产
  • npm 周下载: 数万级,稳定但不性感
  • 宣称渲染图表数: 40亿+(这个数字……你信吗?我持保留意见)

增长曲线分析

项目 2019 年上线,2020-2021 年有一波增长(远程办公/自动化报表需求爆发),之后增速明显放缓。2024 年至今曲线几乎走平。

同期同类比较:

  • Image-Charts:闭源 SaaS,没 GitHub stars 可比
  • 其他开源图表 API 项目:基本都凉了,QuickChart 是活得最久的

商业公司跟踪

  • 被多家邮件营销平台(Mailgun、SendGrid 等)的教程推荐
  • 出现在各种「如何在邮件中嵌入图表」的博客文章里
  • 没有知名企业客户背书——官网连个 logo 墙都没有,这很说明问题

虚荣指标警告

  • ⚠️ "40亿图表" 这个数字看起来很唬人,但仔细一想——如果真是 40 亿,那每月营收应该至少七位数,但 Ian 还在做 promptfoo 赚钱,说明这个数字要么是累计请求量(含免费 tier),要么是……你懂的
  • ⚠️ Stars 增长停滞,说明没有新的引爆点

🎯 毒舌结论: 7,500 stars 够吹牛用,但增长曲线平得像 MacBook 的厚度。40 亿图表?我单方面宣布这个数字和「某个产品已服务 9 亿用户」属于同一个计量单位——不可证伪的营销单位

评分:2/5 — 创始人的精力是最大的瓶颈。

作者背景 / Bus Factor

Ian Webster — 斯坦福出身,Google 前员工,现全职搞 promptfoo(那个 AI 评测框架已经 20k+ stars)。QuickChart 是他 2019 年左右的 side project,现在更像是在吃老本

Bus factor = 1。 如果 Ian 被车撞了(或者更现实地说,被 promptfoo 的投资者逼着全职搞 AI),QuickChart 就进入维护模式。

路线图 / 命运岔路

                    ┌─ A 路:继续躺平 ─→ 慢慢被竞品蚕食,沦为遗产项目
                    │
QuickChart ───────┤
                    │
                    └─ B 路:AI 转型 ──→ 接入 LLM 生成图表描述,
                                       变成「AI 报表助手」

目前看来 Ian 选了 A 路——2024-2025 年的 commit 主要是依赖更新和 bug 修复,没有新功能

平台寄生风险

  • 寄生在 Chart.js 上:Chart.js 换 license 或者 API 大改,你就要跟着改
  • 寄生在 Chromium/Puppeteer 上:Chromium 更新可能导致截图行为变化
  • 寄生在 Ian 的精力上:这是最危险的——当创始人的注意力转移,项目就进入了「慢性死亡」模式

社区健康度

指标状态
Issue 响应偶尔回复,不积极
PR 合并有,但周期长
贡献者核心贡献者 1 人,其他都是小修小补
论坛/Discord没有,全靠 GitHub Issues

🎯 毒舌结论: QuickChart 的进化潜力 ≈ 一只被遗忘在冰箱里的酸奶——还能吃,但没人记得去热一下。Ian 忙着搞 promptfoo 赚 AI 的钱,QuickChart 只能靠光合作用自我维持。


🏆 最终裁决

维度分数一句话毒评
🛡 技术护城河2/5一个周末就能复刻,你的护城河是 Ian 懒得关服务器
💰 刚需指数4/5痛点真实到流血,但用户抠门到令人发指
🎮 产品手感4/5文档和 API 设计是 Ian 的隐藏天赋树
📈 出圈能力3/57,500 stars 够体面,但增长曲线比心电图还平
🧬 进化潜力2/5Bus factor = 1,而那个 1 正在忙着搞 AI 赚钱

综合评级:🗿 顶级 (CHAD)

QuickChart 是一个产品层面的好项目,生意层面的平庸项目。它完美解决了一个真实问题,API 设计优雅,文档令人感动——但它没有护城河,没有增长引擎,创始人的注意力已经转移。

适合谁用:

  • ✅ 需要快速在邮件/报表里嵌入图表的人——直接调 SaaS,每月 $39 买省心
  • ✅ 有运维能力想省钱的团队——Docker 自部署,白嫖 MIT 协议
  • ✅ 想学 Chart.js + Puppeteer 服务端渲染的开发者——代码写得确实好

不适合谁投:

  • ❌ 想找高增长项目的投资人——这项目已经进入「稳定收租」模式,不是火箭
  • ❌ 想抄一个竞品卖钱的——MIT 协议欢迎你,但市场空间有限
  • ❌ 期待 Ian 全职搞这个的——醒醒,人家在 AI 赛道赚钱呢

最后一句: QuickChart 就像你大学时那个才华横溢但毕业后去搞金融的室友——你知道他本可以更牛逼,但现实是他选择去赚更容易的钱。产品是好产品,但项目已经进入了「遗产模式」——好用,但别指望它改变世界了。

Community Critics

Loading…