Devin Desktop + Server酱:本地 agent 长任务完成微信通知

效果:Devin Local(原 Cascade)跑完长任务后,自动向微信推送结果通知。

前置条件

  • 获取 Server酱 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程)。
  • 将 SendKey 配置为系统环境变量 SERVERCHAN_SENDKEY,不要写进项目文件。
  • 已安装 Devin Desktop(原 Windsurf)。

配置步骤

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

在终端中执行以下命令安装 Skill:

npx skills add easychen/serverchan-skill

安装完成后,直接对 Devin Local 说:

任务完成后微信通知我

该 Skill 会自动识别 SCT/sctp 端点、检查 SERVERCHAN_SENDKEY 环境变量,且不会在对话中回显密钥,批量任务也会合并为一条推送。

方式二:通过规则文件约定

如果不使用 Skill,可通过规则文件让 agent 在任务完成后执行 curl 调用。

在项目根目录创建 .devin/rules/notify.md(兼容旧版 .windsurf/rules/notify.md),写入以下内容:

---
trigger: always_on
---
当长任务完成时,执行以下命令通知用户:
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=任务完成" --data-urlencode "desp=结果摘要"

配置后,Devin Local 在处理任务时会遵循此规则,自动执行 curl 推送。

方式三:对话中直接吩咐

在对话中直接向 agent 下达指令:

完成后用 curl 调 Server酱 通知我

并在对话中提供上述 curl 命令即可。

完整示例

规则文件 .devin/rules/notify.md 的完整内容,可直接复制使用:

---
trigger: always_on
---
当长任务完成时,执行以下命令通知用户:
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=任务完成" --data-urlencode "desp=结果摘要"

常见问题

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

消息没收到怎么办? 请检查系统环境变量 SERVERCHAN_SENDKEY 是否正确设置,以及终端网络能否正常访问 API。更多排查步骤见常见问题

频率限制是多少? 每分钟发送上限为 50 条,会员每日 API 请求上限为 1000 次。

Devin Local 没有执行 curl 命令? 请检查权限模型配置,确保 curl 命令处于 allow 或 ask 规则下,而非被 deny 规则阻止。

相关集成

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