WhatCable:macOS 菜单栏神器 —— 一眼看清你的 USB-C 线到底能干什么

2026/06/08 tool WhatCable · macOS · USB-C · Thunderbolt · 充电诊断 4351 字 · 约 13 分钟 阅读
macOS 菜单栏应用,用日常英语告诉你 Mac 上每根 USB-C 线的真实能力——充电功率、数据传输速率、雷电协议版本。附 CLI 命令行工具和 Homebrew 安装方式。

WhatCable:macOS 菜单栏神器 —— 一眼看清你的 USB-C 线到底能干什么

项目介绍

WhatCable 是一款 macOS 菜单栏应用,能告诉你 Mac 上每根 USB-C 线到底能做什么,以及为什么你的 Mac 可能充电慢

USB-C 接口外表完全一样,但内在能力天差地别——可能是 USB 2.0 充电线,也可能是 240W / 40 Gbps 的 Thunderbolt 4 线。macOS 的 IOKit 其实已经暴露了这些信息,WhatCable 只是把它们变成了一目了然的菜单栏弹窗

指标数据
仓库https://github.com/darrylmorley/whatcable
Stars5,570
Forks169
编程语言Swift
系统要求macOS 14+(Sonoma),Apple Silicon 专用
开源协议MIT(基础版免费)

WhatCable 基础版完全免费开源,还有提供额外功能的 WhatCable Pro(£9.99 一次性购买)。


核心功能

每端口一目了然

打开菜单栏,每个 USB-C 端口会显示一行日常英语描述:

状态说明
✅ Thunderbolt / USB4高速数据 + 视频 + 充电全功能
✅ USB device普通 USB 设备
✅ Display connected外接显示器
✅ Charging only仅充电
⚠️ Slow USB / charge-only cable慢速或仅充电线
⚪ Nothing connected端口闲置

充电诊断(最实用的功能)

当有设备插入时,会显示一个充电诊断横幅,明确指出瓶颈所在:

  • “Cable is limiting charging speed” —— 线缆额定功率低于充电器,瓶颈在线上
  • “Charging at 30W (charger can do up to 96W)” —— Mac 当前在请求低功率(如电池快满时)
  • “Charging well at 96W” —— 充电器、线、设备完全匹配,无瓶颈
  • “Battery full, not charging” —— 电池已满,不充电

数据速率诊断

用日常英语告诉你是什么在限制数据传输速度:

  • “Cable is limiting data speed” —— 线缆速率低于端口和设备
  • “Device runs at 10 Gbps, this is the fastest it supports” —— 设备自身限制,不是线的问题
  • “Running slower than expected” —— 链路降级运行

线缆 e-marker 信息

显示线缆芯片中的完整信息:

  • 线缆额定速度(USB 2.0、5/10/20/40/80 Gbps)
  • 电流等级(3A/5A,对应 60W/100W/240W)
  • e-marker 芯片供应商
  • 线缆信任信号:当 e-marker 报告的值看起来异常时(Zero vendor ID、保留位模式、未注册 VID),显示橙色警示卡

更多功能

功能说明
充电器 PDO 列表充电器广告的每个电压档位(5V/9V/12V/15V/20V…),实时高亮当前协商档位
连接的设备身份供应商名称和产品类型,从 PD Discover Identity 响应解码
USB 设备列表存储设备、Hub、外设在物理端口下分组显示
Thunderbolt 拓扑活动中的 Thunderbolt/USB4 链路的每通道速率、代数、完整交换拓扑
线缆识别如果 e-marker 指纹匹配数据库中已知线缆,显示品牌和型号
活跃传输USB 2 / USB 3 / Thunderbolt / DisplayPort
桌面小组件WidgetKit 小/中/大三种尺寸,桌面实时查看
⌥-click按住 Option 点击菜单栏图标,查看底层 IOKit 属性

设置选项

点击弹窗顶部的齿轮图标进入设置:

  • 隐藏空端口
  • 登录时启动
  • 切换为普通 Dock 应用(而非菜单栏图标)
  • 调整字体大小
  • 显示技术详情
  • 切换语言:支持英语、简体中文、繁体中文、日语、韩语、法语、德语、西班牙语等 20 种语言
  • 连接/断开线缆时通知
  • 匿名贡献端口数据以改进硬件覆盖

CLI 命令行工具

WhatCable 自带 whatcable 命令行工具,与菜单栏应用共享同一诊断引擎:

# 查看所有端口的人类可读摘要
whatcable

# 输出示例
USB-C Port 1
  ✓ Charging well at 96W
  Cable: 5A, 100W, USB4 40 Gbps
  Charger: 5V / 9V / 15V / 20V PDOs

USB-C Port 2
  ! Cable is limiting charging speed
  Cable: 3A, 60W, USB 2.0
  Device: External SSD, USB 10 Gbps

# JSON 格式输出
whatcable --json

# 持续监控(Ctrl+C 退出)
whatcable --watch

# 包含底层 IOKit 属性
whatcable --raw

# 打开预填的 GitHub Issue
whatcable --report

# Pro 版:实时功耗遥测
whatcable --monitor

安装方式

方式一:手动安装(推荐)

  1. Release 页面 下载最新 WhatCable.zip
  2. 解压后拖 WhatCable.app/Applications
  3. 应用已由 Apple 签名并公证,无 Gatekeeper 警告

