资讯动态

如何在 Vercel 上搭建并部署 claude-code-templates 的 Discord 组件搜索机器人?

发布时间:2026/9/12 6:59:06 来源:尧图企业网站定制
如何在 Vercel 上搭建并部署 claude-code-templates 的 Discord 组件搜索机器人【免费下载链接】claude-code-templatesCLI tool for configuring and monitoring Claude Code项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-templatesclaude-code-templates 项目提供了一个 Discord 组件搜索机器人它不依赖常驻连接而是以 Vercel 服务端函数Serverless Function的形式运行只有当用户在 Discord 中触发命令时Discord 才会通过 webhook 把请求推送到你的部署地址。部署完成后这个机器人在你的 Discord 服务器中提供/search、/info、/install、/popular、/random五个斜杠命令用于搜索平台组件数据skills、agents、commands、mcps、settings、hooks、templates、plugins 等类型并以 embed 消息返回结果。本文的操作流程来自仓库内的部署指南 docs/guides/discord-bot-setup.md完整路径是创建 Discord 应用并获取三个密钥 → 配置环境变量 → 注册斜杠命令 → 部署到 Vercel → 在 Discord 绑定 Interactions Endpoint → 邀请机器人进服务器。部署架构与可用命令指南明确说明选择 Vercel Functions 的动机是没有永久服务器、Vercel 自动处理扩缩容、机器人与项目本身在同一仓库中一并部署、只为实际执行付费并且函数之间会复用数据缓存。一次交互的完整链路是用户在 Discord 输入/search security→ Discord 向https://your-domain.vercel.app/api/discord/interactions发送 POST 请求 → Vercel 执行交互端点 → 端点先校验请求签名安全验证→ 识别命令并交给对应 handler → handler 加载 components.json优先用缓存→ 执行搜索并生成 embed → 返回给 Discord 展示给用户。组件数据缓存机制系统在内存中保留 components.json 5 分钟。首次请求从 aitmpl.com 下载5 分钟内的后续请求直接使用缓存超过 5 分钟后自动刷新以此降低延迟和对 API 的请求量。五个斜杠命令及其用途如下以指南给出的注册输出描述为准命令用途/search query [type]按关键词搜索组件/info name [type]查看某个组件的详细信息/install name [type]获取组件的安装命令/popular type [limit]按下载量查看最热门组件/random type随机推荐一个组件第一步创建 Discord 应用并获取三个密钥在 Discord Developer Portal开发者后台完成以下操作这三个值就是后面所有环境变量的来源点击 New Application 创建应用并命名。在 General Information 页面复制Application ID即DISCORD_APP_ID。进入 Bot 页面点击 Add Bot复制Bot Token即DISCORD_BOT_TOKEN如需要勾选启用 Message Content Intent。回到 General Information复制Public Key即DISCORD_PUBLIC_KEY。如果你只想在特定服务器里测试还可以记下该服务器的 ID 作为DISCORD_GUILD_ID可选指南建议在测试阶段使用生产环境移除。第二步配置环境变量本地测试用.env指南给出的本地.env示例如下。注意下面全部是文档中的示例值必须替换为你在上一步从 Developer Portal 复制到的真实密钥# Discord Bot Configuration DISCORD_APP_ID123456789012345678 DISCORD_BOT_TOKENMTIzNDU2Nzg5MDEyMzQ1Njc4.AbCdEf.GhIjKlMnOpQrStUvWxYz DISCORD_PUBLIC_KEYabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890 DISCORD_GUILD_ID987654321098765432 # Opcional, para testing en un server específico # API Configuration COMPONENTS_API_URLhttps://aitmpl.com/components.jsonVercel 生产环境进入 Vercel Dashboard 中你的项目在 Settings → Environment Variables 中添加DISCORD_APP_IDDISCORD_BOT_TOKENDISCORD_PUBLIC_KEYCOMPONENTS_API_URL可选默认使用 aitmpl.com第三步安装依赖并注册斜杠命令执行npm install指南说明这一步会安装三个关键依赖discord-interactions校验来自 Discord 的请求、axios加载 components.json、dotenv读取环境变量。然后注册命令npm run discord:register成功时的输出如下文档示例输出 Registering Discord slash commands... Registering to guild: 987654321098765432 ✅ Successfully registered 5 commands! Registered commands: 1. /search - Search for components by keyword 2. /info - Get detailed information about a specific component 3. /install - Get the installation command for a component 4. /popular - View the most popular components by download count 5. /random - Discover a random component如果配置了DISCORD_GUILD_ID命令只会注册到该服务器后续排查命令不出现问题时这一点很关键。第四步部署到 Vercel 并绑定 Interactions Endpointvercel --prod也可以在配置了 GitHub 集成的情况下依赖自动部署。vercel --prod会把当前项目发布为 Vercel 生产部署部署前确保上一步的环境变量已在 Vercel Dashboard 中配置。部署成功后复制你的生产 URL形如https://your-project.vercel.app然后在 Discord Developer Portal → 你的应用 → General Information 中把Interactions Endpoint URL设置为https://your-project.vercel.app/api/discord/interactions其中your-project替换为你的实际 Vercel 项目域名。点击 Save Changes 后Discord 会向该地址发送 PING 验证配置正确时会看到 ✅ 标记。也可以用 curl 手动确认端点可达同样把your-domain替换为实际域名curl https://your-domain.vercel.app/api/discord/interactions第五步邀请机器人到你的服务器在 Developer Portal 进入 OAuth2 → URL Generator。Scopes 勾选bot、applications.commands。Bot 权限勾选Send Messages、Embed Links、Read Message History。复制生成的 URL 并在浏览器打开选择目标服务器完成授权。打开该 URL 的副作用是机器人会被授权加入你选择的服务器并获得上述权限请确认所选服务器和权限范围符合预期。可选分支部署前本地测试指南提供了一条在部署前本地验证的路径全部为可选项# 1. 如尚未安装 Vercel CLI该命令会全局安装 vercel CLI npm i -g vercel # 2. 启动开发服务器 vercel dev服务会运行在http://localhost:3000。由于 Discord 无法直接访问你的 localhost需要用隧道把本地端口暴露出去ngrok 会把本地 3000 端口临时映射为一个公网地址测试结束后记得停止隧道# Opción 1: ngrok ngrok http 3000 # Opción 2: Vercel dev con --listen vercel dev --listen 3000把隧道的公网 URL 填到 Discord 的 Interactions Endpoint 即可完成本地联调。验证方式与常见问题排查正常运行如何确认Endpoint 绑定后 Discord 显示 ✅说明 PING 校验通过。在 Vercel Dashboard → Functions 中查看调用量、错误数、响应时间和实时日志。每次命令执行会在控制台记录日志文档示例输出为 Command received: /search ✅ Components data loaded在 Vercel Functions 的日志里检索这些记录即可确认命令链路跑通。常见问题Invalid request signature签名无效原因是DISCORD_PUBLIC_KEY未配置或抄错。依次检查 Vercel 环境变量中的DISCORD_PUBLIC_KEY、确认是从 Developer Portal 复制的 Public Key修改环境变量后重新部署。Discord 无法验证 URL原因是端点没有正确响应 PING。先确认部署成功再用上面的 curl 命令手动测试端点然后在 Vercel Dashboard → Functions 查看日志。命令在 Discord 中不出现重新执行npm run discord:register如果注册时用了DISCORD_GUILD_ID命令只在那个服务器可见可以把机器人移出服务器后带着applications.commandsscope 重新邀请全局命令最长可能要等 1 小时才显示。机器人不响应查看 Vercel Functions 日志确认机器人有 Send Messages 和 Embed Links 权限先用/random这类简单命令试一下。Components data not loaded确认 components.json 数据源可访问如果配置了自定义COMPONENTS_API_URL检查该变量值到 Vercel 日志中查看具体错误。限制与生产环境注意事项测试阶段保留DISCORD_GUILD_ID可在指定服务器快速调试上生产前移除它命令才会全局注册。全局命令的显示延迟最长可达 1 小时这不是部署失败。所有错误都会以 ephemeral embed 返回仅调用者本人可见。5 分钟的组件缓存时长可按需调整指南指出的位置是componentsLoader.js中的CACHE_DURATION。指南列出的后续演进方向尚未包含在本文部署范围内第二阶段的/stats、/new、/daily命令第三阶段的按钮、下拉菜单和表单以及第四阶段的安装追踪与 release 通知。【免费下载链接】claude-code-templatesCLI tool for configuring and monitoring Claude Code项目地址: https://gitcode.com/GitHub_Trending/cl/claude-code-templates创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价