exit-ip
Overview
显示当前 Agent 运行环境所使用的公网出口 IP 及其归属信息(城市 / 地区 / 国家 / 运营商)。
原理:Agent 与 Claude Agent SDK 在同一环境内出网,二者的对外出口是同一个。因此只要从本环境直接请求 ipinfo.io/json,返回的 ip 就是该环境对外可见的出口 IP —— 也就是调用 Claude SDK 时对外呈现的出口 IP。
说明:本 skill 报告的是执行本 Agent 的这台环境的出网 IP。当 SDK 请求与本 skill 的请求走同一网络路径时(本地机器 / 同一容器的常见情形),它就等于 Claude SDK 的出口 IP。
When to Use
- 用户想知道自己当前的公网 / 出口 IP("我的IP是多少"、"出口IP"、"外网IP")
- 用户想确认 Claude SDK / Agent 出网走的是哪个 IP、归属哪个地区 / 运营商
- 用户想看 IP 的地理归属(city / region / country)或所属机构(org / ISP)
When NOT to Use
- 用户给出一个 IP 让你查归属(那是对任意 IP 的地理定位,不是"本机出口")
- 查内网 / 局域网地址(
192.168.*、10.*、127.0.0.1等) - 排查远端主机的网络问题(本 skill 只反映本 Agent 环境的出网)
How
直接从本环境请求 ipinfo.io,拿未经改写的原始 JSON(最能真实反映出口,避免经过第三方渲染 / 摘要的中转):
curl -fsS https://ipinfo.io/json
-f:HTTP 错误码时返回非 0,便于判断失败;-sS:静默但仍显示错误。- 若
curl不可用,可退而用wget -qO- https://ipinfo.io/json。 - 不要用会经模型改写的网页抓取工具去"总结"结果——出口 IP 必须来自本环境的真实出网请求,且要原样呈现。
Output
把结果原样展示给用户,并附一行人类可读摘要。典型返回:
{
"ip": "203.0.113.42",
"city": "Singapore",
"region": "Singapore",
"country": "SG",
"loc": "1.2897,103.8501",
"org": "AS13335 Cloudflare, Inc.",
"timezone": "Asia/Singapore"
}
呈现示例:
出口 IP:
203.0.113.42| 归属:Singapore, SG | 运营商:AS13335 Cloudflare, Inc.(以下为 ipinfo.io/json 原始返回)
{ ...原样贴出... }
Failure Handling
- 请求失败(超时 / 非 2xx / 无网络):如实告知本环境当前无法访问 ipinfo.io,不要编造 IP 值。
- 返回体里带
"bogon": true(内网 / 保留地址):说明本环境对外并非公网出口(可能在受限网络 / 未直连公网),据实说明而非硬报一个地址。