关于 pp-cf-domain
pp-cf-domain 是通过 Printing Press CLI 操作 Cloudflare Registrar 域名的技能,面向执行域名查询与注册的 Agent。它提供实时可用性和价格检查,并支持机器可读的命令输出。
主要功能
- 01搜索域名建议与可用性
- 02实时检查域名价格
- 03通过 Cloudflare Registrar 注册
- 04命令查询与 Agent 模式
适用场景
- 01查找可注册的域名
- 02注册前核对实时价格
- 03将命令结果交给 Agent 处理
MCP 相关
该技能说明了安装 cf-domain-pp-mcp 并将其注册为 MCP 服务的方法。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-cf-domain安装后在 Claude Code 中输入/pp-cf-domain确认已加载。
详细介绍
Cf Domain — Printing Press 命令行工具
前提条件:安装命令行工具
此技能使用 cf-domain-pp-cli 二进制文件。**调用此技能中的任何命令之前,必须确认已安装该命令行工具。**如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install cf-domain --cli-only - 验证:
cf-domain-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(例如没有 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/cloud/cf-domain/cmd/cf-domain-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,不要继续执行技能命令。
命令参考
registrar — 管理注册商
cf-domain-pp-cli registrar domain-check— 实时检查域名可用性和价格。必须在注册前立即运行。cf-domain-pp-cli registrar domain-register— 使用账户默认的注册人和付款设置,通过 Cloudflare Registrar 注册域名。危险:调用方...cf-domain-pp-cli registrar domain-search— 在 Cloudflare Registrar 中搜索域名建议和可用性提示。使用 domain-check 获取实时最终价格...
查找合适的命令
如果你知道要做什么,但不知道该用哪个命令,可以直接询问命令行工具:
cf-domain-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此命令行工具精选的功能索引中找出最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有可信的匹配项——请改用 --help,或使用范围更窄的查询。
身份验证设置
运行 cf-domain-pp-cli auth setup 获取令牌的网址和操作步骤(添加 --launch 可打开该网址)。然后存储令牌:
cf-domain-pp-cli auth set-token YOUR_TOKEN_HERE
或者将 CLOUDFLARE_REGISTRAR_DOMAINS_BEARER_AUTH 设置为环境变量。
运行 cf-domain-pp-cli doctor 验证设置。
Agent 模式
为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传递 — JSON 输出到标准输出,错误输出到标准错误
-
可筛选 —
--select保留字段的子集。点分路径可深入嵌套结构;数组会逐元素遍历。对于输出冗长的 API,这对控制上下文大小至关重要:cf-domain-pp-cli registrar domain-check mock-value --domain-name example-resource --agent --select id,name,status -
可预览 —
--dry-run显示请求,但不会发送 -
适用于离线环境 — 有本地 SQLite 存储时,同步/搜索命令可以使用该存储
-
非交互式 — 永不提示,每项输入都通过标志指定
-
显式重试 — 仅当已存在的创建操作应视为成功时,才使用
--idempotent
响应封装
从本地存储或 API 读取数据的命令会将输出封装在一个来源信息结构中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
从 .results 解析数据,并通过 .meta.source 确认数据来自实时来源还是本地来源。仅当标准输出连接到终端时,才会将便于阅读的 N results (live) 摘要打印到标准错误;通过管道接收输出的客户端/Agent 将从标准输出获得纯 JSON。
Agent 反馈
当你(或 Agent)发现此命令行工具有异常之处时,请记录下来:
cf-domain-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
cf-domain-pp-cli feedback --stdin < notes.txt
cf-domain-pp-cli feedback list --json --limit 10
条目会存储在本地的 ~/.cf-domain-pp-cli/feedback.jsonl。除非设置了 CF_DOMAIN_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 CF_DOMAIN_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认行为仅在本地保存。
记录令你感到意外的地方,而不是提交错误报告。简短、具体、一行即可:这才是能不断积累价值的内容。
输出交付
每条命令都接受 --deliver <sink>。除了(或取代)stdout,输出还会发送到指定的目标,因此 Agent 无需手动通过管道传输即可路由命令结果。支持三种目标:
| 目标 | 效果 |
|---|---|
stdout | 默认;仅写入 stdout |
file:<path> | 将输出原子写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到该 URL(当使用 --compact 时,格式为 application/json 或 application/x-ndjson) |
不支持的协议会被拒绝,并返回一条指出受支持协议集的结构化错误。Webhook 请求失败时会返回非零状态码,并在 stderr 上记录 URL + HTTP 状态码。
命名配置
配置是已保存的一组标志值,可在多次调用中重复使用。若定时运行的 Agent 每次都以相同配置调用同一条命令,可使用配置,例如 HeyGen 的“Beacon”模式。
cf-domain-pp-cli profile save briefing --json
cf-domain-pp-cli --profile briefing registrar domain-check mock-value --domain-name example-resource
cf-domain-pp-cli profile list --json
cf-domain-pp-cli profile show briefing
cf-domain-pp-cli profile delete briefing --yes
显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,供执行运行时自省的 Agent 发现。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求频率受限(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示cf-domain-pp-cli --help输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上方的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并附带
--agent)
安装 MCP 服务
从此 CLI 已发布的公共库条目或预构建版本安装 MCP 二进制文件,然后注册它:
claude mcp add cf-domain-pp-mcp -- cf-domain-pp-mcp
验证:claude mcp list
直接使用
- 检查是否已安装:
which cf-domain-pp-cli如果未找到,请提供安装选项(参见此技能开头的先决条件)。 - 根据上方的独特功能和命令参考,将用户查询匹配到最合适的命令。
- 使用
--agent标志执行:cf-domain-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,请查看子命令帮助:
cf-domain-pp-cli <command> --help。