Gemini CLI + Server酱:长任务跑完微信收到通知
效果:Gemini CLI 执行的长任务完成后,自动向你的微信推送一条完成通知。
前置条件
配置步骤
方法一:安装 Server酱 Skill(推荐)
在终端执行:
npx skills add easychen/serverchan-skill
安装完成后,直接对 Gemini CLI 说:
任务完成后微信通知我
Skill 会自动识别 SCT/sctp 端点、读取 SERVERCHAN_SENDKEY 环境变量,批量任务合并为一条推送,且不会回显密钥。仓库地址:https://github.com/easychen/serverchan-skill
设置环境变量(以 bash 为例,写入 ~/.bashrc):
export SERVERCHAN_SENDKEY=你的SENDKEY
执行 source ~/.bashrc 生效。
方法二:在 GEMINI.md 中写入通知约定
Gemini CLI 的上下文文件 GEMINI.md(项目根目录或全局 ~/.gemini/GEMINI.md)可写入长期指令。在其中加入以下内容:
当用户要求任务完成后通知时,执行:
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=任务完成" --data-urlencode "desp=一句话结果"
SendKey 读环境变量 SERVERCHAN_SENDKEY,不存在则提醒用户到 sct.ftqq.com 获取。
保存后,在对话中吩咐"跑完用 Server酱 通知我"即可。
方法三:对话中直接吩咐
不安装 Skill、不写 GEMINI.md,直接在对话中说:
跑完这个任务后,用 curl 调 Server酱 API 通知我,SendKey 在环境变量 SERVERCHAN_SENDKEY 里
Gemini CLI 内置 shell 工具可执行命令,执行前会请求确认。
完整示例
GEMINI.md 通知约定片段,复制即用:
## 任务完成通知约定
当用户要求任务完成后通知时,执行以下命令:
```bash
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" \
-d "title=任务完成" \
--data-urlencode "desp=一句话结果"
```
注意事项:
- SendKey 从环境变量 SERVERCHAN_SENDKEY 读取
- 如果该变量不存在,提醒用户到 sct.ftqq.com 获取
- desp 参数写一句话概括任务结果
常见问题
免费额度够用吗?
免费版每天 5 条,每分钟上限 50 条。订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。
消息没收到怎么办?
先检查 SERVERCHAN_SENDKEY 环境变量是否已设置(如 test -n "$SERVERCHAN_SENDKEY"),再确认 curl 请求是否成功(检查返回信息)。更多排查见常见问题与排查。
频率限制是多少?
每分钟上限 50 条。批量任务建议用 Skill,它会自动合并为一条推送。
Skill 安装失败怎么办?
确认 Node.js 版本满足 npx 运行要求,网络可访问 GitHub。也可改用方法二或方法三,不依赖 Skill。
相关集成
- /integrations/claude-code/ —— Claude Code 任务完成通知
- /integrations/python/ —— Python 脚本推送
- /integrations/qinglong/ —— 青龙面板任务通知