Goose + Server酱:长任务跑完,微信收到完成通知
效果:Goose 完成编码、重构、批处理等长任务后,自动向你的微信推送一条完成通知。
前置条件
- Server酱 SendKey:前往 获取 SendKey(30 秒教程),复制你的 SendKey。
- Goose 已安装并可正常运行。
- 终端环境变量
SERVERCHAN_SENDKEY已设置(见下方步骤)。 - 如需推送到企业微信、钉钉或飞书群,参见通道配置。
配置步骤
1. 设置环境变量
在 ~/.zshrc 或 ~/.bashrc 中添加:
export SERVERCHAN_SENDKEY="你的SENDKEY"
保存后执行 source ~/.zshrc(或 source ~/.bashrc)使其生效。验证:
test -n "$SERVERCHAN_SENDKEY" && echo "已设置" || echo "未设置"
若输出“已设置”即配置成功。不要将 SendKey 写入项目文件。
2. 安装 Server酱 Skill
在终端执行:
npx skills add easychen/serverchan-skill
该 Skill 来自 easychen/serverchan-skill,安装后 Goose 即具备 Server酱 推送能力。Skill 内置以下约定:
- 自动识别
SCT和sctp端点 - 自动读取
SERVERCHAN_SENDKEY环境变量,绝不回显密钥 - 批量任务合并为一条推送
3. 启用通知
在 Goose 对话中直接说:
任务完成后微信通知我
Goose 会在任务结束时自动调用 Server酱 推送通知。
完整示例
以下是不安装 Skill 时的备选方案——在对话中直接吩咐 Goose:
完成后执行 curl 通知我
Goose 会执行以下命令:
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=任务完成" --data-urlencode "desp=一句话结果"
首次执行终端命令时,Goose 一般会请求用户确认。
你也可以将上述通知约定写入项目规则或上下文文件(具体文件名以 Goose 官方文档为准),让 Goose 在每次任务完成后自动执行通知。
常见问题
免费额度够用吗?
免费额度为每天 5 条,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。日常任务通知完全够用。
消息没收到怎么办?
先检查 SERVERCHAN_SENDKEY 环境变量是否正确设置,再确认 SendKey 前缀与端点匹配。更多排查步骤见 常见问题与排查。
频率限制是多少?
每分钟最多 50 条推送。Skill 已内置批量任务合并机制,多个任务完成会合并为一条通知,避免触发频率限制。
Skill 安装失败怎么办?
确认 Node.js 环境正常(npx 可用),网络可访问 GitHub。也可改用备选方案,在对话中直接吩咐 Goose 执行 curl 命令。