portbug命令行与 AI

命令行与 AI 用法

桌面版适合手动排查一次。要接进脚本、CI,或者交给 AI 助手自己走完诊断,用命令行 —— 退出码和 --json 都是接口的一部分,不用解析文本。

命令行

Windows x64 Linux x64 macOS Apple 芯片 单文件,无依赖。其他架构见下载页。
$ portbug nodes
$ portbug quick   --to sh-01                  # 常见端口体检 + 基线
$ portbug port    "8080;3389" --to sh-01      # 端口深测,分号分隔,自动带对照端口
$ portbug port    "3389" --udp --to sh-01     # 测 UDP
$ portbug probe   "22,80,443" --to sh-01      # 只看通不通,不跑流量
$ portbug proto   --to sh-01                 # 协议 × 端口:上行按端口、按协议还是按匹配限速
$ portbug matrix  --ports 443,8080 --nodes sh-01

退出码是接口

CI 和脚本据此判断,不用去 grep 输出:

码含义
0达标
1未达阈值 / 判定异常(被限速、降级)
2端口不通
3节点不可达
4配额耗尽
5用法错误
$ portbug port "3389" --udp --to sh-01 --min-mbps 50
$ echo $?
1   # 低于阈值,CI 直接失败

结构化输出

--json 输出 portbug/v1:字段只增不改,含每 100 ms 一个的采样序列,可以自己重算判定。--publish 则把它变成一个带编号和方法学、可打印 A4 的报告页。

给 AI 助手用

把 skill 包给 Claude Code、Cursor 之类的助手,它就能自己按排障决策树走完诊断,而不是每一步都等你指路。

下载 skill 包 一个 SKILL.md,放进助手的 skills 目录即可。

它装进去的不是「能调哪些命令」——那看 portbug help 就够了——而是方法论:

先建立基线,再谈端口

链路本身就慢的时候,不能把结论往端口级上引。

某端口慢 → 加测相邻端口

只有 8080 慢,和 8079/8081 一起慢,性质完全不同。

TCP 正常但业务仍卡 → 必须测 UDP

最常被跳过、也最常是真凶的一步。RDP 画面、游戏、音视频都走 UDP,只测 TCP 会得出「链路没问题」的错误结论。

出结论前检查对照组

对照端口也掉档,就不是端口级问题。没有对照组,就不下判定。

不替工具把话说满

标了「置信度 低」就照实说,建议加长时长或换时段重测 —— 虚报比漏报危害大得多。

还没有 MCP server。 目前 skill 是直接驱动命令行的,这样今天就能用。 portbug mcp(五个正交工具、异步返回 test_id)还在计划里,没发布 —— 这里不会假装它已经有了。

一条不会松动的限制

客户端只能测 portbug 自己的节点,不接受任意目标 IP。 一个能对任意地址打流量的工具就是压测/攻击工具,这条是从架构上堵死的,不是提示语。在 AI 场景下它还从合规问题升级成安全问题:一旦允许任意目标,一段恶意网页文本就能让别人的 agent 变成流量来源。

要测你自己的服务器,正确做法是在那台机器上部署一个节点,而不是绕过这条限制。