在 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 教程分類。