前言¶
在开发 DeepSeek Harness (DSH) 智能体时,让模型自主获取域名的注册信息是一个常见需求。传统方案通常依赖端口 43 的 WHOIS 协议,需要处理复杂的文本解析或依赖外部二进制文件。下面介绍 dsh-whois-plugin,它直接为模型添加了 whois 工具,通过 RDAP 协议查询域名数据。
插件定位¶
这是由 rjn32s 维护的一个 DSH 插件。它为模型提供了 whois 工具,用于查询域名的注册信息。该插件使用 RDAP 协议(RFC 7484/9082/9083),这是旧版 WHOIS 的结构化 JSON 继任者,无需外部二进制文件或端口 43 文本解析。
核心功能¶
- 添加
whois工具:模型可以直接调用whois函数。 - 基于 RDAP 协议:使用现代 RDAP 协议进行查询,替代传统的文本解析。
- 无需额外依赖:不依赖外部二进制文件,也不需要处理复杂的文本解析逻辑。
- 权威查询:通过 IANA 引导注册表(
https://data.iana.org/rdap/dns.json)解析权威 RDAP 服务器,并缓存 24 小时。
安装与启用¶
在 dsh profile 中安装:
dsh plugin --profile <name> add dsh-whois-plugin
或者直接从 GitHub 安装:
dsh plugin --profile <name> add github:rjn32s/dsh-whois-plugin
安装后,验证配置并启动:
dsh --profile <name> --dump-config # 查找 "# == dsh-whois-plugin"
dsh --profile <name>
典型用法¶
安装完成后,模型可以直接调用 whois 工具。例如:
Look up the WHOIS/RDAP info for example.com
模型会执行 whois({ domain: "example.com" }),并返回原始 RDAP JSON 数据,其中包含注册商、状态、注册/过期事件、名称服务器以及注册实体信息(如果注册表发布了这些信息)。
适用场景与注意¶
- 适用场景:需要智能体具备域名查询能力的开发者。
- 注意:
- 部分国家顶级域名(ccTLD)在 IANA 引导文件中暂无 RDAP 条目,此时工具会抛出清晰的错误,而不是静默回退到旧版 WHOIS。
- 除了出站 HTTPS 外,无需配置 API 密钥或网络出口。
- 插件在当前 DSH 进程权限下运行,安装前请检查源码与许可证。
总结¶
该插件通过 RDAP 协议简化了域名查询流程,为 DSH 智能体提供了标准化的域名注册信息获取能力。更多详情请查看 插件目录 或 GitHub 仓库。