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


一句话人话: 把 Chart.js 图表在服务端渲染成图片,扔给你嵌入邮件、报表、公众号——浏览器里能跑的图表,它给你截好图送过来。
创始人: Ian Webster,硅谷老炮,同时也搞了 promptfoo(那个 LLM 评测框架,比你老板的 KPI 表格还火)。一个人撑两个开源项目,bus factor = 1 中的 1。
数据快照:
| 指标 | 数值 | 段位评估 |
|---|---|---|
| ⭐ GitHub Stars | ~7,500 | 中产偏上,但增速已躺平 |
| 🍴 Forks | ~800 | 说明真有人自部署 |
| 📜 License | MIT | 双刃剑——你可以白嫖,竞品也可以 |
| 📦 npm 周下载 | 数万级 | 稳定但没爆发 |
| 🗓️ 最近活跃 | 2025 年中 | 维护频率≈"还活着,但别催" |
| 💰 商业模式 | Freemium + SaaS + 自部署 | 该有的都有 |
雷达图(自己用自己 API 画的,meta 到离谱):
评分: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 都写得像产品经理附体。
同类对比
| 维度 | QuickChart | Image-Charts | 自建 |
|---|---|---|---|
| 上手速度 | ⚡⚡⚡⚡⚡ | ⚡⚡⚡⚡ | ⚡⚡ |
| 文档质量 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 你自己写 |
| API 设计 | 优雅 | 略臃肿 | 你自己定 |
| 图表类型 | Chart.js 全部 | Chart.js + Google | 取决于你 |
🎯 毒舌结论: 产品手感好到让人怀疑 Ian 是不是偷偷雇了设计师。但手感再好,也掩盖不了「这玩意儿本质上是个浏览器截图服务」的事实。
评分:3/5 — 有量,没势。增长曲线平得像心电图。
绝对数

- 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/5 | 7,500 stars 够体面,但增长曲线比心电图还平 |
| 🧬 进化潜力 | 2/5 | Bus factor = 1,而那个 1 正在忙着搞 AI 赚钱 |
综合评级:🗿 顶级 (CHAD)
QuickChart 是一个产品层面的好项目,生意层面的平庸项目。它完美解决了一个真实问题,API 设计优雅,文档令人感动——但它没有护城河,没有增长引擎,创始人的注意力已经转移。
适合谁用:
- ✅ 需要快速在邮件/报表里嵌入图表的人——直接调 SaaS,每月 $39 买省心
- ✅ 有运维能力想省钱的团队——Docker 自部署,白嫖 MIT 协议
- ✅ 想学 Chart.js + Puppeteer 服务端渲染的开发者——代码写得确实好
不适合谁投:
- ❌ 想找高增长项目的投资人——这项目已经进入「稳定收租」模式,不是火箭
- ❌ 想抄一个竞品卖钱的——MIT 协议欢迎你,但市场空间有限
- ❌ 期待 Ian 全职搞这个的——醒醒,人家在 AI 赛道赚钱呢
最后一句: QuickChart 就像你大学时那个才华横溢但毕业后去搞金融的室友——你知道他本可以更牛逼,但现实是他选择去赚更容易的钱。产品是好产品,但项目已经进入了「遗产模式」——好用,但别指望它改变世界了。
Community Critics