在 macOS 菜单栏常驻显示币安状态有三种方式:一是币安官方客户端内置的菜单栏图标(默认启用,右上角显示小图标,点击展开账户和通知);二是用 SwiftBar/BitBar 自定义显示实时币价;三是用 xbar 脚本拉取 API 数据。每种方式各有适用场景。官方客户端从 币安官网 获取;如果你想手机端也能看状态,点 币安官方APP 下载。本文给出三种方案完整步骤及脚本示例。
一、为什么需要菜单栏状态
- 不切换应用也能看币价,专注当前工作;
- 订单成交瞬间弹出通知,不错过止盈止损;
- 连接状态一眼判断是否掉线;
- 多币对轮播节省屏幕空间。
Mac 菜单栏空间有限(特别是刘海屏 MacBook),务必精简内容。
二、方案一:币安客户端内置菜单栏图标
开启
默认已开启。若没有看到:
- 打开币安客户端 → 设置(
Command+,); - 通用 → 菜单栏图标;
- 勾选「在菜单栏显示 Binance」。
点击菜单栏图标展开
菜单栏 Binance 图标点击会展开小窗口,默认显示:
- 当前登录账号;
- 最近 3 条通知;
- 账户总资产(可设置隐藏/显示);
- 连接状态(延迟 ms);
- 快速操作:打开客户端、锁定、退出。
开启/关闭单项
客户端设置 → 菜单栏 → 可勾选:
- 显示资产
- 显示通知红点
- 显示延迟
- 显示简化价格(3 个币对自选)
三、方案二:SwiftBar 自定义菜单栏脚本
SwiftBar 是开源的菜单栏工具,任何脚本输出都能变成菜单栏显示。
安装
brew install --cask swiftbar
或从 SwiftBar 官网下载 dmg。
设定脚本目录
首次启动 SwiftBar 会让你选择一个脚本目录,常用:~/SwiftBar。
示例 1:显示 BTC 实时价
创建文件 ~/SwiftBar/btc-price.30s.sh(文件名中 30s 表示 30 秒刷新一次):
#!/bin/bash
price=$(curl -s 'https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT' | sed 's/.*"price":"\([0-9.]*\)".*/\1/')
echo "BTC \$${price%.*}"
保存后 chmod +x ~/SwiftBar/btc-price.30s.sh。
示例 2:多币对轮播
#!/bin/bash
# ~/SwiftBar/binance-ticker.15s.sh
symbols=("BTCUSDT" "ETHUSDT" "SOLUSDT" "BNBUSDT")
output=""
for s in "${symbols[@]}"; do
p=$(curl -s "https://api.binance.com/api/v3/ticker/price?symbol=$s" | sed 's/.*"price":"\([0-9.]*\)".*/\1/')
output+="${s/USDT/} \$${p%.*} | "
done
echo "${output% | }"
菜单栏会显示:BTC $67234 | ETH $3421 | SOL $142 | BNB $542。
示例 3:24h 涨跌色彩
#!/bin/bash
# ~/SwiftBar/btc-24h.60s.sh
data=$(curl -s 'https://api.binance.com/api/v3/ticker/24hr?symbol=BTCUSDT')
price=$(echo "$data" | sed 's/.*"lastPrice":"\([0-9.]*\)".*/\1/')
change=$(echo "$data" | sed 's/.*"priceChangePercent":"\(-\{0,1\}[0-9.]*\)".*/\1/')
if [[ $change == -* ]]; then
color="red"
else
color="green"
fi
echo "BTC \$${price%.*} ${change}% | color=${color}"
四、方案三:BitBar / xbar(老牌工具)
BitBar 已被 SwiftBar 取代,但如果你已经在用 xbar(BitBar 继任者),用法类似:
- 下载 xbar from
xbarapp.com; - 在
~/Library/Application Support/xbar/plugins/下放脚本; - 脚本命名需要
.Xs.sh后缀(X 是秒数)。
xbar 比 SwiftBar 启动稍慢,但社区插件数量多。
五、订单成交推送到菜单栏
用币安 API 轮询最近订单,变化时显示红点:
#!/bin/bash
# ~/SwiftBar/binance-order.30s.sh
API_KEY="你的API_Key"
SECRET="你的Secret"
TIMESTAMP=$(date +%s)000
PARAMS="timestamp=${TIMESTAMP}&recvWindow=5000"
SIGN=$(echo -n "$PARAMS" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2)
RESP=$(curl -s -H "X-MBX-APIKEY: $API_KEY" \
"https://api.binance.com/api/v3/openOrders?${PARAMS}&signature=${SIGN}")
COUNT=$(echo "$RESP" | grep -o '"orderId"' | wc -l | tr -d ' ')
if [[ $COUNT -gt 0 ]]; then
echo "🔴 $COUNT 挂单"
else
echo "✅ 无挂单"
fi
安全提示:API Key 以只读权限创建,不要启用提现权限;脚本放到权限 600 的目录 chmod 600 binance-order.30s.sh。
六、连接质量监控
显示币安 API 延迟:
#!/bin/bash
# ~/SwiftBar/binance-ping.10s.sh
start=$(date +%s%N)
curl -s -o /dev/null 'https://api.binance.com/api/v3/ping'
end=$(date +%s%N)
latency=$(( (end - start) / 1000000 ))
if [[ $latency -lt 100 ]]; then
echo "✅ ${latency}ms"
elif [[ $latency -lt 300 ]]; then
echo "⚠️ ${latency}ms"
else
echo "❌ ${latency}ms"
fi
10 秒刷新一次,延迟高时立即可见。
七、菜单栏空间管理
在 MacBook Pro 的刘海屏上菜单栏只有几十像素宽,安排不当会被刘海遮挡。建议按优先级:
| 优先级 | 内容 |
|---|---|
| P0 | 系统原生(Wi-Fi、电池、时间) |
| P1 | 币安客户端图标 |
| P2 | 币价(1-2 个币对) |
| P3 | 订单红点 |
| P4 | 系统音量/亮度 |
| P5 | 其它(可折叠到 Bartender) |
用 Bartender 收纳
Bartender 3/4 能把菜单栏图标分类折叠:
- 始终可见:币价 + 订单
- 折叠区:Binance、Dropbox、Slack
- 按
Command+Shift+B展开
八、不同 macOS 版本的菜单栏差异
| macOS 版本 | 菜单栏最大容量 | 第三方图标支持 |
|---|---|---|
| 12 Monterey | 15-20 图标 | 完整支持 |
| 13 Ventura | 15-20 图标 | 完整支持 |
| 14 Sonoma | 12-18 图标(刘海屏) | 完整支持,SIP 更严 |
| 15 Sequoia | 12-18 图标 | 需要重新授权 SwiftBar |
Sequoia 升级后 SwiftBar 需要在 隐私 → 辅助功能 中重新勾选。
九、性能影响
菜单栏脚本每 10/30/60 秒运行一次 curl 请求,开销:
- CPU:<1%(Apple Silicon)、~1-2%(Intel);
- 内存:脚本总共 20-50MB;
- 网络:每次请求约 1KB。
不会对系统造成明显负担。若 Wi-Fi 不稳定可以把间隔调到 60s 以上。
十、组合方案推荐
日常用户:
- 币安客户端自带图标(显示通知红点);
- SwiftBar:显示 BTC/ETH 两个币价。
高频交易用户:
- 客户端图标;
- SwiftBar 多币对轮播;
- 订单监控脚本;
- Ping 延迟监控;
- Bartender 收纳。
量化用户:
- 客户端图标折叠;
- SwiftBar:API 状态 + 账户盈亏;
- 自定义脚本接入个人风控策略。
常见问题 FAQ
Q1: 菜单栏币价显示延迟严重怎么办?
A: 默认刷新间隔 30-60 秒,想更快把文件名后缀改为 .5s.sh(5 秒)即可。但不要低于 5 秒,否则可能触发 API 限频。
Q2: SwiftBar 脚本在 Sonoma 上不运行?
A: Sonoma 对脚本权限更严。到 隐私 → 文件与文件夹 中,允许 SwiftBar 访问 ~/SwiftBar 目录;到 隐私 → 完全磁盘访问中再勾一次 SwiftBar。
Q3: 币安客户端菜单栏图标消失?
A: 可能是菜单栏太拥挤被隐藏。关闭几个不常用的图标,或把 Binance 图标拖到更前面。用 Command + 拖动可调整菜单栏图标顺序。
Q4: API Key 放菜单栏脚本安全吗?
A: 只要 API Key 是只读权限(无交易、无提现),脚本文件权限设为 600(chmod 600),整台 Mac 只有你自己用,安全性足够。不要放在 iCloud 同步目录。
Q5: 刘海屏 MacBook 菜单栏图标被遮挡?
A: 用 Bartender 4 可以让超出的图标折叠到下拉菜单;或者启用系统设置 → 桌面与程序坞 → 自动隐藏菜单栏,需要时划到顶部再显示。
想看更多 Mac 进阶技巧到 分类导航 浏览 Mac 教程分类。