用 Coding Agent 一次会话构建并上线 Slack Agent

4 分钟阅读
2026 年 3 月 3 日
Slack 已经是团队日常协作的主阵地。它天然就是 Agent 的交互界面:有消息、线程、按钮和事件,你不需要再额外发明一套新 UI 或上手流程。
但从“我想做一个 Slack Agent”到“真正跑起来并完成部署”,仍然要协调很多系统:
-
在 Slack API 控制台创建应用
-
配置 OAuth scopes 和事件订阅
-
编写 webhook 处理逻辑和签名校验
-
部署到能满足 Slack 3 秒响应窗口的基础设施
每一部分都有各自的文档,而且必须彼此配合好。
像 Claude Code、OpenCode、Cursor 和 GitHub Copilot 这类 coding agent,正适合处理这种跨系统协调工作:它们能读文档、梳理依赖,并在几秒内生成代码。我们构建了 Slack agent skill 来发挥这类能力。它基于我们的 Slack Agent Template,可配合你选择的 coding agent 使用,在一次会话中把你的想法落地为部署在 Vercel 上的 Slack Agent:能自动化的步骤会自动完成,不能自动化的步骤也会明确告诉你该点哪里。
Link to heading通过 skill 向导,从想法到部署完成
安装 skill 并运行向导:
npx skills add vercel-labs/slack-agent-skill
安装 Slack agent skill
然后在你的 agent 中运行这个 skill。比如在 Claude Code 中:
/slack-agent new
在 Claude Code 中启动向导
向导会先询问你想构建哪类 Agent。你可以说“一个能回答内部文档问题的支持助手”,或者“一个每天早上收集团队更新的 standup bot”。基于你的回答,它会生成针对该场景的定制实现计划。任何代码写入前,你都可以先审核并批准这份计划。
接下来,你会经历五个阶段:
-
项目初始化:你选择 LLM provider,Agent 基于我们的 Slack Agent Template 为你生成项目骨架。
-
创建 Slack 应用:Agent 会按你的应用名称、描述和 Bot 展示设置定制
manifest.json,然后打开 Slack 控制台,引导你创建应用并安装到工作区。模板已预置 OAuth scopes、事件订阅和 slash commands。 -
环境配置:Agent 会引导你设置 signing secret、bot token,以及项目所需的其他 API keys。
-
本地测试:Agent 启动开发服务器并连接到 Slack,这样在触及生产环境前,你就能直接给 Bot 发消息并实时看到响应。
-
生产部署:Agent 引导你部署到 Vercel 并设置环境变量。从这一刻起,每次 git push 都会触发新的部署。


向导会在终端中引导你完成每个阶段
Link to heading这个 skill 能带来什么
Slack agent skill 会给你一个具备以下能力的 Agent:
-
在消息和线程中进行多轮对话
-
执行敏感操作前暂停并等待人工批准
-
将响应实时流式推送到 Slack
-
自主读取频道和线程内容
你的 Agent 通过 tools 与 Slack 和你的系统交互。tools 是 Agent 可调用的函数,用于执行动作或获取信息。模板内置了这些 tools:
-
读取频道消息
-
获取线程上下文
-
加入频道(需人工批准)
-
按名称、主题或用途搜索频道
你也可以让 coding agent 添加连接自有系统的自定义 tools。想让 Agent 查询客户档案、创建支持工单、或查询数据库?这些都可以变成 Agent 知道何时、如何调用的 tool。
import { tool } from "ai";import { z } from "zod";const lookupCustomer = tool({ description: "Look up a customer record by email", inputSchema: z.object({ email: z.string().describe("Customer email address"), }), execute: async ({ email }) => { "use step"; const customer = await db.customers.findByEmail(email); return { success: true, customer }; },});
一个按邮箱查询客户记录的自定义 tool
Workflow DevKit 是让 Agent 具备持久化能力的关键。Slack Agent 往往需要跨多条消息持续对话,或等待数小时才拿到审批。Workflow DevKit 让 Agent 能在对话中途挂起、等待外部输入,再从断点处无缝继续。tool 调用失败会自动重试,响应也会实时流式返回到 Slack。
Human-in-the-loop 是内建能力。当 Agent 需要执行如“加入频道”这类敏感动作时,它会先发送带 Approve/Reject 按钮的消息并挂起。你只需为 active CPU time 付费,因此等待本身不产生费用,即使审批要几天。这个模式可扩展到所有需审批的动作,包括发消息、修改数据、调用外部 API 等。
AI Gateway 让你的 Agent 通过一个 API key 访问各大 provider 的数百个模型。切换模型只需改一行;若某个 provider 宕机,AI Gateway 会自动路由到其他 provider,保证 Agent 持续可用。
import { gateway } from "@ai-sdk/gateway";const result = await generateText({ model: gateway("anthropic/claude-sonnet-4.6"), prompt: userMessage,});
通过 AI Gateway 路由到任意受支持模型
Link to heading进一步深入
当 Agent 上线后,你可以从几个方向继续扩展并加深理解。
我们的 Vercel Academy Slack Agents course 覆盖了完整生命周期:从创建并配置 Slack 应用,到处理事件与交互消息、基于 AI SDK 构建 Agent,再到部署上线。
Vercel preview deployments 让你在变更进入生产前先测试。对 Slack bot 而言,这可能需要绕过部署保护,以便 Slack 的 webhook 校验能访问你的 endpoint。我们的 testing guide 说明了具体设置方法。
Vercel Sandboxes 让 Agent 在隔离环境中执行代码,因此它可以安全运行用户提供的脚本,比如分析电子表格、生成图表或转换数据,而不会威胁你的基础设施。
Link to heading开始使用
整个体验可以在你和 coding agent 的一次会话里完成。
原文链接:https://vercel.com/blog/building-slack-agents-can-be-easy

