核心功能
Gandi Skill 是一套完整的域名注册商 API 集成方案,支持通过命令行或自然语言对 Gandi 账户进行全方位管理。
DNS 管理:支持 A/AAAA/CNAME/MX/TXT/NS/SRV/CAA/PTR 等全类型记录的增删改操作,提供批量更新功能(update-dns-bulk.js),自动在执行前创建 DNS 快照以便回滚。快照系统(create-snapshot.js/restore-snapshot.js)为破坏性操作提供安全保障。
邮件转发:支持创建、更新、删除邮件转发规则,包括多目标转发和 catch-all 全局捕获配置。适用于团队分发列表、域名迁移期间的邮件过渡等场景。
域名查询:内置域名可用性检查(check-domain.js)和智能建议引擎(suggest-domains.js),支持 9 种 TLD 自动扩展及 5 类名称变体(连字符、缩写、前缀、后缀、数字),内置速率限制保护(默认 3 并发、200ms 延迟)。
SSL 证书监控:check-ssl.js 可批量检查所有域名的证书状态。
安全机制
采用 Personal Access Token(PAT)认证,强制存储于 ~/.config/gandi/api_token 并设置 600 权限。支持读写令牌分级:建议日常使用只读令牌(Domain:read, LiveDNS:read, Email:read),仅在修改操作时启用写权限(LiveDNS:write, Email:write)。
风险警示:DNS 修改可导致网站/邮件服务中断;邮件转发配置存在邮件拦截风险;批量操作不可撤销(依赖快照恢复)。所有破坏性脚本(增删改类)均带确认提示,--force 参数可跳过。
局限与注意事项
- 当前 Phase 2 已完成 DNS 和邮件功能,域名注册功能尚未实现(Phase 3 规划中)
- 暂不支持多组织切换,单令牌单组织架构
- 依赖 Node.js ≥18,需预装 npm 依赖
- Gandi API 速率限制 1000 请求/分钟,工具内置保守限制
- 仅支持 Gandi LiveDNS 托管的域名
适用人群
适合已使用或计划使用 Gandi 作为域名注册商的技术用户、DevOps 工程师、独立开发者,以及需要自动化 DNS 管理和域名监控的小型团队。需具备基本的命令行操作能力和域名系统知识。
常规风险
1. 配置错误风险:DNS 记录误操作可能导致服务中断,建议非生产环境测试
2. 令牌泄露风险:PAT 文件需严格保护,禁止提交至版本控制
3. 邮件转发滥用:catch-all 配置可能被垃圾邮件利用
4. 快照依赖:快照仅保留特定时间点状态,非实时增量备份