VS Code(Agent 模式)+ Server酱:长任务跑完微信收通知

效果:VS Code Agent 模式完成编码、重构、批处理等长任务后,自动向你的微信推送完成通知。

前置条件

  • Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制。详见 30 秒获取教程
  • VS Code 已启用 Agent 模式,且 agent 具备执行终端命令的能力。
  • 如需推送到企业微信/钉钉/飞书群,参见 通道说明

配置步骤

第一步:设置环境变量

将 SendKey 写入系统环境变量,不要放进项目文件:

# 添加到 ~/.zshrc 或 ~/.bashrc
export SERVERCHAN_SENDKEY="你的SENDKEY"

保存后执行 source ~/.zshrc(或对应文件)使其生效。

第二步:安装 Server酱 Skill(推荐)

npx skills add easychen/serverchan-skill

安装完成后,直接对 agent 说:

任务完成后微信通知我

Skill 会自动识别 SCT/sctp 端点类型,自检 SERVERCHAN_SENDKEY 环境变量,绝不回显密钥,并将批量任务合并为一条推送。仓库地址:https://github.com/easychen/serverchan-skill

第三步(备选):不装 Skill,直接用 curl 吩咐

如果不想安装 Skill,可以在对话中直接吩咐 agent:

完成后执行 curl 通知我

agent 会执行以下命令(首次执行一般需你确认):

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

也可以把这条通知约定写入该工具的项目规则或上下文文件(文件名以官方文档为准),让 agent 每次自动执行。

完整示例

以下是一个可直接对 agent 说的完整指令:

请帮我重构 src/utils 目录下的所有文件,把重复逻辑提取为公共函数。任务完成后执行 curl 通知我,title 用【重构完成】,desp 写修改了哪些文件。

agent 执行完毕后会调用:

curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" \
  -d "title=重构完成" \
  --data-urlencode "desp=已重构 src/utils 目录,提取公共函数 3 个,修改文件 8 个。"

你的微信会收到一条标题为「重构完成」的消息。

常见问题

每天能发多少条?

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

消息没收到怎么办?

先检查 SERVERCHAN_SENDKEY 环境变量是否正确设置(终端执行 test -n "$SERVERCHAN_SENDKEY" && echo "已设置" || echo "未设置" 确认)。如果变量正确但仍未收到,参见 常见问题与排查

agent 执行 curl 时报错怎么办?

确认 agent 具备终端命令执行能力,首次执行一般需你确认。如果 curl 报错,请检查 SendKey 是否以 SCT 或 sctp 开头。

频率限制是多少?

每分钟上限 50 条。Skill 会将批量任务合并为一条推送。

相关集成

懒人方案:把这段话复制给你的 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 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。