Claude Code 中转介绍

通知配置

余额提醒、长任务完成提醒、Webhook 等通知方式。

一、控制台通知

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

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

常见接收渠道:邮件、Webhook(转 Slack / 飞书等)。

按 Token 计费用户强烈建议开启余额预警,避免欠费导致服务中断。

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

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

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

# 替代方案:用 curl /v1/models 看 Key 还能不能用,作为兜底判断
RESULT=$(curl -s -o /dev/null -w "%{http_code}" \
  https://nexor.nexoraivision.com/v1/models \
  -H "x-api-key: $NEXOR_KEY")

if [ "$RESULT" != "200" ]; then
  curl -X POST "$SLACK_WEBHOOK_URL" \
    -H 'Content-Type: application/json' \
    -d "{\"text\":\"⚠️ Nexoraivision Claude Key 不可用(HTTP $RESULT),请检查余额或 Key 状态\"}"
fi

二、Claude Code 长任务完成提醒

Claude Code CLI 自身不带通知功能,套一层 shell 即可。

macOS — osascript

# 加入 ~/.zshrc
claude_notify() {
  claude "$@"
  osascript -e 'display notification "Claude 任务完成" with title "Nexoraivision"'
  afplay /System/Library/Sounds/Glass.aiff
}

# 用法
claude_notify "重构整个 auth 模块"

Linux — notify-send

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

Windows PowerShell

function Claude-Notify {
  claude @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  = 'Claude 任务完成'
  $balloon.Visible = $true
  $balloon.ShowBalloonTip(5000)
}

# 加入 $PROFILE 持久化

三、Claude Code Hooks(官方)

Claude Code 自带 hooks 系统,可以在事件触发时执行命令。

编辑 settings.json

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://nexor.nexoraivision.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxx",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  },
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "osascript -e 'display notification \"Claude 跑完了\" with title \"Claude Code\"'"
          }
        ]
      }
    ]
  }
}

Hook 事件清单

事件触发时机用途
StopClaude 完成响应停止说话时长任务完成提醒(最常用)
NotificationClaude 等待你输入时提示「该轮到你了」
PreToolUse工具调用前拦截审计
PostToolUse工具调用后日志记录
UserPromptSubmit用户提交 prompt 后注入额外上下文

详细见 Claude Code Hooks 官方文档

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

Slack

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

飞书机器人

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

钉钉机器人

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

企业微信群机器人

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

Webhook URL 放 ~/.zshrc / ~/.bashrc 作环境变量,函数加同一文件可全局可用。

五、长任务时长统计

包一层 time

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

六、用量监控

控制台一般会提供「用量」看板可按日 / 按模型 / 按 Key 聚合查看消耗。具体维度、导出、告警等能力以控制台为准

推荐组合

个人开发者

控制台邮件 + 系统级桌面通知(osascript / notify-send)

团队 / 服务端

Webhook → Slack/飞书 + 用量定时拉取 + 日额度上限保险

Claude Code 用户

开 Stop hook 完成提醒 + 控制台 Webhook 余额监控

长跑任务

套 claude_timed 函数 + 推到 IM 群通知队友