ScanWarp
你的AI编写你的代码。ScanWarp使其保持运行。
AI构建的应用程序的开源监控。像Datadog一样,但你的AI编码工具可以读取诊断并直接解决问题——不需要DevOps知识。

飞轮效应
┌─────────────────────────────┐
│ │
▼ │
Build ──→ Monitor ──→ Diagnose ──→ Fix- 构建 --您附带Cursor、Claude Code或任何AI编码工具
- 监视器 --ScanWarp监视健康、跟踪、支付、CI和提供商中断
- 诊断 --Claude AI解释故障原因并生成修复提示
- 修复 --你的AI工具通过MCP读取修复并应用它。ScanWarp验证它是否成功着陆。
循环持续运行。每个修复都受到监控。每一个新问题都被诊断出来。
开始使用
npx scanwarp dev # full flywheel locally while you build
npx scanwarp init # same flywheel in production自动检测您的框架(Next.js、Remix、SvelteKit、Astro、Vue、Nuxt)、托管(Vercel、Railway、Render)和服务(Stripe、Supabase、GitHub)。通过MCP开箱即用Cursor和Claude Code。
部署
获取托管的ScanWarp服务器,然后运行 npx scanwarp init --server 连接您的应用程序。
 
或自主机:
npx scanwarp server # SQLite, zero deps
docker compose up -d # Docker + Postgres运作原理
监视器
| 来源 | 它捕捉到了什么 |
|---|---|
| 健康检查 | 每60秒进行一次HTTP监控,跟踪响应时间 |
| 维塞尔 | 原木排水导致的生产错误 |
| 条纹 | 付款失败、结账过期、订阅取消 |
| GitHub | CI工作流失败、Dependabot警报、代码扫描警报 |
| 速贝 | 数据库运行状况、连接池利用率 |
| 开放遥测 | 请求跟踪——HTTP、数据库、Redis——零配置 |
| 提供商状态 | Vercel、Stripe、Supabase、GitHub、Cloudflare、Railway、AWS、重新发送 |
在开发期间, scanwarp dev 还可以检测N+1查询、慢速查询、模式漂移,并在文件保存时重新分析路由。
诊断
当ScanWarp检测到异常时——一种新的错误类型、流量激增、慢速跟踪——Claude AI会分析整个上下文并产生:
- 根本原因 用简单的英语——没有行话,没有原始的堆栈痕迹
- 瓶颈ID 来自OpenTetry跟踪——失败或速度较慢的确切跨度
- 供应商意识 --“Vercel宕机了,这不是你的代码”
- 修复提示 AI编码工具——特定文件、特定更改、如何测试
修复
您的AI编码工具通过MCP连接到ScanWarp:
| MCP工具 | 它提供了什么 |
|---|---|
get_app_status | 总体健康状况:监测人员、事件、提供者 |
get_incidents | 具有AI诊断的公开事件 |
get_fix_prompt | 准备执行修复提示 |
get_trace_detail | 具有跨度级别详细信息的完整请求瀑布图 |
get_recent_traces | 最新OpenTetry跟踪 |
get_incident_detail | 根本原因、时间表和修复 |
get_events | 最近使用筛选的事件 |
resolve_incident | Mark事件已解决——结束循环 |
你的AI工具可以在不离开编辑器的情况下看到问题所在以及如何修复它。Discord和Slack通知让团队保持联系。
仪表盘
内置复古像素艺术设计的web UI:
| 页面 | 显示内容 |
|---|---|
| 概述 | 运行状况摘要、最近的错误、事件时间线 |
| 堆栈 | 每个连接服务的集成状态 |
| 健康 | 带有响应时间图的正常运行时间监视器 |
| 活动 | 实时事件流(SSE供电) |
| 问题 | AI通过修复提示诊断事件 |
| 痕迹 | OpenTetry瀑布图,突出显示瓶颈 |
| 地图 | 交互式服务依赖关系图 |
| 警报 | 警报规则管理和射击历史 |
| 日志 | 结构化日志搜索(ClickHouse支持) |
| 设置 | 通知通道、API密钥、项目配置 |
| 状态 | 带有正常运行时间栏和事件时间表的公共状态页面 |
通知
当事情发生变化时,会收到警报——包括人工智能诊断。
| 频道 | 设置 |
|---|---|
| Discord 的中文翻译是“不和谐”或“纷争”。 | 将您的webhook URL粘贴到设置中 |
| Slack | 将您的webhook URL粘贴到设置中 |
| 电子邮件 | 设置 RESEND_API_KEY 并添加收件人电子邮件 |
智能交付:关键事件立即触发,警告延迟5分钟(如果自动解决,则取消),信息级事件被分为15分钟的摘要。
安全
- 安全标头 --CSP、X-Frame-Options、HSTS、XSS保护、权限策略
- 速率限制 --每个IP需要120次/分钟
X-RateLimit-*标头 - 输入验证 -每个API端点上的Zod模式
- Webhook验证 --HMAC-SHA256用于Stripe和GitHub
- 跨域资源共享 --通过以下方式配置源白名单
CORS_ORIGINenv 是 - 认证 --JWT通过Supabase(云模式)或无身份验证(自托管)
参考
CLI:
| 命令 | 描述 |
|---|---|
scanwarp dev | 在本地运行完整的监控飞轮 |
scanwarp init | 将生产应用程序连接到ScanWarp服务器 |
scanwarp server | 使用SQLite自托管服务器 |
scanwarp status | 检查监控器运行状况和活动事件 |
scanwarp logs | 流事件(--follow, --type, --source) |
scanwarp connect | 交互式集成连接器 |
scanwarp deploy-check | 部署前/部署后健康验证 |
scanwarp incidents | 查看和管理事件 |
包装:
| 包装 | 描述 |
|---|---|
packages/cli | CLI工具(9个命令) |
packages/core | AI诊断器、事件相关器、共享类型 |
packages/instrument | 零配置OpenTetry自动检测 |
packages/browser | 浏览器错误监控SDK |
packages/mcp | 用于Cursor和Claude代码的MCP服务器 |
apps/server | Fastify服务器:API、仪表板、监控引擎 |
环境变量:
| 变量 | 描述 |
|---|---|
ANTHROPIC_API_KEY | 启用AI诊断 |
DATABASE_TYPE | sqlite (默认)或 postgres |
PORT | 服务器端口(默认 3000) |
STRIPE_WEBHOOK_SECRET | 条纹webhook验证 |
GITHUB_WEBHOOK_SECRET | GitHub webhook验证 |
SUPABASE_PROJECT_REF | Supabase项目参考 |
SUPABASE_URL | 启用云模式(身份验证+计费) |
RESEND_API_KEY | 通过重新发送发送电子邮件通知 |
CORS_ORIGIN | 允许的来源(逗号分隔,unset=允许所有) |
CLICKHOUSE_URL | 可选分析后端 |
SCANWARP_SERVER | 检测服务器URL |
SCANWARP_PROJECT_ID | 项目标识符 |
Docker:
# Self-hosted with SQLite (zero external deps)
docker compose -f docker-compose.selfhost.yml up -d
# Production with Postgres
docker compose up -d发展:
pnpm install
pnpm build
pnpm test # 60+ tests (DB integration + HTTP API)
pnpm dev # Watch mode文档
社区
许可证
麻省理工学院
