AWS、GCP、Kubernetes、Cloudflare、Tencent Cloud,每个平台一套 CLI、一套认证、一套参数风格。想查 Lambda 日志要翻 AWS 文档;想查 GKE Pod 状态要翻 kubectl 文档。
十年前学云管,意味着学命令。五年前 Terraform 和 Pulumi 让你写声明式,但你还是得学一门 DSL。而现在你只需负责想清楚要做什么,其他工作交给 LLM。
Clanker 是用于管理云基础设施的 CLI Agent,支持 AWS、GCP、Azure、Kubernetes、Cloudflare、DigitalOcean、Fly.io、Hetzner、Tencent Cloud、Verda Cloud、Supabase 等云平台。它能让你不需要记几十套 CLI 命令,一句"我们 dev 环境有多少台 EC2"就能给你答案,甚至能帮你能生成执行计划、一键 apply。
上手体验
安装很简单,使用 x-cmd 一行命令就能搞定:
bash
x install clanker
装好之后配个 config:
bash
clanker config init
装上你要用的云平台 CLI(AWS CLI、gcloud、az、kubectl、flyctl 等),认证好。然后开始用人话操作云:
bash
clanker ask --aws "dev 环境现在有哪些 EC2 在跑?"
clanker ask --aws --maker "创建一个 t3.micro EC2,开 22 端口"
clanker k8s ask "为什么我的 nginx Pod 一直在重启?"
三步流水线:路由、执行、综合
Clanker 内部有一套三阶段管线:路由 (LLM 判断问题涉及哪个云平台、需要调用哪些工具)→ 执行 (并行调用 aws、kubectl、gcloud、doctl、flyctl 等 CLI)→ 综合(拼成 markdown 格式的回答)。
你问:"dev 环境有多少 Lambda,最近哪个报过错,错误信息是什么? " Clanker 会判断:涉及 AWS Lambda → 调用 aws lambda list-functions + aws logs filter-log-events → 并行执行 → 把结果拼成有意义的回答。
你不用翻文档查 list-functions 后面跟什么 flag。这是两种范式的根本差异------一种要求你懂工具,一种要求你懂意图。
不只是查,还能"做"------但执行权在你手上
Clanker 最有价值的功能是 Maker 模式------不只是查询,还能生成基础设施变更计划。
你输入:
bash
clanker ask --aws --maker "创建一个小的 EC2 实例和一个 Postgres RDS"
它会输出一个 JSON 执行计划,列出要做的具体操作。你 review 之后,用 --apply 执行。
这个流程的设计克制但关键:**Agent 只生成计划,执行权在你手上。**涉及删除操作时,还需要额外加 --destroyer 标志。如果遇到幂等错误(如安全组规则已存在),它自动视为成功而非报错;如果遇到网络/CIDR/子网冲突,它尝试重写并重试------这些容错细节意味着跑一个 Maker 计划大概率能跑通。
这对于原型搭建和开发环境特别实用。你有个新点子想快速搭一套基础设施测试------以前你纠结"花 20 分钟写 Terraform 值不值",现在一句人话就能搞出来。
一个二进制,覆盖 10+ 云平台
Clanker 最让人意外的是覆盖面。除了 AWS,它还支持:GCP (查资源、GKE)、Azure (资源图、AI Search)、Kubernetes (独立模块,可查 Pod 状态、节点指标、日志,甚至能创建集群)、Cloudflare 、DigitalOcean 、Hetzner 、Fly.io 、Tencent Cloud 、Verda Cloud 、Supabase 等。
而且每个平台既能"用自然语言问",也能"用静态命令直接查" 。比如 clanker aws list resources 直接列出所有 AWS 资源,不走 LLM,零延迟、零幻觉风险。
Kubernetes:"那堆 Pod 到底怎么回事"
clanker k8s ask 实现了完整的自然语言 K8s 查询:**"哪些 Pod 在用最多内存?"→ 自动执行 kubectl top pods --all-namespaces 按内存排序。"为什么 nginx Pod 一直 CrashLoopBackOff?"**→ 自动查 Pod 状态、最近日志、事件,综合分析原因。
更重要的是,对话历史是按集群保存的 。"先看看 nginx Deployment"→ 接着"那它的日志呢"------第二句不需要重复指定集群、命名空间。结合 Maker 模式,你甚至能在 Kubernetes 上用自然语言生成部署计划并 apply。这本质上是把"我脑子里想做什么"和"我需要敲什么命令"之间的翻译成本直接降到了零。
安全:把权限交给 Agent 是危险的,clanker 没犯这个错
Clanker 没有试图把安全责任甩给 LLM。它继承了你本地环境的 AWS profile、kubeconfig、gcloud 凭据------你有的权限它才有,你没的权限它也动不了 。生成式操作需要人工审批 plan 才能 apply,删除操作需要显式 --destroyer 标志。
这套设计回答了一个绕不开的问题:"如果 LLM 误判了意图,是不是就把我的生产环境删了?" 答案是否定的------销毁操作必须显式触发,而且必须由你 review 过 plan 之后才执行。LLM 负责"理解意图"和"翻译命令",人负责"审核后果"和"拍板执行"。
值得提一句,Clanker 配套还提供了 MCP 服务器(clanker mcp),让 Claude Code/Cursor 等 Agent 能直接通过 MCP 调用 Clanker 的能力。Clanker 想成为"AI Agent 时代的云管基础设施层"。
你日常管理几个云平台?最想"用人话问"的操作是什么?评论区聊聊。