仪表盘

生产环境早已装不进任何人的脑子。 Polylane装得下全部:云、代码和遥测,都在一张实时的图里。

加入候补名单
Topology
Search your cloud resources...
Galaxy
checkout-edge Worker
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
hd-prod Hyperdrive
Critical Critical to your architecture.

Change hotspot: 7 changes in the last 7 days

Cloudflare · coreplane · earth · Databases
ingest-events Lambda function
Standard Important to your architecture.

Issue hotspot: 2 issues in the last 7 days

AWS · coreplane-prod · us-east-1 · Compute
payments-db Database
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注册到你机器上的每一个编程智能体中。

Model Context Protocol

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

连接你的云。 Polylane会在任何东西出问题之前摸清它的每一个角落。