使用 Pup 让 AI 代理与你的基础设施成为朋友
你曾经尝试过给 AI 代理(比如 Claude Code 或 Cursor)喂一份云服务的 API 文档,然后让它"直接修复"一个坏掉的服务吗?大多数情况下,代理会在端点、身份验证方法和 JSON 响应结构之间纠缠不清。Datadog Labs 优雅地解决了这个问题:他们发布了 Pup,一款专用 CLI 工具,将这个庞大的监控平台变成你自动化助手的乖巧"宠物"。
我们为什么需要另一个命令行界面
通常,CLI 是为人类编写的。它们有精美的进度条、交互式提示,以及大量我们懒得记住的参数。Pup(puppy 的缩写)设计理念不同。它的主要目标是成为你的代码与 Datadog 收集的所有监控数据之间的桥梁。
最近,我看到越来越多的开发者尝试自动化常规的 SRE 任务。例如,在日志中查找异常或在发布前检查监控状态。通过常规 API 请求做这些事需要很长时间。为每件小事都写包装器很无聊。Pup 处理所有与 Datadog API 通信的"脏活累活",向代理(或你)返回结构清晰的响应。
Pup 如何让代理的生活更轻松
Datadog Labs 的开发者在项目中融入了几个理念,使这个 CLI 成为机器消费的完美选择。
该工具可以自动检测何时由 AI 代理运行。如果环境中有 CLAUDE_CODE、CURSOR_AGENT 或 GITHUB_COPILOT 等变量,Pup 会切换到特殊模式。它输出包含元数据和提示的密集 JSON,而不是人类可读的表格,LLM 能更好地理解这些内容。
另一个重要特点是自动确认破坏性操作。如果在正常模式下运行监控删除命令,CLI 会问:"你确定吗?"。在代理模式下,Pup 理解上下文,除非明确配置,否则不会用不必要的提问阻止自动化。
底层:功能和技术
该项目使用 Rust 编写,确保了速度和没有奇怪的内存错误。但更有趣的是该工具提供的 API 覆盖率。它涵盖了几乎所有 Datadog 功能——从基本指标到复杂的安全设置。
以下只是你用一条命令就能完成的一小部分操作:
- 监控:管理告警、仪表板和 SLO。
- 安全:查找漏洞和审计日志。
- CI/CD:跟踪管道质量并找出"不稳定"测试。
- 成本:分析云支出和部门归属。
有趣的是,Pup 支持 OAuth2 和 PKCE。这意味着你不需要将长期有效的 API 密钥存储在配置文件中,因为代理可能会意外"泄露"它们。授权通过浏览器进行,令牌安全地存储在系统密钥链中(macOS Keychain 或 Windows 凭证管理器)。
实际场景
想象一下,你正在使用 Claude Code 重构一个微服务。现在你可以给它命令:"检查 Datadog 中过去一小时的错误日志,告诉我我的上一次提交是否破坏了什么东西"。
代理只需运行:
pup logs search --query="service:my-app status:error" --from="1h"
然后以它能立即分析的格式获得结果。
另一个很酷的功能是本地运行手册。这些是 YAML 文件,你可以在其中描述一系列操作:检查指标,如果超过正常值——请求运维人员确认,然后在 Datadog 中启动工作流。这将 Pup 变成了一个功能完善的运维自动化引擎,就运行在你的终端中。
值得一试吗
该项目目前处于预览状态。这意味着接口可能会略有变化,你也可能会遇到代码中的错误。然而,Pup 看起来已经是给你的 AI 助手在基础设施中安装"眼睛"的最简单方式。
这肯定会适合的人群:
- 想要加快事故调试速度的 SRE 和 DevOps 工程师。
- 在工作中积极使用 AI 代理的开发者。
- 在 Datadog 之上构建复杂自动化系统的团队。
如果你想在 macOS 上测试这个工具,通过 Homebrew 安装只需几分钟:
brew tap datadoghq/tap
brew install pup
之后,只需运行 pup auth login,你就可以开始了。
在我看来,像这样的工具是与云平台交互的未来。我们正在从在浏览器控制台中点击转向通过代理与系统进行有意义的交流,而 Pup 在这里是一个出色的向导。
相关项目