# Claude Code 接入 Server酱：AI 任务完成微信通知（2026 教程）

> 让 Claude Code 在长任务完成、需要人工确认时推送微信通知：Agent Skill、Stop Hook 两种官方接法，含完整配置示例。

- 网页版：https://sct.ftqq.com/docs/integrations/claude-code/
- 更新日期：2026-07-17

# Claude Code + Server酱：AI 干完活，微信告诉你

> 效果：让 Claude Code 跑一个长任务后走开，任务完成（或需要你确认）时微信收到通知，不用盯着终端。

## 前置条件

- 一个 Server酱 SendKey（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）
- 已安装 [Claude Code](https://claude.com/claude-code)

先把 SendKey 存入环境变量（两种方式都依赖它）：

```bash
# 写入 ~/.zshrc 或 ~/.bashrc
export SERVERCHAN_SENDKEY="你的SENDKEY"
```

## 方式一：安装官方 Agent Skill（推荐）

一条命令安装[官方 Skill](https://github.com/easychen/serverchan-skill)：

```bash
npx skills add easychen/serverchan-skill
```

Skill 让 Claude Code "学会"推送：之后你只要说"跑完通知我"，它就会在合适的时机推送。内置约定：按 SendKey 前缀自动选择 SCT/SC3 端点、发送前自检环境变量、绝不回显 SendKey、批量任务合并为一条摘要（尊重每天 5 条的免费额度）。

安装后对 Claude Code 说：

```text
帮我跑完整个测试套件，结束后微信通知我结果
```

## 方式二：Stop Hook（每次会话结束自动通知）

不想依赖模型判断，希望**每次** Claude Code 停下来（完成任务等待输入）都收到通知，用 Hook 更合适。在 `~/.claude/settings.json` 中加入：

```json
{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "curl -sS -X POST \"https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send\" -d \"title=Claude Code 已完成\" -d \"desp=任务结束，等待你的下一步指令\" > /dev/null"
          }
        ]
      }
    ]
  }
}
```

> 上例适用于 SCT 开头的 SendKey；SC3 用户把 URL 换成 `https://<uid>.push.ft07.com/send/${SERVERCHAN_SENDKEY}.send`。

## 完整示例：长任务 + 结果摘要

装好 Skill 后，一句话即可：

```text
重构 src/ 下所有废弃 API 调用，跑通测试。这个任务比较久，
完成后把改动摘要和测试结果推送到我微信。
```

Claude Code 会在任务结束时调用 Server酱 API，你的微信收到形如"✅ 重构完成：12 个文件，测试 84/84 通过"的消息。

## 常见问题

**Skill 和 Hook 选哪个？**
Skill 由模型按语义触发，通知内容智能（带结果摘要），适合"按需通知"；Hook 是确定性触发，每次停止都发，适合"必须知道它停了"。两者可以共存。

**会不会把我的 SendKey 泄露给模型或日志？**
SendKey 只存在环境变量里，Skill 规则明确禁止打印；Hook 中由 shell 展开变量，不经过模型。注意不要把含真实 key 的配置提交到 git。

**免费额度够吗？**
每天 5 条。Skill 的合并摘要规则就是为此设计的；高频使用可考虑订阅（39 元/年）。

**通知能发到手机 App 而不是微信吗？**
可以，换用 Server酱³ 的 SendKey 即可，见[通道对比](https://sct.ftqq.com/docs/getting-started/channels/)。

## 相关集成

- [Python 脚本推送微信通知](https://sct.ftqq.com/docs/integrations/python/)
- [Uptime Kuma 宕机微信告警](https://sct.ftqq.com/docs/integrations/uptime-kuma/)
- [常见问题](https://sct.ftqq.com/docs/getting-started/faq/)


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

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

```text
请帮我把 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 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

