Codex 中转介绍

🆘 通知配置

配置余额提醒、到期通知、长任务完成提醒、Webhook 等。

一、控制台通知

控制台通常提供以下通知能力(具体可用事件类型 / 渠道以控制台为准):

  • 余额预警 / 账户事件
  • 服务公告 / 维护通知
  • Key 异常访问 / 安全告警

常见接收渠道:

  • 邮件
  • Webhook(接到自己的服务端再转发到 Slack / 飞书等)
按 Token 计费用户强烈建议开启余额预警,避免账户欠费导致服务中断。

自助监控余额(兜底方案)

如果控制台没有原生 Webhook 通知,可以用定时脚本拉余额:

#!/usr/bin/env bash
# check-balance.sh - 加 crontab 每小时跑一次

BALANCE=$(curl -s https://nexor.nexoraivision.com/v1/dashboard/billing/balance \
  -H "Authorization: Bearer $NEXOR_KEY" | jq -r '.balance // 0')

THRESHOLD=10  # 阈值

if (( $(echo "$BALANCE < $THRESHOLD" | bc -l) )); then
  curl -X POST "$SLACK_WEBHOOK_URL" \
    -H 'Content-Type: application/json' \
    -d "{\"text\":\"💸 Nexoraivision 余额仅剩 ¥$BALANCE,请尽快充值\"}"
fi
余额查询接口路径以中转实际提供为准,上面 /v1/dashboard/billing/balance 仅为参考。可以先 curl /v1/models 看 Key 是否还能用作为兜底判断。

二、Codex CLI 本地通知(长任务完成提醒)

Codex CLI 自身不带通知功能,但可以套一层 shell 实现「跑完叫我」。

macOS — 用 osascript

codex_notify() {
  codex "$@"
  osascript -e 'display notification "Codex 任务完成" with title "Nexoraivision"'
  afplay /System/Library/Sounds/Glass.aiff
}

# 用法
codex_notify "重构整个 auth 模块" -f src/auth/*.ts

Linux — 用 notify-send

codex_notify() {
  codex "$@"
  notify-send "Nexoraivision" "Codex 任务完成"
  paplay /usr/share/sounds/freedesktop/stereo/complete.oga
}

Windows PowerShell

function Codex-Notify {
  codex @args
  [System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') | Out-Null
  $balloon = New-Object System.Windows.Forms.NotifyIcon
  $balloon.Icon = [System.Drawing.SystemIcons]::Information
  $balloon.BalloonTipTitle = 'Nexoraivision'
  $balloon.BalloonTipText  = 'Codex 任务完成'
  $balloon.Visible = $true
  $balloon.ShowBalloonTip(5000)
}

# 用法
Codex-Notify "重构整个 auth 模块"

三、推送到 IM(Slack / 飞书 / 钉钉 / 企微)

Slack

codex_notify_slack() {
  codex "$@"
  curl -X POST "$SLACK_WEBHOOK_URL" \
    -H 'Content-Type: application/json' \
    -d '{"text":"✅ Codex 任务跑完了"}'
}

飞书机器人

codex_notify_feishu() {
  codex "$@"
  curl -X POST "$FEISHU_WEBHOOK_URL" \
    -H 'Content-Type: application/json' \
    -d '{"msg_type":"text","content":{"text":"✅ Codex 任务跑完了"}}'
}

钉钉机器人

codex_notify_dingtalk() {
  codex "$@"
  curl -X POST "$DINGTALK_WEBHOOK_URL" \
    -H 'Content-Type: application/json' \
    -d '{"msgtype":"text","text":{"content":"✅ Codex 任务跑完了"}}'
}

企业微信群机器人

codex_notify_wework() {
  codex "$@"
  curl -X POST "$WEWORK_WEBHOOK_URL" \
    -H 'Content-Type: application/json' \
    -d '{"msgtype":"text","text":{"content":"✅ Codex 任务跑完了"}}'
}

把 webhook URL 放到 ~/.zshrc / ~/.bashrc 作为环境变量,函数加进同一个文件就能全局可用。

四、长任务时长统计

如果你想知道 Codex 一次跑了多久,包一层 time

codex_timed() {
  start=$(date +%s)
  codex "$@"
  end=$(date +%s)
  duration=$((end - start))
  echo "⏱  耗时 ${duration}"
  osascript -e "display notification \"耗时 ${duration}\" with title \"Codex 完成\""
}

五、监控用量

控制台一般会提供「用量」看板可按日 / 按模型 / 按 Key 聚合查看消耗。具体可用维度、是否支持 CSV 导出、是否提供阈值告警以控制台为准

推荐组合

个人开发者

控制台余额预警 + 系统级桌面通知(osascript / notify-send)

团队 / 服务端

定时拉余额 → 推 IM 群 + 给 Key 设用量上限做兜底