OpenCode + Server酱:长任务完成后微信通知

效果:OpenCode 执行耗时任务完毕后,自动在微信收到完成提醒及结果摘要。

前置条件

  • 获取 SendKey:登录 sct.ftqq.com,在「SendKey」页面复制(30 秒获取教程)。
  • 已安装 OpenCode 终端 AI Agent。

配置步骤

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

  1. 在终端执行以下命令安装 Skill:
npx skills add easychen/serverchan-skill
  1. 将 SendKey 设置为系统环境变量,Skill 会自动读取并完成 SCT/sctp 端点识别:
export SERVERCHAN_SENDKEY="你的SENDKEY"
  1. 使用:直接对 Agent 说“任务完成后微信通知我”即可。Skill 会自检环境变量、绝不回显密钥,并支持将批量任务合并为一条推送。

方式二:直接吩咐 Agent 或写入规则

如果不安装 Skill,可利用 OpenCode 可执行 shell 命令的特性接入:

  • 对话中吩咐:直接对 Agent 说“完成后用 curl 调 Server酱 通知我”。
  • 写入项目规则:在项目规则或上下文文件(以当前版本为准)中写入通知约定,要求任务完成后执行以下 curl 命令:
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=任务完成" --data-urlencode "desp=结果摘要"

注意:SendKey 必须放在系统环境变量 SERVERCHAN_SENDKEY 中,不要写进项目文件。

方式三:社区插件

安装社区插件 opencode-plugin-apprise(npm),在配置中填入 Apprise URL:schan://你的SENDKEY(具体配置方式以插件 README 为准)。

常见问题

免费额度是多少? 每日可免费发送 5 条消息,订阅会员目前特价最低 3 元/月,一天最多可发 1000 条(价格详情)。

消息没有收到怎么办? 请检查环境变量 SERVERCHAN_SENDKEY 是否正确设置,并参考常见问题与排查

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

Skill 会泄露 SendKey 吗? 官方 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 条结果摘要即可,批量任务合并成一条,不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。