Files
DNSPod-Skill/SKILL.md
OpenClaw 7abea390ad Initial commit: Tencent DNSPod DNS deployment skill
- Support for single record deployment
- Batch deployment from JSON config
- Service quick deployment (Web/API/CDN)
- .env file support for secure credentials
- Complete documentation
2026-03-01 11:44:05 +08:00

5.3 KiB

name, description
name description
tencent-dnspod 腾讯云DNSPod域名快速部署工具。用于自动化部署DNS记录、批量配置域名解析、快速上线服务。 当用户需要: (1) 快速添加DNS记录部署新服务, (2) 批量配置A/CNAME/MX等记录, (3) 域名解析自动化管理, (4) DevOps域名部署流程时触发。

腾讯云DNSPod域名快速部署

快速开始

1. 配置认证

获取API密钥: https://console.cloud.tencent.com/cam/capi

方式1: 使用 .env 文件(推荐,更安全):

cp .env.example .env
# 编辑 .env 文件,填入你的密钥

方式2: 设置环境变量:

export TENCENT_SECRET_ID="你的SecretId"
export TENCENT_SECRET_KEY="你的SecretKey"

2. 核心命令

添加单条记录(最常用):

python scripts/deploy_record.py \
  --domain example.com \
  --subdomain www \
  --type A \
  --value 1.2.3.4 \
  --line "默认"

批量部署(从配置文件):

python scripts/batch_deploy.py \
  --domain example.com \
  --config dns-config.json

快速配置服务(常用组合):

python scripts/deploy_service.py \
  --domain example.com \
  --service web \
  --ip 1.2.3.4

删除记录:

python scripts/delete_record.py \
  --domain example.com \
  --subdomain www

域名快速部署流程

场景1: 部署新Web服务

# 一键部署www和主域名
python scripts/deploy_service.py \
  --domain example.com \
  --service web \
  --ip 1.2.3.4

# 自动创建:
# - example.com (A记录)
# - www.example.com (A记录)
# - *.example.com (泛域名A记录,可选)

场景2: 部署API服务

# 部署api子域名
python scripts/deploy_record.py \
  --domain example.com \
  --subdomain api \
  --type A \
  --value 1.2.3.4

场景3: 配置邮件服务

# 一键配置MX记录
python scripts/deploy_mx.py \
  --domain example.com \
  --mx-server mx.example.com \
  --priority 10

场景4: CDN加速配置

# 添加CNAME指向CDN
python scripts/deploy_record.py \
  --domain example.com \
  --subdomain cdn \
  --type CNAME \
  --value cdn.example.com.cdn.dnsv1.com

场景5: 批量部署多个环境

# 从配置文件批量创建
python scripts/batch_deploy.py \
  --domain example.com \
  --config deployments/dev.json

# 配置文件示例见下文

记录类型说明

类型 用途 示例
A 指向IPv4地址 www → 1.2.3.4
CNAME 指向域名别名 www → cdn.example.com
MX 邮件服务器 @ → mx.example.com
TXT 文本记录(验证/SPF) @ → "v=spf1 include:_spf.example.com ~all"
AAAA 指向IPv6地址 www → 2001:db8::1

批量部署配置文件格式

dns-config.json:

{
  "records": [
    {
      "subdomain": "@",
      "type": "A",
      "value": "1.2.3.4",
      "line": "默认"
    },
    {
      "subdomain": "www",
      "type": "A",
      "value": "1.2.3.4",
      "line": "默认"
    },
    {
      "subdomain": "api",
      "type": "A",
      "value": "1.2.3.5",
      "line": "电信"
    },
    {
      "subdomain": "cdn",
      "type": "CNAME",
      "value": "cdn.example.com.cdn.dnsv1.com",
      "line": "默认"
    }
  ]
}

使用批量配置:

python scripts/batch_deploy.py \
  --domain example.com \
  --config dns-config.json

线路类型说明

常用线路值:

  • 默认 - 默认线路
  • 电信 - 电信用户
  • 联通 - 联通用户
  • 移动 - 移动用户
  • 境外 - 海外用户
  • 搜索引擎 - 爬虫线路

查看完整线路列表:

python scripts/list_lines.py --domain example.com

常见问题

1. 记录冲突

如果记录已存在,脚本会提示是否更新。使用 --force 强制更新。

2. 批量操作失败

批量操作会继续执行后续记录,最后汇总结果。检查输出中的 [FAIL] 标记。

3. API频率限制

默认限制: 20次/秒。大批量部署时会自动限速。

4. 域名未添加

如果域名未添加到DNSPod,使用 --create-domain 自动创建:

python scripts/deploy_record.py \
  --domain example.com \
  --create-domain \
  --subdomain www \
  --type A \
  --value 1.2.3.4

API错误处理

详细错误说明见 common-errors.md

高级功能

创建快照(部署前备份)

python/scripts/snapshot.py \
  --domain example.com \
  --action create \
  --name "部署前备份"

回滚快照

python scripts/snapshot.py \
  --domain example.com \
  --action rollback \
  --snapshot-id <snapshot-id>

查看部署历史

python scripts/list_records.py \
  --domain example.com \
  --show-changes

最佳实践

  1. 部署前备份 - 重大部署前先创建快照
  2. 分环境管理 - 使用不同子域名(dev/stage/prod)
  3. TTL设置 - 生产环境600s,测试环境60s
  4. 批量测试 - 先在测试域名验证配置,再批量部署
  5. 记录备注 - 添加 --remark 标记记录用途

示例: 完整部署流程

# 1. 部署前备份
python scripts/snapshot.py --domain example.com --action create --name "部署前"

# 2. 批量部署
python scripts/batch_deploy.py \
  --domain example.com \
  --config dns-config.json

# 3. 验证部署
python scripts/list_records.py --domain example.com

# 4. 测试解析
dig www.example.com