AMP(Sourcegraph)+ Server酱:长任务完成后微信通知你

效果:AMP 跑完编码、重构、批处理等长任务时,自动向你的微信推送完成通知。

前置条件

  • Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程)。
  • AMP 运行环境:主推方案通过 skills.sh 安装 Skill,AMP 在官方支持列表内;备选方案需 AMP 具备执行终端命令的能力。
  • 环境变量:将 SendKey 写入系统环境变量 SERVERCHAN_SENDKEY(写入 ~/.zshrc~/.bashrc),不要写进项目文件。

配置步骤

方式一:安装官方 Server酱 Skill(推荐)

在终端执行:

npx skills add easychen/serverchan-skill

装好后,直接对 AMP 说:

任务完成后微信通知我

Skill 内置约定:

  • 自动识别 SCTsctp 端点
  • 自检 SERVERCHAN_SENDKEY 环境变量是否存在
  • 绝不在对话中回显密钥
  • 批量任务合并为一条推送,避免刷屏

仓库地址:https://github.com/easychen/serverchan-skill

方式二:对话中直接吩咐(不装 Skill)

在 AMP 对话中直接说"完成后执行 curl 通知我",让 AMP 执行以下命令:

curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" \
  -d "title=任务完成" \
  --data-urlencode "desp=一句话结果"

首次执行终端命令一般需用户确认。

方式三:写入项目规则文件

把上述通知约定写入 AMP 的项目规则/上下文文件(各工具文件名不同,以官方文档为准),让 AMP 每次长任务结束自动调用。SendKey 仍只放系统环境变量,不写进项目文件。

常见问题

每天能发多少条?

免费额度每天 5 条,每分钟上限 50 条;订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

消息没收到怎么办?

先确认环境变量已正确设置(如执行 test -n "$SERVERCHAN_SENDKEY" 检查返回状态),再检查 API 返回 JSON 的 code 是否为 0;更多排查见常见问题与排查

频率有限制吗?

有,每分钟上限 50 条。Skill 已内置批量任务合并为一条推送的逻辑来规避短时间密集触发。

SendKey 要写进项目文件吗?

不要。SendKey 只放系统环境变量 SERVERCHAN_SENDKEY~/.zshrc~/.bashrc),避免随项目仓库泄露。如需推送到企业微信/钉钉/飞书群等通道,参见通道说明

相关集成

懒人方案:把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手,它就会替你完成 Server酱 的接入:

请帮我把 Server酱 微信通知接入到我当前的项目/工具中:
1. API:POST https://sctapi.ftqq.com/{SendKey}.send,参数 title(必填,不能含换行)、desp(正文,支持 Markdown,可选);成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头,则改用 https://{uid}.push.ft07.com/send/{SendKey}.send,uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取;如果没有,提醒我到 https://sct.ftqq.com 免费获取(每天 5 条额度)。
4. 安全要求:不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定:任务结束发 1 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。