阿里云域名管理技能
通过阿里云 OpenAPI 管理域名资产,支持域名查询、续费、转移、注册、信息修改等操作。
🆕 行业咨询能力(RAG 检索)
功能说明
当用户询问域名注册、交易、建站、备案等相关问题时,必须使用 RAG 能力检索本地知识库 knowledge/aliyun-domain-help 中的阿里云帮助文档,基于文档内容回答用户。
触发规则
当用户问题涉及以下任一主题时,必须触发 RAG 检索:
| 主题分类 | 触发词/场景 | 检索关键词示例 |
|---|---|---|
| 🆕 域名注册 | 如何注册域名、注册流程、注册需要什么、注册条件 | 域名注册 注册流程 实名认证 |
| 💰 域名交易 | 域名买卖、一口价、域名 push、域名回购、交易流程 | 域名交易 购买域名 一口价 push |
| 🏗️ 建站 | 如何建站、网站搭建、建站流程、域名绑定 | 建站 网站搭建 域名绑定 解析 |
| 📋 备案 | ICP 备案、备案流程、备案材料、备案条件、网站备案 | 备案 ICP 网站备案 备案材料 |
| 🔒 域名安全 | 域名锁定、转移锁、更新锁、安全保护 | 锁定 安全锁 禁止转移 |
| 📝 域名管理 | 域名过户、信息修改、DNS 修改、域名转移 | 过户 信息修改 DNS 转移 |
| 💸 续费赎回 | 域名续费、过期赎回、续费价格、赎回流程 | 续费 赎回 过期域名 |
| ❓ 常见问题 | 域名问题、注册失败、审核不通过、错误提示 | FAQ 常见问题 失败 错误 |
RAG 检索流程
- 识别用户意图:从用户问题中提取关键词和主题
- 调用 RAG 检索:使用
domain_knowledge_rag.py检索本地知识库 - 整合文档内容:基于检索到的帮助文档片段,整理答案
- 标注来源:回答中必须标注引用的文档名称和分类
- 提供链接:如有原文链接,一并提供给用户
回答规范
- 先检索后回答:必须先调用 RAG 检索知识库,不能凭记忆作答
- 标注文档来源:回答中明确说明引用的文档名称,如"根据《域名注册快速入门》文档..."
- 保持原文准确性:关键步骤、条件、要求等内容必须与原文一致
- 分段引用:多个文档内容要分段标注,避免混淆
- 时效性说明:提醒用户文档更新时间,建议以阿里云官网最新版本为准
- 超出知识库范围:如未检索到相关文档,如实告知并提供官网链接
示例对话
域名注册咨询:
用户:我想注册一个域名,需要什么流程?
AI:📚 根据阿里云帮助文档《域名注册快速入门》,域名注册流程如下:
1. **查询域名可用性**
- 访问阿里云域名查询页面
- 输入 desired domain name
- 检查域名是否可注册
2. **实名认证**
- 个人用户:上传身份证正反面
- 企业用户:上传营业执照
- 等待审核(通常 1-2 个工作日)
3. **提交注册订单**
- 选择注册年限(1-10 年)
- 填写域名持有者信息
- 完成支付
4. **域名管理**
- 设置 DNS 服务器
- 配置域名解析
- 开启安全保护(转移锁等)
📄 完整文档:knowledge/aliyun-domain-help/02-快速入门/域名注册快速入门.md
🔗 原文链接:https://help.aliyun.com/zh/dws/getting-started/domain-name-quick-start
建站咨询:
用户:注册域名后如何建站?
AI:📚 根据阿里云帮助文档《从域名注册到网站搭建》,建站全流程如下:
**阶段 1:域名准备**
1. 注册域名并完成实名认证
2. 设置域名解析(DNS)
**阶段 2:服务器准备**
1. 购买云服务器(ECS)或虚拟主机
2. 配置服务器环境(Web 服务器、数据库等)
**阶段 3:网站备案**
1. 准备备案材料(身份证/营业执照、域名证书等)
2. 通过阿里云备案系统提交申请
3. 等待管局审核(通常 7-20 个工作日)
**阶段 4:网站部署**
1. 上传网站代码到服务器
2. 配置域名解析指向服务器 IP
3. 测试网站访问
📄 引用文档:
- knowledge/aliyun-domain-help/02-快速入门/从域名注册到网站搭建.md
- knowledge/aliyun-domain-help/05-备案与合规/ICP 备案流程.md
备案咨询:
用户:个人网站备案需要什么材料?
AI:📚 根据阿里云帮助文档《ICP 备案流程》,个人网站备案材料包括:
**必需材料:**
1. ✅ 个人身份证正反面扫描件
2. ✅ 域名证书(可在阿里云域名控制台下载)
3. ✅ 个人联系方式(手机号、邮箱)
4. ✅ 网站负责人照片(半身照)
**其他可能需要的材料:**
- 个人承诺书(部分地区要求)
- 前置审批文件(特殊行业)
**备案条件:**
- 域名已完成实名认证且超过 3 天
- 域名持有者与备案负责人为同一人
- 个人年龄需满 18 周岁
📄 完整文档:knowledge/aliyun-domain-help/05-备案与合规/ICP 备案流程.md
⚠️ 注意:各地管局要求可能略有差异,具体以当地管局审核为准。
域名交易咨询:
用户:一口价域名是什么意思?
AI:📚 根据阿里云帮助文档《一口价(优选)》和《一口价(严选)》:
**一口价域名**是指卖家设置固定价格,买家支付后立即获得域名所有权的交易方式。
**一口价(优选)vs 一口价(严选):**
| 类型 | 说明 | 价格范围 | 审核 |
|:---|:---|:---|:---|
| 优选 | 普通卖家发布,价格自主 | 几十元到几十万元 | 自动审核 |
| 严选 | 平台精选优质域名 | 通常万元以上 | 人工审核 |
**交易流程:**
1. 买家下单支付
2. 系统自动转移域名
3. 交易完成(通常 1-2 小时)
**注意事项:**
- 确认域名无纠纷、无违规记录
- 检查域名历史(是否被搜索引擎惩罚)
- 了解过户流程和费用
📄 引用文档:
- knowledge/aliyun-domain-help/04-域名交易/一口价(优选).md
- knowledge/aliyun-domain-help/04-域名交易/一口价(严选).md
⚠️ 安全规则(重要)
🔐 资金操作二次确认原则
所有涉及订单和资金操作的 API 调用,必须经过用户明确二次确认后才能执行!
需要二次确认的操作
以下操作必须先向用户展示详细信息并获得明确确认(如"确认"、"是的"、"ok"等),才能调用 API:
| 操作类型 | 风险等级 | 确认内容 |
|---|---|---|
| 🆕 域名注册 | 🔴 高 | 域名名称、注册年限、总费用、注册者信息 |
| 💰 域名续费 | 🔴 高 | 域名名称、续费年限、总费用、过期时间 |
| 🔄 域名赎回 | 🔴 高 | 域名名称、赎回价格、当前状态 |
| 📝 域名转移(转入/转出) | 🟡 中 | 域名名称、转移费用、目标注册商 |
| 🔒 域名锁定/解锁 | 🟡 中 | 域名名称、操作类型、影响说明 |
| ✏️ 联系人信息修改 | 🟡 中 | 域名名称、修改字段、新旧值对比 |
| 🌐 DNS 服务器修改 | 🟡 中 | 域名名称、新旧 DNS 列表 |
确认流程
- 展示操作详情:清晰列出操作内容、影响范围、费用明细
- 等待用户确认:必须获得用户明确的肯定回复
- 执行操作:确认后调用 API
- 反馈结果:操作完成后立即反馈结果
示例对话
❌ 错误做法(未确认直接执行):
用户:帮我注册 shenyue.xyz
AI:✅ 已注册 shenyue.xyz(订单号:xxx)
✅ 正确做法(先确认后执行):
用户:帮我注册 shenyue.xyz
AI:🛒 域名注册确认
域名:shenyue.xyz
年限:1 年
费用:¥7
注册者:shenyu(模板 ID: 24485442)
实名状态:✅ 已通过
确认要注册吗?回复"确认"继续。
用户:确认
AI:✅ 注册成功!订单号:xxx
无需确认的操作
以下查询类操作无需确认,可直接执行:
- ✅ 域名列表查询
- ✅ 域名详情查询
- ✅ 域名可用性检查
- ✅ 任务状态查询
- ✅ 联系人信息查询
- ✅ 统计信息获取
- ✅ 到期域名查询
- ✅ 域名价格/优惠政策查询
📚 安全操作指南
详细的安全操作指南和代码示例,请参阅:
- 📄 SAFE_OPERATION_GUIDE.md - 完整安全操作指南
- 🧪 scripts/safe_operation_example.py - 安全操作示例代码
📖 本地知识库
知识库文件
| 文件路径 | 内容说明 |
|---|---|
knowledge/domain_pricing_discounts.md | 阿里云国内站域名优惠政策(注册活动价格、批量注册优惠、转入优惠、续费折扣、优惠口令) |
knowledge/aliyun-domain-help/ | 阿里云域名服务帮助文档库(域名注册、交易、管理、建站、备案等全流程指南) |
每月初需更新
knowledge/domain_pricing_discounts.md中的优惠政策内容。 定期更新knowledge/aliyun-domain-help/中的帮助文档,确保内容时效性。
帮助文档库结构
knowledge/aliyun-domain-help/
├── 01-产品概述/ # 域名服务简介、基本概念、价格说明
├── 02-快速入门/ # 域名注册、交易、建站快速指南
├── 03-操作指南/ # 详细操作教程(注册、认证、过户、安全等)
├── 04-域名交易/ # 交易类型、购买流程、防骗指南
├── 05-备案与合规/ # ICP 备案流程、合规要求
└── 06-常见问题/ # 各类 FAQ 和问题解答
RAG 检索脚本
使用 scripts/domain_knowledge_rag.py 进行知识库检索:
# 命令行使用
python3 scripts/domain_knowledge_rag.py "域名注册流程"
python3 scripts/domain_knowledge_rag.py "备案需要什么材料"
python3 scripts/domain_knowledge_rag.py "如何建站"
# Python 代码使用
from domain_knowledge_rag import answer_with_rag
answer = answer_with_rag("域名过户需要什么条件?")
print(answer)
触发规则
当用户的问题涉及以下任何主题时,必须先读取 knowledge/domain_pricing_discounts.md 再作答:
- 域名注册价格 / 注册费用 / 注册多少钱
- 域名续费价格 / 续费费用 / 续费多少钱
- 域名转入价格 / 转入费用
- 批量注册优惠 / 批量续费优惠
- 优惠活动 / 折扣 / 打折 / 促销
- 优惠口令 / 续费口令
- 溢价词 / 溢价域名折扣
- 多年注册套餐 / 一次注册多年
- 哪个后缀便宜 / 最便宜的域名
- 用户执行注册/续费/转入操作前的费用确认环节
热点投资分析触发规则 ⭐ NEW
当用户的问题涉及以下关键词时,触发热点域名投资分析功能:
| 触发词 | 示例问题 | 推荐操作 |
|---|---|---|
热点 | "最近有什么域名投资热点?" | 推荐 claw/ai/agent 等热点关键词 |
投资 | "claw 相关的域名值得投资吗?" | 分析 claw 关键词域名投资机会 |
推荐 | "推荐几个值得注册的域名" | 根据热点推荐可注册域名 |
批量 | "想批量注册一些域名投资" | 推荐.xyz 等低价后缀组合 |
吉利数字 | "有哪些吉利数字域名可注册" | 分析 168/518/678 等数字组合 |
AI 域名 | "AI 相关的域名有哪些可注册" | 分析 ai/agent/bot 等关键词 |
分析流程:
- 识别热点关键词:从用户问题中提取关键词(如 claw、ai、agent)
- 生成候选域名:根据关键词生成 50+ 个候选域名组合
- 批量检查可注册性:调用 API 检查每个域名的可注册状态
- 生成投资建议:按热度、价格、潜力排序,输出 TOP 10 推荐
- 提供注册建议:附带优惠口令和总成本估算
- 生成购买链接:为每个推荐域名生成阿里云一键购买链接(通用功能)
购买链接功能 ⭐ NEW(通用)
所有场景下推荐的可注册域名都会自动生成购买链接:
| 场景 | 说明 | 示例 |
|---|---|---|
| 热点投资分析 | 热点关键词推荐的可注册域名 | python3 domain_hotspot_analyzer.py claw |
| 日常域名检查 | 检查某个域名是否可注册 | check_domain("example.cn") |
| 批量域名筛选 | 批量检查多个域名的可注册性 | 循环检查域名列表 |
| 关键词推荐 | 根据用户提供的关键词推荐域名 | "推荐几个 AI 相关的域名" |
| 吉利数字组合 | 吉利数字域名推荐 | "有哪些 168 结尾的域名可注册" |
链接规范:
- 链接格式:
https://wanwang.aliyun.com/buy/commonbuy?domain={域名}&suffix={后缀}&duration=12 - 自动提取: 从完整域名中自动提取后缀(如 tryagent.cn → 域名:tryagent, 后缀:cn)
- 一键购买: 点击链接直达阿里云购买页面,已预填域名和年限(1 年)
- 输出格式:
- Markdown 可点击链接:
[tryagent.cn](https://wanwang.aliyun.com/buy/commonbuy?domain=tryagent&suffix=cn&duration=12) - 快速链接列表:在报告末尾提供所有推荐域名的完整链接
- Markdown 可点击链接:
示例输出:
✅ 可注册域名推荐:
1. [claw168.cn](https://wanwang.aliyun.com/buy/commonbuy?domain=claw168&suffix=cn&duration=12) - ¥38 🔢 吉利数字
2. [claw518.cn](https://wanwang.aliyun.com/buy/commonbuy?domain=claw518&suffix=cn&duration=12) - ¥38 🔢 吉利数字
3. [tryagent.cn](https://wanwang.aliyun.com/buy/commonbuy?domain=tryagent&suffix=cn&duration=12) - ¥38 🤖 AI 智能体
🔗 快速购买链接:
1. https://wanwang.aliyun.com/buy/commonbuy?domain=claw168&suffix=cn&duration=12
2. https://wanwang.aliyun.com/buy/commonbuy?domain=claw518&suffix=cn&duration=12
3. https://wanwang.aliyun.com/buy/commonbuy?domain=tryagent&suffix=cn&duration=12
回答规范
- 先读后答:必须先完整读取知识库文件,再回答用户。不要凭记忆回答价格问题。
- 标注时效:回答时说明优惠政策的有效期(如"3月活动价,截止3月31日"),提醒用户注意活动时间。
- 附带链接:知识库中包含官网活动链接的,回答时一并提供。
- 费用确认协同:当用户要执行注册/续费/转入操作时,在二次确认环节中主动引用知识库中的优惠价格,帮助用户了解最优方案。例如:如果用户续费 .com,提醒可以使用优惠口令获得更低价格。
- 超出知识库范围:若用户询问的后缀或场景不在知识库中,如实说明当前知识库未覆盖,建议用户前往阿里云官网查看最新价格。
- 价格仅供参考:实际下单价以阿里云 API 返回或官网页面显示为准,回答时需附带此说明。
示例对话
价格查询:
用户:注册一个 .xyz 域名多少钱?
AI:📋 .xyz 域名注册价格
原价:14元
3月活动价:7元(活动截止3月31日)
注:实际价格以下单时为准。需要帮你注册某个 .xyz 域名吗?
优惠口令查询:
用户:续费 .com 有什么优惠吗?
AI:💰 .com 续费优惠方案
1. 优惠口令:使用口令「com批量注册更享优惠」,续费价从 95元 降至 90元
2. 批量续费优惠(单笔订单):
- ≥20个:84元/个
- ≥50个:83元/个
- ≥100个:82元/个
建议:如果只续费少量域名,使用优惠口令即可获得最优价格。
与操作协同:
用户:帮我续费 example.com
AI:🛒 域名续费确认
域名:example.com
年限:1 年
费用:¥95
💡 提示:使用优惠口令「com批量注册更享优惠」可降至 ¥90
确认要续费吗?回复"确认"继续。
📋 功能特性
🆕 行业咨询能力(RAG 检索)
- ✅ 域名注册咨询:注册流程、实名认证、注册条件、所需材料
- ✅ 域名交易咨询:域名买卖、一口价、push、回购、交易流程
- ✅ 建站咨询:网站搭建全流程、域名绑定、解析配置
- ✅ 备案咨询:ICP 备案流程、备案材料、备案条件、各地管局要求
- ✅ 域名管理咨询:过户、信息修改、DNS 设置、安全保护
- ✅ 续费赎回咨询:续费流程、赎回价格、过期处理
- ✅ 常见问题解答:注册失败、审核不通过、各类错误处理
RAG 检索特性:
- 📚 基于阿里云官方帮助文档
- 🔍 智能语义检索,精准匹配
- 📄 标注文档来源和分类
- 🔗 提供原文链接
- ⏰ 标注文档更新时间
域名管理
域名投资分析 ⭐ NEW
- ✅ 热点关键词分析:根据市场热点推荐域名投资机会
- ✅ 批量域名筛选:自动生成候选域名并检查可注册性
- ✅ 投资价值评估:提供热度等级、投资理由、价格估算
- ✅ 吉利数字组合:支持 168/518/678/886 等吉利数字组合
- ✅ 域名资产评估仪表盘 📊:一键生成资产总览/到期分布/价值统计/资产建议
- ✅ 购买链接生成:所有可注册域名自动生成一键购买链接
支持的热点关键词:
| 关键词 | 热点主题 | 热度 | 说明 |
|---|---|---|---|
claw | Claw 热点(OpenClaw) | ⭐⭐⭐⭐⭐ | 2026 年 GitHub 最火开源 AI 项目,18 万星 |
ai | 人工智能 | ⭐⭐⭐⭐⭐ | AI.com 以 7000 万美元成交,智能体热潮 |
agent | AI 智能体 | ⭐⭐⭐⭐⭐ | AI Agent 是 2026 年最热门投资方向 |
bot | 机器人/自动化 | ⭐⭐⭐⭐ | 自动化机器人概念 |
qwen | 通义千问 | ⭐⭐⭐⭐ | 阿里通义大模型系列 |
168/518/678/886 | 吉利数字 | ⭐⭐⭐ | 国人偏好的吉利数字组合 |
域名优惠政策咨询
- ✅ 查询域名注册活动价格(各后缀活动价、溢价词折扣)
- ✅ 查询批量注册优惠(.com/.cn/.net/.xin 等批量价格梯度)
- ✅ 查询域名转入优惠(周三转入日活动价)
- ✅ 查询续费优惠(批量续费折扣 + 优惠口令)
- ✅ 推荐最优注册/续费/转入方案
🔐 配置说明
1. 获取阿里云 AccessKey
- 登录 阿里云控制台
- 进入 RAM 访问控制
- 创建用户或使用现有用户
- 创建 AccessKey(AK/SK)
- 为用户授权
AliyunDomainFullAccess权限
2. 配置环境变量(推荐)
通过环境变量设置 AccessKey,无需创建配置文件:
export ALIYUN_ACCESS_KEY_ID="your-access-key-id"
export ALIYUN_ACCESS_KEY_SECRET="your-access-key-secret"
永久配置(添加到 ~/.bashrc 或 ~/.zshrc):
echo 'export ALIYUN_ACCESS_KEY_ID="your-access-key-id"' >> ~/.zshrc
echo 'export ALIYUN_ACCESS_KEY_SECRET="your-access-key-secret"' >> ~/.zshrc
source ~/.zshrc
参数说明:
| 环境变量 | 说明 | 示例 |
|---|---|---|
ALIYUN_ACCESS_KEY_ID | 阿里云 AccessKey ID | LTAI5t... |
ALIYUN_ACCESS_KEY_SECRET | 阿里云 AccessKey Secret | abcdef... |
3. 安全建议
- ✅ 推荐使用环境变量,避免硬编码到文件
- ✅ 建议使用 RAM 子账号 AK,而非主账号
- ✅ 定期轮换 AccessKey
- ⚠️ 不要将 AccessKey 提交到 Git 或分享给他人
🚀 使用方法
命令行使用
# 配置环境变量(首次使用或每次新终端会话)
export ALIYUN_ACCESS_KEY_ID="your-access-key-id"
export ALIYUN_ACCESS_KEY_SECRET="your-access-key-secret"
# 查询域名列表
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/aliyun_domain.py list
# 查询域名详情
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/aliyun_domain.py detail --domain example.com
# 查询即将过期域名
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/aliyun_domain.py expiring --days 30
# 域名续费
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/aliyun_domain.py renew --domain example.com --years 1
# 查询域名任务
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/aliyun_domain.py tasks --status Running
# 🔥 热点域名投资分析(NEW)
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/domain_hotspot_analyzer.py claw
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/domain_hotspot_analyzer.py ai
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/domain_hotspot_analyzer.py agent
# 列出所有支持的热点关键词
python3 /Users/kevin/.agents/skills/aliyun_domain/scripts/domain_hotspot_analyzer.py --list
行业咨询 RAG 检索脚本
scripts/domain_knowledge_rag.py 提供基于 RAG 的行业咨询检索功能,覆盖域名注册、交易、建站、备案等主题:
from domain_knowledge_rag import answer_with_rag, DomainKnowledgeRAG
# 方法 1:直接获取答案
answer = answer_with_rag("域名注册需要什么流程?")
print(answer)
# 方法 2:使用检索器获取更详细的信息
rag = DomainKnowledgeRAG()
# 搜索相关文档
sections = rag.get_relevant_sections("备案材料", max_sections=3)
for section in sections:
print(f"标题:{section['title']}")
print(f"分类:{section['category']}")
print(f"摘要:{section['excerpt'][:200]}...")
print()
# 获取完整文档内容
content = rag.get_document_content(sections[0]['file_path'])
print(content)
支持的查询类型:
| 查询类型 | 示例 | 说明 |
|---|---|---|
| 域名注册 | "如何注册域名" | 注册流程、条件、材料 |
| 实名认证 | "实名认证需要什么" | 个人/企业认证要求 |
| 域名交易 | "一口价域名是什么" | 交易类型、流程、注意事项 |
| 建站 | "注册域名后如何建站" | 建站全流程、服务器选择 |
| 备案 | "个人备案材料" | ICP 备案流程、材料、条件 |
| 域名管理 | "域名如何过户" | 过户、信息修改、DNS 设置 |
| 安全保护 | "如何锁定域名" | 转移锁、更新锁、安全锁 |
| 续费赎回 | "域名过期了怎么办" | 续费、赎回、价格 |
| 常见问题 | "注册失败怎么办" | 各类错误处理、FAQ |
优惠信息检索脚本
scripts/domain_promotion_search.py 提供基于 RAG 的域名优惠信息检索功能:
Python 代码使用
import os
from aliyun_domain import AliyunDomainClient
# 从环境变量读取 AccessKey
access_key_id = os.getenv('ALIYUN_ACCESS_KEY_ID')
access_key_secret = os.getenv('ALIYUN_ACCESS_KEY_SECRET')
# 初始化客户端
client = AliyunDomainClient(
access_key_id=access_key_id,
access_key_secret=access_key_secret
)
# 查询域名列表
domains = client.list_domains(page_size=100)
for domain in domains:
print(f"{domain['DomainName']} - {domain['ExpirationDate']}")
# 查询域名详情
detail = client.query_domain_detail("example.com")
print(detail)
# 查询即将过期域名
expiring = client.query_expiring_domains(days=30)
print(f"即将过期:{len(expiring)} 个域名")
# 域名续费(⚠️ 需要二次确认)
# 步骤 1: 展示确认信息
print("🛒 域名续费确认")
print("域名:example.com")
print("年限:1 年")
print("费用:¥85")
confirm = input("确认续费?(yes/no): ")
# 步骤 2: 用户确认后执行
if confirm.lower() == 'yes':
result = client.renew_domain("example.com", years=1)
print(f"续费成功!订单号:{result.get('OrderId')}")
📚 API 参考
域名管理 API
| 方法 | 功能 | API 动作 |
|---|---|---|
list_domains() | 查询域名列表 | DescribeDomains |
query_domain_detail() | 查询域名详情 | QueryDomainDetail |
query_domain_list() | 分页查询域名 | QueryDomainList |
query_expiring_domains() | 查询即将过期域名 | QueryDomainList |
save_single_domain_update() | 域名信息修改 | SaveSingleTaskForUpdatingContactInfo |
transfer_domain_in() | 域名转入 | TransferDomainIn |
transfer_domain_out() | 域名转出 | TransferDomainOut |
renew_domain() | 域名续费 | SaveSingleTaskForRenewingDomain |
register_domain() | 域名注册 | SaveSingleTaskForCreatingOrderActivate |
lock_domain() | 域名锁定 | SaveSingleTaskForTransferProhibitionLock |
unlock_domain() | 域名解锁 | SaveSingleTaskForTransferProhibitionLock |
任务管理 API
| 方法 | 功能 | API 动作 |
|---|---|---|
query_task_list() | 查询任务列表 | QueryTaskList |
query_task_detail() | 查询任务详情 | QueryTaskDetailList |
📁 文件结构
aliyun_domain/
├── SKILL.md # 技能说明文档
├── README.md # 项目说明
├── SAFE_OPERATION_GUIDE.md # 安全操作指南
├── config/
│ ├── credentials.json # 凭证配置
│ └── credentials.json.example # 配置模板
├── knowledge/ # 本地知识库 📚
│ ├── domain_pricing_discounts.md # 优惠政策知识库
│ └── aliyun-domain-help/ # 阿里云帮助文档库(RAG 检索)⭐ NEW
│ ├── 01-产品概述/
│ ├── 02-快速入门/
│ ├── 03-操作指南/
│ ├── 04-域名交易/
│ ├── 05-备案与合规/
│ ├── 06-常见问题/
│ └── README.md
├── learnings/ # 经验教训库 ⭐
│ ├── README.md # 索引文件
│ ├── API_QUICK_REFERENCE.md # API 快速参考
│ ├── API_FIELD_CASE_ISSUE.md # API 字段大小写问题
│ ├── DOMAIN_LOCK_OPERATION.md # 域名锁定操作指南
│ └── REGISTRANT_PROFILE_QUERY.md # 实名模板查询问题
├── scripts/
│ ├── aliyun_domain.py # 域名 API 客户端(1345 行)
│ ├── domain_hotspot_analyzer.py # 🔥 热点域名投资分析(NEW)
│ ├── domain_knowledge_rag.py # 📚 行业咨询 RAG 检索(NEW)
│ ├── domain_promotion_search.py # 💰 优惠信息检索
│ ├── safe_operation_example.py # 安全操作示例
│ └── ... # 其他脚本
└── .gitignore # Git 忽略配置
🔧 依赖安装
# 安装阿里云 SDK 核心和域名 SDK
pip3 install aliyun-python-sdk-core aliyun-python-sdk-domain
📝 示例输出
域名列表
🦐 阿里云域名列表
============================================================
域名 过期时间 状态
------------------------------------------------------------
example.com 2027-01-15 正常
example.cn 2026-06-20 正常
example.net 2026-04-01 即将过期
------------------------------------------------------------
共 3 个域名
域名详情
🦐 域名详情:example.com
============================================================
域名名称:example.com
注册商:Alibaba Cloud Computing Ltd.
注册日期:2020-01-15
过期日期:2027-01-15
域名状态:ok
DNS 服务器:dns1.hichina.com, dns2.hichina.com
注册人:张三
即将过期域名
🦐 即将过期域名(30 天内)
============================================================
⚠️ example.net 2026-04-01 剩余 17 天
⚠️ test.cn 2026-03-25 剩余 11 天
------------------------------------------------------------
共 2 个域名需要尽快续费
⚠️ 注意事项
- API 调用限制:阿里云 API 有 QPS 限制,请避免高频调用
- 权限要求:需要
AliyunDomainFullAccess或自定义权限策略 - 地域选择:域名 API 主要使用
cn-hangzhou地域 - 费用说明:部分 API 调用可能产生费用(如域名续费、注册)
- 赎回期:域名过期后进入赎回期,续费价格会更高(¥200-500)
🆘 故障排查
问题:AccessKey 无效
Error: InvalidAccessKeyId.NotFound
解决:检查 credentials.json 中的 AK/SK 是否正确,确认 RAM 用户已授权。
问题:权限不足
Error: Forbidden.Ram
解决:为 RAM 用户添加 AliyunDomainFullAccess 权限策略。
问题:API 调用失败
Error: SDK.Server.Unreachable
解决:检查网络连接,确认可以访问 api.aliyuncs.com。
问题:修改 DNS 时报错 MissingAliyunDns
Error: HTTP Status: 400 Error:MissingAliyunDns
解决:确保调用时设置了 set_AliyunDns(False) 参数。
request.set_DomainNames(domain_name)
request.set_DomainNameServers(dns_servers)
request.set_AliyunDns(False) # ✅ 必需参数
问题:修改 DNS 时报错 set_DomainList 不存在
AttributeError: 'SaveBatchTaskForModifyingDomainDnsRequest' object has no attribute 'set_DomainList'
解决:使用正确的参数名。
# ❌ 错误
request.set_DomainList([...])
# ✅ 正确
request.set_DomainNames(domain_name) # 字符串
request.set_DomainNameServers(dns_servers) # 列表
问题:query_task_list() 返回空列表
现象:即使有任务,封装方法也返回 []。
解决:使用原始 API 调用。
from aliyunsdkdomain.request.v20180129.QueryTaskListRequest import QueryTaskListRequest
request = QueryTaskListRequest()
request.set_PageNum(1)
request.set_PageSize(100)
response = client.client.do_action_with_exception(request)
data = json.loads(response)
tasks = data['Data']['TaskInfo'] # ✅ 正确获取
问题:query_registrant_profiles() 返回空列表
现象:即使有模板,封装方法也返回 []。
原因:
- API 返回路径是
RegistrantProfiles.RegistrantProfile,不是Data.RegistrantProfile RegistrantProfile可能是对象或数组,需要类型判断
解决:使用原始 API 调用。
from aliyunsdkdomain.request.v20180129.QueryRegistrantProfilesRequest import QueryRegistrantProfilesRequest
import json
request = QueryRegistrantProfilesRequest()
request.set_PageNum(1)
request.set_PageSize(20)
response = client.client.do_action_with_exception(request)
result = json.loads(response)
# ✅ 正确解析
profiles = result.get('RegistrantProfiles', {}).get('RegistrantProfile', [])
# ⚠️ 关键:如果是单个对象,转为数组
if isinstance(profiles, dict):
profiles = [profiles]
# 遍历结果
for profile in profiles:
template_id = profile.get('RegistrantProfileId')
status = profile.get('RealNameStatus') # ✅ 不是 AuditStatus
print(f'{template_id}: {status}')
详细文档: learnings/REGISTRANT_PROFILE_QUERY.md
📝 常见问题速查表
更多详细问题分析和解决方案,请参阅 📚 经验教训库。
| ❌ 问题 | ✅ 解决方案 |
|---|---|
check_domain() 返回字段用大写 Available | 使用小写 available |
set_DomainList() 参数不存在 | 使用 set_DomainNames() |
set_DnsName() 参数不存在 | 使用 set_DomainNameServers() |
修改 DNS 报错 MissingAliyunDns | 设置 set_AliyunDns(False) |
query_task_list() 返回空列表 | 使用原始 API 调用 |
| 批量查询域名都显示"已注册" | 检查 API 字段大小写,用随机域名测试验证 |
域名锁定报错 InvalidStatus | Status 参数用字符串 'true' 或 'false' |
查询任务报错 MissingPageNum | 添加 set_PageNum(1) 和 set_PageSize(10) |
query_registrant_profiles() 返回空列表 | 使用原始 API,路径 RegistrantProfiles.RegistrantProfile |
模板状态字段 AuditStatus 不存在 | 使用 RealNameStatus |
🔒 域名锁定操作(2026-03-14 更新)
转移锁 & 更新锁 API 参数
⚠️ 关键:Status 参数必须用字符串,不能用布尔值!
# ✅ 正确
request.set_Status('true') # 开启锁定
request.set_Status('false') # 关闭锁定
# ❌ 错误
request.set_Status(True) # 布尔值会报错
request.set_Status('OPEN') # 字符串 OPEN 会报错
request.set_Status('Enable') # 字符串 Enable 会报错
完整代码示例
# 开启转移锁
from aliyunsdkdomain.request.v20180129.SaveSingleTaskForTransferProhibitionLockRequest import SaveSingleTaskForTransferProhibitionLockRequest
request = SaveSingleTaskForTransferProhibitionLockRequest()
request.set_DomainName('shenyue.xyz')
request.set_Status('true') # ⚠️ 必须是字符串 "true"
response = client.client.do_action_with_exception(request)
result = json.loads(response)
task_no = result.get('TaskNo', '')
# 开启更新锁
from aliyunsdkdomain.request.v20180129.SaveSingleTaskForUpdateProhibitionLockRequest import SaveSingleTaskForUpdateProhibitionLockRequest
request = SaveSingleTaskForUpdateProhibitionLockRequest()
request.set_DomainName('shenyue.xyz')
request.set_Status('true') # ⚠️ 必须是字符串 "true"
查询锁定状态
detail = client.query_domain_detail('shenyue.xyz')
transfer_lock = detail.get('TransferProhibitionLock') # OPEN / CLOSE
update_lock = detail.get('UpdateProhibitionLock') # OPEN / CLOSE
print(f'转移锁:{"🔒 已开启" if transfer_lock == "OPEN" else "🔓 关闭"}')
print(f'更新锁:{"🔒 已开启" if update_lock == "OPEN" else "🔓 关闭"}')
详细文档: learnings/DOMAIN_LOCK_OPERATION.md
📚 经验教训库
详细的 API 调用经验、故障排查和问题解决方案,请参阅 learnings/ 文件夹中的文档:
| 文档 | 内容说明 |
|---|---|
| learnings/API_QUICK_REFERENCE.md | API 快速参考手册 |
| learnings/API_FIELD_CASE_ISSUE.md | API 字段大小写问题记录 |
| learnings/DOMAIN_LOCK_OPERATION.md | 域名锁定操作指南 |
| learnings/REGISTRANT_PROFILE_QUERY.md | 实名模板查询问题记录 |
常见问题速查:
| ❌ 错误 | ✅ 正确 |
|---|---|
set_DomainList() | set_DomainNames() + set_DomainNameServers() |
set_DnsName() | set_DomainNameServers() |
缺少set_AliyunDns() | 必须设置set_AliyunDns(False) |
query_task_list() 返回空 | 使用原始 API 调用 |
📞 支持
- 阿里云文档:https://help.aliyun.com/product/35836.html
- API 参考:https://next.api.aliyun.com/api/Domain/2018-01-29
- 🔐 安全操作指南:SAFE_OPERATION_GUIDE.md
技能版本: v1.11.0 最后更新: 2026-03-16 维护者: 神月 🦐
安全规则: ⚠️ 所有涉及订单和资金操作的 API 调用,必须经过用户明确二次确认后才能执行!
更新日志:
- v1.11.0 (2026-03-16): 新增域名、建站、备案行业咨询能力,基于 RAG 检索本地知识库(knowledge/aliyun-domain-help)提供精准答案 📚
- v1.10.0 (2026-03-15): 新增自动续费链接功能,查询域名时自动生成 Markdown 格式续费链接
- v1.9.0 (2026-03-15): 新增域名资产评估仪表盘,提供资产总览/到期分布/价值统计/资产建议
- v1.8.0 (2026-03-15): 新增 6 字母域名推荐功能,支持随机/易读/词根等多种生成模式
- v1.7.0 (2026-03-15): 购买链接功能升级为通用功能,所有场景推荐的可注册域名都生成购买链接
- v1.6.0 (2026-03-15): 新增购买链接功能,推荐域名自动生成阿里云一键购买链接
- v1.5.0 (2026-03-15): 新增热点域名投资分析功能,支持 claw/ai/agent 等热点关键词自动筛选
- v1.4.0 (2026-03-15): 重构目录结构,新增
learnings/经验教训库,整理 API 问题文档 - v1.3.0 (2026-03-14): 添加实名模板查询文档,记录 API 返回数据解析问题
- v1.2.0 (2026-03-14): 添加域名锁定操作文档,记录 Status 参数正确用法
- v1.1.0 (2026-03-14): 添加 API 字段大小写问题说明,完善故障排查经验