Install
openclaw skills install @thcjp/namecheap-dns-tool-freeopenclaw skills install @thcjp/namecheap-dns-tool-free本工具为个人开发者和小型网站提供Namecheap DNS管理能力。支持常用DNS记录的创建、查询、更新与删除,通过API简化DNS配置流程。适合个人域名和小型网站的DNS管理。
| 记录类型 | 用途 | 免费版支持 |
|---|---|---|
| A | IPv4地址指向 | 支持 |
| AAAA | IPv6地址指向 | 支持 |
| CNAME | 别名记录 | 支持 |
| MX | 邮件服务器 | 支持 |
| TXT | 文本记录(SPF等) | 支持 |
| NS | 域名服务器 | 支持 |
| SRV | 服务记录 | 支持 |
| CAA | 证书授权 | 不支持 |
| 批量管理 | 多记录操作 | 基础 |
| DNS监控 | 传播监控 | 不支持 |
输入: 用户提供DNS记录管理所需的指令和必要参数。 处理: 解析DNS记录管理的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回DNS记录管理的响应数据,包含状态码、结果和日志。
用input_params参数进行配置。
输入: 用户提供核心功能执行所需的指令和必要参数。 处理: 解析核心功能执行的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回核心功能执行的响应数据,包含状态码、结果和日志。
input_params参数,支持创建/查询/导出操作用config_options参数进行配置。
输入: 用户提供参数配置与调用所需的指令和必要参数。 处理: 解析参数配置与调用的输入参数,完成核心逻辑,返回结构化响应。 输出: 返回参数配置与调用的响应数据,包含状态码、结果和日志。
config_options参数,支持修改/重置/导入操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:Namecheap、记录管理工具、等常用记录操作、面向个人开发者与、小型网站的、管理工具、等常用、记录的创建、更新与删除、Use、when、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求、适用于独立开发者、企业团队和自动化、工作流场景等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。用户输入:"把example.com指向192.168.1.1"
# 添加A记录
python3 (请参考skill目录中的脚本文件) record add \
--domain example.com \
--type A \
--host "@" \
--value 192.168.1.1 \
--ttl 1800
# ...
# 查看记录
python3 (请参考skill目录中的脚本文件) record list --domain example.com
用户输入:"配置域名的MX记录"
# 添加MX记录
python3 (请参考skill目录中的脚本文件) record add \
--domain example.com \
--type MX \
--host "@" \
--value "mail.example.com" \
--priority 10 \
--ttl 3600
用户输入:"把www指向example.com"
# 添加CNAME记录
python3 (请参考skill目录中的脚本文件) record add \
--domain example.com \
--type CNAME \
--host "www" \
--value "example.com" \
--ttl 1800
# 依赖说明
pip install requests
# ...
# 配置API凭证
# 登录Namecheap > Profile > Tools > API Access
# 获取ApiUser, ApiKey, UserName, ClientIP
export NAMECHEAP_API_USER="your_api_user"
export NAMECHEAP_API_KEY="your_api_key"
export NAMECHEAP_USERNAME="your_username"
export NAMECHEAP_CLIENT_IP="your_ip"
# 域名列表
python3 (请参考skill目录中的脚本文件) domains list
# ...
# 记录管理
python3 (请参考skill目录中的脚本文件) record list --domain example.com
python3 (请参考skill目录中的脚本文件) record add --domain example.com --type A --host "@" --value 192.168.1.1
python3 (请参考skill目录中的脚本文件) record update --domain example.com --record-id 123 --value 192.168.1.2
python3 (请参考skill目录中的脚本文件) record delete --domain example.com --record-id 123
# ...
# DNS传播检查
python3 (请参考skill目录中的脚本文件) propagate check --domain example.com --type A
# ...
# 设置默认DNS服务器
python3 (请参考skill目录中的脚本文件) nameservers set --domain example.com --dns "dns1.namecheaphosting.com,dns2.namecheaphosting.com"
dns_config:
api:
base_url: "https://api.namecheap.com/xml.response"
api_user: "${NAMECHEAP_API_USER}"
api_key: "${NAMECHEAP_API_KEY}"
username: "${NAMECHEAP_USERNAME}"
client_ip: "${NAMECHEAP_CLIENT_IP}"
timeout: 30
# ...
defaults:
ttl: 1800 # 默认TTL
record_types: ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SRV"]
# ...
cache:
enabled: true
ttl: 60 # API响应缓存
| 实践要点 | 说明 |
|---|---|
| TTL选择 | 高频变更用短TTL,稳定记录用长TTL |
| 记录冲突 | 同名同类型记录可能冲突 |
| IP白名单 | API需配置ClientIP白名单 |
| SPF记录 | TXT记录配置SPF防止邮件被拒 |
登录Namecheap后台 > Profile > Tools > API Access,启用API访问并获取ApiUser、ApiKey。需将本机公网IP加入白名单。
取决于TTL设置和各DNS服务器的缓存策略。短TTL(300秒)约5-15分钟生效,长TTL(86400秒)可能需要24-48小时全球传播。
免费版支持单域名内的批量记录操作,但不支持跨域名批量管理。如需管理多个域名,建议升级PRO版。
Namecheap API有频率限制(约每小时200次)。建议启用缓存,避免频繁调用。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| Python | 运行时 | 必需 | 系统安装或conda环境 |
| requests | Python库 | 必需 | pip install requests |
| 服务 | 环境变量 | 是否必需 | 用途 |
|---|---|---|---|
| API用户 | NAMECHEAP_API_USER | 必需 | API认证 |
| API密钥 | NAMECHEAP_API_KEY | 必需 | API认证 |
| 用户名 | NAMECHEAP_USERNAME | 必需 | 账户标识 |
| 客户端IP | NAMECHEAP_CLIENT_IP | 必需 | IP白名单验证 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
{
"success": true,
"data": {
"result": "DNS管理入门工具处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "namecheap dns"
}
},
"execution_log": ["解析输入参数", "执行核心处理", "格式化输出结果"],
"error": null
}