PrismaLens 在临时代码副本中调用 Claude Code、Codex 或 OpenCode,结合源码和应用指标分析故障。它输出按可能性排序、附带证据的原因报告,并保留执行过程供人工复核。
每次我的某个应用宕机,都会重复同样的过程:我先扫一眼监控面板,发现出了问题,然后花上一个小时钻进代码里,弄清楚原因。
后来我意识到,排查代码的时候,我本来就开着 Claude Code。于是我开始想:能不能让 Agent 在我坐到电脑前之前,就先从代码入手排查?
这个业余项目后来成了 PrismaLens。我做它主要是觉得有趣,也想看看出故障时,coding agent 独自能查到什么程度。这周我发布了 0.5.1 版本,下面聊聊它能做什么,以及开发过程中我学到了什么。
当监控提示出了问题,或者你自己描述了问题时,PrismaLens 会:
Agent 做过什么、为什么得出这样的判断,都会和问题一起保存下来,方便你核查它的工作。
从代码入手。大多数用于故障排查的 AI 工具都从日志和监控面板开始。它们能告诉你哪里出了问题,而代码通常能告诉你为什么。
它从不直接调用 AI 模型,而是使用你已经拥有的 Agent,以及该 Agent 自己的登录凭据。所以,你不需要在我这里注册账号、订阅服务,也不会收到我收取的 AI 费用账单。
不提供置信度百分比。“可能性为 87%”听起来很精确,实际上却没什么意义。报告只对原因排序,并展示每个原因对应的证据,让你自己判断。
除非你明确允许,否则它只查看,不动手。当它自动启动时,Agent 可以读取,但不能修改任何东西。当你手动启动时,可以选择允许它做到什么程度;任何有风险的操作,都会等待你批准或拒绝。
一条命令启动,无须配置。它运行在你自己的电脑上:
npm install -g prismalens
pl up
不需要 Docker,也不需要配置数据库。它会在浏览器中打开 localhost:6473。
Agent 很擅长在紧迫情况下阅读代码,却不擅长意识到自己不知道答案。事实证明,一份写着“我没找到原因,以下是我检查过的内容”的报告,比一个信心满满的错误答案更有用,所以我把“找不到原因”也设为了允许的结果。
权限才是难点。最初几个版本里,我在 Agent 之上叠加了太多安全限制,结果它几乎什么也做不了。在 0.5.1 中,我重新采用 Agent 自身的权限模式,并把它的请求展示给你。这样更简单,也更容易让人信任。
大部分代码都是借助 AI coding agent 写的。每次发布前,我都会亲自审查和测试,像新用户一样走一遍使用流程。这样检查出来的问题,远比测试发现的多。
如果你暂时不想让它接触自己的应用,仓库里有一个小型演示应用。你可以故意把它弄坏,然后观察 PrismaLens 如何调查。
项目还处于早期阶段(0.x,很多东西还会变),桌面应用是未经签名的预览版,目前对接的是 Prometheus 风格的监控系统。它能做到什么程度,取决于你的 Agent 的能力,以及它能访问哪些信息。
👉 github.com/prismalens/prismalens
如果下次遇到故障时你试用了它,我很想听听它查对了什么,又漏掉了什么。
如需进一步处理,你可以考虑屏蔽此人,或举报其滥用行为,也可以同时采取这两项措施。