不在 Mac App Store 上架——App Sandbox 会阻止 WhatCable 所需的底层 IOKit 读取。

方式二:Homebrew 安装

brew tap darrylmorley/whatcable
brew install --cask whatcable

Homebrew 会自动安装菜单栏应用并将 whatcable CLI 添加到 PATH。

仅 CLI(无菜单栏)

brew tap darrylmorley/whatcable
brew install whatcable-cli

适用于纯终端环境或脚本场景。

手动安装后 CLI 仍可用

CLI 工具在应用包内:

ln -s /Applications/WhatCable.app/Contents/Helpers/whatcable /usr/local/bin/whatcable

WhatCable Pro(付费解锁额外功能)

£9.99 一次性购买,支持 2 台 Mac。额外功能:

功能说明
实时功耗监测系统电源输入图表
协商诊断端口/线缆/设备各受支持 vs 实际协商的全部分析,标出薄弱环节
显示诊断读取显示器真实分辨率(5K/6K 也可),检查 DSC 压缩状态,识别 HDMI/DP 转接器
端口健康计数端口的物理健康指标
线缆阻抗估算线缆质量评估
引脚图与液体检测物理层诊断

工作原理

WhatCable 读取四类 IOKit 服务,无私有 API、无辅助守护进程:

IOKit 服务提供的信息
AppleHPMInterfaceType10/11/12(M3系列)
AppleTCControllerType10/11(M1/M2)
每端口状态:连接、传输、插头方向、e-marker 存在
IOPortFeaturePowerSource充电器完整的 PDO 列表 + 当前活跃 PDO
IOPortTransportComponentCCUSBPDSOP / SOPp / SOPppPD Discover Identity VDO
XHCI controller 子树USB 设备 → 物理端口的映射

线缆速率和功率解码遵循 USB Power Delivery 规范(USB-PD R3.2 V1.2,2026 年 3 月)。供应商名称来自捆绑的 SQLite 数据库,合并 USB-IF 官方供应商列表、社区 usb.ids 列表和用户贡献的线缆指纹。


从源码构建

git clone https://github.com/darrylmorley/whatcable.git
cd whatcable

swift build                   # 编译所有
swift run WhatCable           # 运行菜单栏应用(开发模式)
swift run whatcable-cli       # 运行 CLI
swift test                    # 运行测试套件

需要 Swift 5.9+(Xcode 15+)。


优劣势分析

优势说明
极其实用物理线缆无法区分能力,这个痛点每个 Mac 用户都会遇到
无私有 API纯 IOKit 读取,无隐私风险
界面优雅菜单栏弹窗设计精良,日常英语输出直观
CLI 配套终端场景也有完整功能,脚本可集成
多语言支持20 种语言,包括简体中文
社区驱动线缆指纹数据库由用户贡献持续完善
劣势说明
仅限 macOS不支持 Windows/Linux(依赖 IOKit)
仅 Apple SiliconIntel Mac 无法使用(Intel 的 Titan Ridge 控制器不暴露所需 IOKit 数据)
需 macOS 14+不支持 macOS Ventura 及更早版本
Pro 版收费高端诊断功能需 £9.99 购买(但基础版已足够好用)

适合谁用

  • Mac 用户 —— 你的抽屉里有多少根”看起来一毛一样”的 USB-C 线?再也不用猜了
  • IT 管理员 —— 给团队配发显示器、拓展坞和线缆时,快速验证每根线的实际能力
  • 充电焦虑者 —— 搞不清为什么 Mac 充得慢,WhatCable 直接告诉你瓶颈在哪
  • 硬件开发/测试工程师 —— CLI 的 JSON 输出和 Watch 模式可集成到自动化测试
  • 数码爱好者 —— 对有 e-marker 芯片的线缆好奇,想了解 USB-PD 协议的细节

总结

WhatCable 解决了一个几乎每个 Mac 用户都遇到过但没人给出好方案的问题:USB-C 线缆能力信息不透明。 一根黑色线可能只能充电,另一根可能是 Thunderbolt 4 全功能线——外表完全一样。

WhatCable 的菜单栏弹窗设计得足够优雅,日常英语输出让非技术用户也能理解。CLI 工具则让高级用户可以深度使用。基础版完全免费且功能完整,Pro 版的功耗监测和显示诊断适合需要更深度诊断的用户。

如果你有一台 Apple Silicon Mac,强烈推荐装上 WhatCable,安装只需两分钟,但从此你再也不用对着抽屉里那一堆 USB-C 线发呆了。


项目地址

资源链接
GitHub 仓库https://github.com/darrylmorley/whatcable
官方网站https://whatcable.uk
WhatCable Prohttps://whatcable.uk/pro
Release 页面https://github.com/darrylmorley/whatcable/releases/latest
Homebrewbrew tap darrylmorley/whatcable && brew install --cask whatcable
开源协议MIT(基础版)

参考资料

  • GitHub 仓库:源代码、Release 下载、Issue 反馈。→ https://github.com/darrylmorley/whatcable
  • 官方网站:概览、截图、CLI 文档。→ https://whatcable.uk
  • USB-PD 规范:USB Power Delivery R3.2 V1.2(2026 年 3 月),线缆速率和功率解码的依据。

文档信息

加载评论…