superlog
Y Combinator 孵化,AI Agent 自动分析可观测数据并提交 PR 修复故障
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Y Combinator 孵化,AI Agent 自动分析可观测数据并提交 PR 修复故障
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:凌晨 2 点,你的支付服务开始出现大量 400 错误,告警邮件轰炸了整个 on-call 群。但当你揉着眼睛打开监控台时,看到的不是密密麻麻的原始日志,而是一条清晰的 Slack 消息——Superlog 的 AI Agent 已经定位到了根因,并自动提了一个 PR 来修复那个返回 HTTP 400 而不是友好错误信息的 Stripe 凭证回退逻辑。 这就是 Superlog 想要重新定义的**可观测性(Observability)**体验。
传统的可观测性工具——无论是 DataDog、New Relic 还是开源的 Grafana 栈——本质上都在做同一件事:收集数据,然后让人类去解读。但现代分布式系统的数据量早已超出人类能够有效处理的极限。一个中等规模的服务每小时可能产生数十万条日志、数千条链路追踪、数十个指标序列。告警疲劳(Alert Fatigue)已经是行业公认的痛点:真实故障淹没在大量误报和噪音之中,工程师在真正需要关注时反而麻木了。 Superlog 的创始团队(Y Combinator W26 批次)敏锐地捕捉到了这个矛盾。他们的核心洞察是:大语言模型在信息压缩和模式识别上天然优于人类,而 Claude 级别的模型已经足够便宜、足够快。与其让人类在告警后手动排查,不如让 AI Agent 持续监控,在异常发生时直接给出根因分析和修复建议,甚至自动提交 PR。
Superlog 不仅仅是一个 OpenTelemetry 数据存储和查询平台,它的核心差异在于将 AI Agent 深度嵌入可观测性工作流。以下是它的主要功能模块:
Superlog 支持完整的 OpenTelemetry 协议(OTLP),能够接收 traces、logs 和 metrics 三种遥测数据。内置的 OTEL Collector 以 Docker Sidecar 模式运行,自动将数据路由到 ClickHouse 进行时序查询,同时将结构化事件写入 PostgreSQL(通过 Drizzle ORM 管理 schema)。这种双存储架构兼顾了时序查询性能和关系型数据的灵活性。
Superlog 通过**指纹识别(Fingerprinting)**技术将相似的错误日志自动归并为同一个 Incident,而不是让每个错误都触发一条告警。每个 Incident 都有:
这是 Superlog 最具差异化的功能。每个 Incident 都会触发一个 AI Agent,该 Agent 可以:
@superlog 技能,让 AI 在编写代码时实时查询生产环境的可观测数据,真正实现「编程时就能看到线上发生了什么」。基于 OpenTelemetry 的分布式追踪,Superlog 能够展示一个请求从网关到数据库的完整调用链。每个 Span 包含时间、标签、事件和关联的日志。Web UI 中使用了 @git-diff-view 组件,可以直观地展示代码变更对链路延迟的影响。
Superlog 采用了 pnpm workspace + Turbo 的现代 monorepo 架构,所有子项目统一使用 TypeScript,主分支为 main。整体架构分为以下几个核心应用:
| 应用 | 技术栈 | 职责 |
|---|---|---|
@superlog/web | React 19 + Vite + TailwindCSS | 前端可视化界面,包含指标面板、Incident 列表、日志浏览器 |
@superlog/api | Hono + Drizzle ORM | 后端 REST API,集成 OpenAPI 文档(Scalar) |
@superlog/worker | Node.js + pg-boss | 异步任务处理器,负责 Incident 分组、AI 分析、告警评估 |
@superlog/proxy | OTEL Collector | OTLP 代理,接收外部遥测数据并转发 |
@superlog/db | PostgreSQL + Drizzle | 关系型数据存储(Incidents、Users、API Keys 等) |
ClickHouse 专门用于存储时序遥测数据(traces、logs、metrics),通过 @clickhouse/client 进行查询。前端图表使用了 Recharts + ECharts 双图表库,兼顾灵活性和定制能力。 | ||
Worker 中使用了 pg-boss(基于 PostgreSQL 的任务队列),避免了引入额外的消息队列依赖,降低了运维复杂度。整个技术栈非常「接地气」:没有使用 Kubernetes,没有引入复杂的微服务框架,本质上是一个可以通过 docker compose up 快速启动的单机版可观测性平台。 |
Superlog 的社区版(本文分析的对象)提供了完整的 docker-compose.yml,包含:
docker compose up -d
pnpm --filter @superlog/db db:migrate
pnpm dev
Web 服务运行在 http://localhost:5173,API 在 http://localhost:3000。
注意:项目本身没有提供独立的 Dockerfile,如果需要将 Superlog 部署到 Kubernetes 环境,需要自行编写 Dockerfile(基于 Node.js 20+)。此外,数据库迁移需要手动执行 pnpm db:migrate,不算完全零配置。
Superlog Cloud 提供托管版本,有免费额度,也支持自托管授权(需要联系官方)。
Superlog 的另一个重要特性是全功能 MCP(Model Context Protocol)接口。这意味着你不需要在 Superlog 的 Web UI 中手动查找数据,而是可以让 AI 编码助手直接在 IDE 中查询:
@superloglabs/skills 技能包,安装方式为 npx skills add superloglabs/skills --all。安装后,在 Cursor、Windsurf、Cline 等 AI 编码工具中即可直接对话 Superlog。尽管 Superlog 的愿景令人兴奋,但它仍处于早期阶段,以下几点值得关注:
Superlog 代表了可观测性领域的一个新范式转变:从「人找数据」到「数据找人」。传统的可观测性平台解决的是数据存储和查询问题,而 Superlog 解决的是信息过载问题。 从增长指标来看,GitHub 833 颗星对于一个 YC 孵化的早期项目来说表现不错。其背后反映的趋势是:AI Agent 正在从聊天助手扩展到工程自动化领域。Superlog 的 AutoRecovery PR 生成功能,本质上是将 AI Agent 的能力具象化为一个可观测性驱动的自动化工作流。 随着 Claude 4、GPT-5 等更强模型的成本持续下降,这类「AI-native 运维工具」的市场空间将进一步扩大。Superlog 作为这个方向的早期探索者,值得持续关注。