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 事件清单
| 事件 | 触发时机 | 用途 |
|---|---|---|
Stop | Claude 完成响应停止说话时 | 长任务完成提醒(最常用) |
Notification | Claude 等待你输入时 | 提示「该轮到你了」 |
PreToolUse | 工具调用前 | 拦截审计 |
PostToolUse | 工具调用后 | 日志记录 |
UserPromptSubmit | 用户提交 prompt 后 | 注入额外上下文 |
四、推送到 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 群通知队友
