生产环境早已装不进任何人的脑子。 Polylane装得下全部:云、代码和遥测,都在一张实时的图里。
加入候补名单 Topology Share
Search your cloud resources...
Filter Galaxy Flow Table
Critical Critical to your architecture.
Issue hotspot: 4 issues in the last 7 days
Change hotspot: 12 changes in the last 7 days
Cloudflare · coreplane · earth · Compute
Critical Critical to your architecture.
Change hotspot: 7 changes in the last 7 days
Cloudflare · coreplane · earth · Databases
Standard Important to your architecture.
Issue hotspot: 2 issues in the last 7 days
AWS · coreplane-prod · us-east-1 · Compute
Critical Critical to your architecture.
Issue hotspot: 1 issue in the last 7 days
Change hotspot: 3 changes in the last 7 days
PlanetScale · coreplane · us-east · Databases
智能体的水平取决于它的上下文。 Polylane是这样学习你的上下文的。
-
你的整个云,只读
AWS通过只读角色接入,大多数服务商通过API令牌接入。每个资源都会加入这张图,并自行保持最新。
-
跨服务商关联
主机名、DNS记录和IP把各个云连接起来:一条指向Render服务的Cloudflare CNAME。这是真实的请求路径,不是两年前画的架构图。
-
重要的东西,盯得更紧
每个资源都有一个层级,从关键到最低,每天根据流量和依赖它的东西计算得出。任何一项都可以手动覆盖。
-
它会把事情记下来
每个资源都维护一份随系统演变而自我重写的wiki,智能体还会留下笔记:七月的调查能从六月的调查中学习。
CLI或MCP,由你选择。 你的编程智能体想怎么连就怎么连。
CLI负责接线。
一次安装即可连接你的技术栈,并把Polylane注册到你机器上的每一个编程智能体中。
MCP负责供给。
你的云、遥测、部署和代码都在一个MCP服务器之后。默认读取;写入受默认拒绝策略保护。
就在你已经在用的工具里。 每个智能体读取同一张图。
Claude Code
Cursor
GitHub Copilot
Codex
Gemini CLI
VS Code
Zed
OpenCode
Code mode。 一次往返,只要答案。
不必逐个调用工具,你的智能体针对MCP的tools命名空间编写TypeScript,由服务器运行。中间结果从不进入上下文窗口;只有答案会返回。
polylane · runCode
// Which deploy slowed checkout-edge? const deploys = await tools.deployHistory({ service: "checkout-edge", hours: 24 }); const { points } = await tools.queryMetrics({ service: "checkout-edge", metric: "latency.p99", hours: 24, }); const median = (xs) => xs.sort((a, b) => a - b)[xs.length >> 1] ?? 0; const p99 = (t, side) => median(points.filter((p) => (side < 0 ? p.t < t : p.t > t)).map((p) => p.v)); // Score every deploy by the p99 shift across its timestamp. const [worst] = deploys .map((d) => ({ ...d, shift: p99(d.at, 1) / p99(d.at, -1) })) .sort((a, b) => b.shift - a.shift); // Pull the error logs right after the suspect deploy. const errors = await tools.queryLogs({ service: "checkout-edge", level: "error", after: worst.at, limit: 5, }); // Only this returns; the series and logs stay in the sandbox. return { deploy: worst.sha, // 9f3c2a1 p99Shift: worst.shift, // 4.8 topError: errors[0]?.message, // "Hyperdrive pool exhausted" };
✓ one answer back; twenty round trips saved