# GitHub Copilot（VS Code）接入 Server酱：Agent 长任务完成微信提醒（2026 教程）

> 在 VS Code 中使用 GitHub Copilot Agent 模式跑完重构等长任务后，通过 Server酱 推送微信通知。支持官方 Skill 一键接入及 Agent Hooks 配置。

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

# GitHub Copilot（VS Code） + Server酱：Agent 长任务完成微信提醒

> 效果：VS Code 中 Copilot Agent 跑完长任务后，微信收到结果通知。

## 前置条件

- 获取 SendKey：登录 sct.ftqq.com，在「SendKey」页面复制（[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)）。
- VS Code 已安装 GitHub Copilot 扩展。

## 配置步骤

### 方法一：安装官方 Server酱 Skill（推荐）

在项目终端中执行以下命令安装 Skill：

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

将 SendKey 配置到系统环境变量 `SERVERCHAN_SENDKEY` 中（Skill 会自检该变量，且绝不回显密钥）。该 Skill 会自动识别 SCT/sctp 端点，并将批量任务合并为一条推送。

安装完成后，在 Copilot Agent 对话中直接说"任务完成后微信通知我"即可。

### 方法二：使用 Agent Hooks（Preview 特性）

Agent Hooks 可在 Agent 会话结束时自动触发推送。此特性目前为 Preview 状态，JSON 格式未来可能变化。

通过 VS Code 命令面板执行 `Chat: Configure Hooks`，或在项目 `.github/hooks/` 目录下创建 JSON 文件，配置 Stop 事件钩子（类型为 `command`，命令为 curl 推送）。具体 JSON 结构请参考 [Agent Hooks 官方文档](https://code.visualstudio.com/docs/agent-customization/hooks)。示例命令如下：

```bash
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=Copilot任务完成" --data-urlencode "desp=Agent会话已结束"
```

确保系统环境变量中已设置 `SERVERCHAN_SENDKEY`。

### 方法三：自定义指令

在仓库根目录创建 `.github/copilot-instructions.md`（官方推荐起点），写入通知约定：

```markdown
任务完成后，执行 curl 调用 Server酱 API 通知我：
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=任务完成" --data-urlencode "desp=结果摘要"
```

由于终端工具默认需用户批准，如需无人值守运行，请在 VS Code 设置中将 `curl` 加入 `chat.tools.terminal.autoApprove` 列表。SendKey 务必放在系统环境变量 `SERVERCHAN_SENDKEY` 中，不要写进仓库文件。

## 完整示例

以下是一个结合环境变量与 Agent Stop 事件的 Hooks 配置思路：在 `.github/hooks/` 下创建 JSON 文件（如 `notify.json`），配置 Stop 事件钩子，类型为 `command`，命令为 curl 推送。具体 JSON 结构请参考 [Agent Hooks 官方文档](https://code.visualstudio.com/docs/agent-customization/hooks)。示例命令：

```bash
curl -sS -X POST "https://sctapi.ftqq.com/${SERVERCHAN_SENDKEY}.send" -d "title=代码重构完成" --data-urlencode "desp=批量修改任务已结束，请返回VS Code查看结果"
```

## 常见问题

**免费版有推送条数限制吗？**
免费用户每天可发送 5 条消息，订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**配置后没收到微信通知？**
请检查系统环境变量 `SERVERCHAN_SENDKEY` 是否正确设置，并参考[常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/)进行网络与配置核对。

**推送频率有什么限制？**
API 每分钟上限为 50 条，订阅会员每日 API 请求上限为 1000。

**Agent 执行 curl 时总提示需要批准？**
终端工具默认需用户确认。可在 VS Code 设置中找到 `chat.tools.terminal.autoApprove`，将 `curl` 加入免确认列表以实现自动推送。

## 相关集成

- [Claude Code 任务完成通知](https://sct.ftqq.com/docs/integrations/claude-code/)
- [Python 脚本推送](https://sct.ftqq.com/docs/integrations/python/)
- [青龙面板任务通知](https://sct.ftqq.com/docs/integrations/qinglong/)


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

