关于 Kilobat
Kilobat 是面向开发者和 AI Agent 的 macOS 网络诊断命令行工具,可检查应用流量、Wi-Fi、DNS 和连接故障,也能在长时间任务期间防止 Mac 休眠。可选的 Mac 应用还提供历史记录和网络控制。
主要功能
- 01按应用查看流量
- 02诊断 Wi-Fi、DNS 与连接
- 03追踪 API 连接故障
- 04检查路由、延迟和网络状况
- 05执行命令期间保持 Mac 唤醒
- 06提供结构化 JSON 诊断结果
适用场景
- 01查找占用网络的应用
- 02排查 API 请求失败
- 03构建前检查 Wi-Fi 状况
- 04防止长任务运行时休眠
MCP 相关
`kilobat mcp` 命令会启动本地 stdio MCP 服务,向连接的客户端提供网络诊断等工具。部分工具取决于配套应用、权限、许可层级或配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Kilobat CLI
适用于 macOS 的网络诊断工具,可在终端和 AI Agent 中使用。查找哪些应用正在使用你的网络连接,诊断 Wi-Fi 和 DNS 问题,追踪失败的 API 请求,还能在长时间构建期间让 Mac 保持唤醒。
基于 GPL-3.0-only 免费开源。无需账户,也不收集遥测数据。CLI 可独立运行;可选的 Kilobat Mac app 则提供菜单栏界面、历史记录和网络过滤功能。
快速开始 · Mac app · 与 AI Agent 搭配使用 · 从源代码构建 · 工具参考
快速开始
需要 macOS 14 或更高版本。Homebrew 会从源代码构建,且需要 Xcode 16 或更高版本。
brew install seifip/kilobat/kilobat
kilobat diagnose
Homebrew 还会将 kb 安装为 kilobat 的简短别名。
| 查找内容…… | 命令 |
|---|---|
| 哪些应用正在使用网络连接 | kilobat status --watch |
| 主机或 API 无法连接的原因 | kilobat why api.github.com |
| Wi-Fi 信号强度 | kilobat wifi |
| 哪些 Wi-Fi 信道较不拥挤 | kilobat channels |
| 流量是否经由 VPN 发出 | kilobat ip |
| 当前连接是否适合执行长时间任务 | kilobat conditions |
在命令完成前让 Mac 保持唤醒:
kilobat awake -- make test
使用 --json 获取结构化诊断输出,或使用 --watch --json 获取实时流量:
kilobat diagnose --json
kilobat why api.github.com --json
kilobat status --watch --json
运行 kilobat --help 或 kilobat <command> --help 查看更多选项。更改系统设置的命令可能需要确认和管理员授权。网络检查会连接测试端点;速度测试会传输数据。
Kilobat for Mac
想要随时一瞥即可查看?Kilobat 会在菜单栏显示实时流量,并将诊断、使用历史记录、Wi-Fi 工具和应用级网络控制带入原生 Mac 应用。
该应用是独立产品,提供免费和付费功能,并适用其自身条款。独立使用 CLI 进行诊断或设置 MCP,无需安装该应用。
| 功能 | 所需条件 |
|---|---|
| 实时流量、连接诊断、Wi-Fi 信号和信道 | 仅需 CLI |
| Wi-Fi 网络名称 | 应用正在运行且已获得 macOS 定位权限;否则名称会隐藏 |
| 历史记录和各网络的数据预算 | 由应用记录或提供的数据 |
| 强制屏蔽应用和目标地址 | 应用的签名 Network Extension 已激活,并在 macOS 中获得批准 |
部分依赖应用的功能还取决于应用的许可等级和配置。通过 CLI 保存规则本身并不会启用过滤功能。
与 AI Agent 搭配使用(MCP)
kilobat mcp 会运行本地 stdio Model Context Protocol 服务。请先安装 CLI,然后连接你的 Agent:
Claude Code
claude mcp add kilobat -- kilobat mcp
Codex CLI
codex mcp add kilobat -- kilobat mcp
**Claude Desktop:**配置本地 stdio 服务,使用 /usr/bin/which kilobat 返回的完整可执行文件路径,并将 mcp 作为参数。请参阅本地服务设置指南。
**Cursor、Windsurf、Zed、Gemini CLI、Cline 及其他 MCP 客户端:**添加 stdio 服务,命令设为 kilobat,参数设为 mcp。
可以试着询问:
- “为什么我的互联网速度很慢?”
- “这是按流量计费的连接吗?我能下载 5 GB 吗?”
- “为什么这个 API 无法从我的 Mac 连接?”
- “让 Mac 保持唤醒,直到此构建完成。”
更改设置的工具会在描述中注明确认要求;权限提示由客户端控制。已连接的客户端可通过 tools/list 发现可用工具、输入架构和注释。
请参阅Agent 设置指南了解针对特定客户端的说明。可选的 Agent 技能可帮助 Agent 了解何时以及如何使用 Kilobat:
npx skills add seifip/kilobat-skills
从源代码构建
需要 macOS 14 或更高版本以及 Swift 6。
git clone https://github.com/seifip/kilobat-cli.git
cd kilobat-cli
swift build -c release
.build/release/kilobat --help
使用 swift test 运行测试。
MCP 工具参考
以下名称和标题定义于 v0.45.1。请使用已安装服务的 tools/list 查看完整描述、输入架构和注释。工具是否可用以及返回的数据可能取决于配套应用、许可证等级、权限和配置。
浏览 MCP 工具
| 工具 | 用途 | | --- | --- | | `get_status` | 实时流量快照 | | `diagnose_network` | 诊断连接 | | `scan_wifi` | 附近的 Wi-Fi 网络 | | `run_speedtest` | 速度和缓冲膨胀测试 | | `get_usage_report` | 使用历史记录 | | `compare_usage` | 与路由器或服务提供商进行比较 | | `list_rules` | 配置文件规则 | | `set_profile` | 设置配置文件 | | `set_app_rule` | 允许或阻止某个应用 | | `set_dns` | 设置 DNS 服务器 | | `get_fastest_dns` | 此网络上速度最快的 DNS | | `set_fastest_dns` | 自动切换到速度最快的 DNS | | `set_dns_fallback` | 设置备用 DNS | | `get_wifi` | Wi-Fi 连接 | | `get_wifi_nodes` | Wi-Fi 网状网络节点 | | `reconnect_wifi` | 切换到距离更近的 Wi-Fi 节点 | | `suggest_wifi_channel` | 拥挤程度最低的频道 | | `get_network_history` | 网络历史记录 | | `benchmark_dns` | 比较 DNS 解析器 | | `check_url` | 测量一个网站的耗时 | | `list_connections` | 按进程列出打开的连接 | | `list_devices` | 本地网络上的设备 | | `trace_route` | 跟踪到主机的路由 | | `get_route_history` | 查看一段时间内到主机的路由 | | `compare_speed_tests` | 两次速度测试结果为何不同 | | `get_plan_check` | 测速结果与套餐对比 | | `get_router_checkup` | 路由器检查 | | `get_weekly_digest` | 每周摘要 | | `get_outage_credit` | 服务提供商针对服务中断提供的补偿 | | `get_service_speed` | 到 GitHub、iCloud、Steam 等服务的实际速度 | | `get_hotspot_throttling` | 运营商是否限制了手机热点速度? | | `get_exit_path` | 流量的出口位置:VPN 和公共 IP | | `run_lan_test` | 测试到网络上某台设备的吞吐量 | | `list_networks` | 已知网络 | | `get_conditions` | 长时间运行的网络状况 | | `get_updaters` | 在按流量计费的网络上暂停的更新程序 | | `get_uploads` | 大型上传任务和暂缓的上传任务 | | `diagnose_connection` | 某项内容无法连接的原因 | | `list_sessions` | 活跃会话和 Agent 运行记录 | | `agent_network_log` | Agent 网络日志 | | `create_support_report` | 提交给 ISP 或 IT 服务台的报告 | | `get_proxy_status` | 代理应用和路由 | | `test_proxy_nodes` | 测试代理节点 | | `check_vpn` | VPN 泄漏和冲突检查 | | `check_vpn_leaks` | VPN 泄漏测试 | | `get_call_reports` | 通话质量报告 | | `get_remote_session_reports` | SSH 和远程桌面会话报告 | | `get_stream_reports` | OBS 直播报告 | | `check_stream_readiness` | 开播前检查 | | `get_cloud_gaming` | 云游戏会话 | | `get_household` | 家庭网络中配对的 Mac | | `get_home_usage` | 家中每台设备的使用情况 | | `check_smart_home` | Matter、Thread 和 HomeKit 检查 | | `service_status` | 是服务端的问题,还是我的问题? | | `explain_connection` | 这是哪个进程或主机? | | `get_captive_portal` | Wi-Fi 登录页面(强制门户) | | `get_starlink_status` | Starlink 天线状态 | | `keep_awake` | 让 Mac 保持唤醒 | | `release_awake` | 让 Mac 恢复睡眠 | | `set_budget` | 设置数据流量限额 | | `get_data_pack` | 数据包及其用完时间 | | `set_data_pack` | 添加、修正或结束数据包 | | `set_network_cost` | 设置网络的数据费用 | | `set_updater_pause` | 在按流量计费的网络上暂停更新程序 | | `set_kill_switch` | VPN 紧急断网开关 | | `hold_upload` | 稍后发送上传内容 | | `set_app_quota` | 设置应用的数据流量限额 | | `get_app_bandwidth` | 某个应用一段时间内的带宽 | | `get_access_policy` | 应用声明的连接 | | `set_new_app_mode` | 设置如何处理新应用 | | `list_approvals` | 等待批准的应用 | | `decide_approval` | 允许或阻止等待批准的应用 | | `block_destination` | 阻止域名或 IP | | `list_blocked_connections` | 最近阻止的连接 | | `explain_verdict` | Kilobat 允许或阻止连接的原因 | | `clear_history` | 清除历史记录或忘记某个网站 | | `check_host_reputation` | 主机是否已知为恶意主机? | | `get_protection_status` | 防护状态 | | `set_protection` | 更改防护设置 | | `run_stutter_test` | 查找延迟尖峰 | | `get_game_ping` | Ping 游戏数据中心 | | `get_nearby_radios` | AirDrop 和蓝牙 | | `get_bluetooth_audio` | 蓝牙音频:耳机出现杂音的原因 | | `check_local_network` | 能在这里投屏或打印吗? | | `set_airdrop_visibility` | 更改 AirDrop 可见性 |许可证
Kilobat CLI 代码仅根据 GNU 通用公共许可证第 3.0 版授权;请参阅 LICENSE。随附的地理位置和设备制造商数据还受其他许可证约束,详见 THIRD_PARTY_NOTICES.md。Kilobat 的名称和艺术作品未获准作为商标使用。独立的 Kilobat 桌面应用根据其自身条款分发。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
