关于 upstash
Upstash Skills 汇集了使用 Upstash SDK、命令行工具和远程 Box 工作区的指南,帮助开发者按任务选择相应方案,涵盖存储、消息处理、搜索、限流及云端沙箱。
主要功能
- 01Upstash SDK 使用指南
- 02Redis 与对象存储工作流
- 03队列和持久化工作流
- 04搜索、向量与限流模式
- 05Box 命令行及远程工作区任务
适用场景
- 01为应用添加缓存或会话存储
- 02安排任务或投递 Webhook 消息
- 03实现语义搜索或全文搜索
- 04在 Box 中运行构建和浏览器任务
MCP 相关
如果 Upstash MCP 工具可用,该技能建议优先用其执行账户和数据操作,包括管理数据库与索引、运行 Redis 命令及使用 Box。技能也介绍了通过 Upstash MCP 服务进行远程 Box 工作。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ upstash/ skills --skill upstash安装后在 Claude Code 中输入/upstash确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
upstash-blob-js/overview.mdupstash-box-cli/overview.mdupstash-box-js/overview.mdupstash-box-py/overview.mdupstash-box-remote-work/overview.mdupstash-cli/overview.mdupstash-qstash-js/overview.mdupstash-qstash-js/advanced/callbacks.mddeduplication.mddlq.mdupstash-qstash-js/advanced/multi-region/summary.mdverify-multi-region-setup.tsupstash-qstash-js/fundamentals/local-development.mdpublishing-messages.mdqueues-and-flow-control.mdschedules.mdurl-groups.mdupstash-qstash-js/verification/receiver.mdupstash-qstash-js/verification/platform-specific/nextjs.mdupstash-ratelimit-js/algorithms.mdfeatures.mdmethods-getting-started.mdoverview.mdpricing-cost.mdtraffic-protection.mdupstash-redis-js/advanced-features/auto-pipeline.mdpipeline-and-transactions.mdscripting.mdupstash-redis-js/data-structures/arrays.mdhashes.md详细介绍
Upstash Skills
此技能整合了所有 Upstash SDK 的文档。请从下方选择相关子技能。
如果此会话提供 Upstash MCP 工具,请优先使用它们执行账户和数据操作——
创建和检查数据库、索引和 Blob 存储桶,运行 Redis 命令,读取统计信息、
日志和 DLQ,以及在 Box 中远程工作(shell、浏览器、git、预览 URL、上传到 Blob 的 PR 截图;
参见 upstash-box-remote-work)。下方的子技能用于编写应用程序代码;只有在没有 MCP,或工作本身就是 shell 操作时,
才使用 upstash-cli。
upstash-blob-js
使用 @upstash/blob TypeScript/JavaScript SDK,操作兼容 S3 的对象存储,支持直接从浏览器上传、预签名 URL、分段上传和签名读取。适用于存储文件或 Blob、上传头像、图片、视频、附件或用户文档、让浏览器直接向存储上传而无需通过服务器中转数据、生成公开或有时效限制的签名 URL、提供私有文件、以流式方式传输可暂停和恢复的大型文件、为存储对象设置缓存标头,或通过 AWS SDK 访问兼容 S3 的存储桶。
upstash-box-cli
通过 box CLI 在终端中操作 Upstash Box(远程沙箱工作区)。适用于需要运行命令、编辑文件、克隆仓库、运行构建或测试、发布公开 URL、浏览页面或截取页面截图、创建附带截图的拉取请求或问题、安排定期工作、运行 AI Agent,或在 Box 中而非本机上执行任何工作的场景。
upstash-box-js
使用 @upstash/box TypeScript/JavaScript SDK,操作支持 AI Agent、shell、文件系统、git、cron 计划、快照和无头浏览器的沙箱云容器。适用于使用 Upstash Box 进行开发、创建沙箱或隔离环境以运行不可信或由 Agent 生成的代码、在容器中运行 AI 编码 Agent、为 Agent 提供带 shell 和代码仓库的云端开发环境、从 Box 执行浏览器自动化、在 Box 中安排定期作业、保存和恢复快照,或协调多个并行 Box。
upstash-box-py
使用 upstash-box Python SDK,操作支持 AI Agent、shell、文件系统、git、cron 计划、快照和无头浏览器的沙箱云容器。适用于使用 Python 开发 Upstash Box 应用、创建沙箱或隔离环境以运行不可信或由 Agent 生成的代码、在容器中运行 AI 编码 Agent、为 Agent 提供带 shell 和代码仓库的云端开发环境、从 Box 执行浏览器自动化、在 Box 中安排定期作业、保存和恢复快照,或协调多个并行 Box。
upstash-box-remote-work
通过远程 Upstash MCP 服务(mcp.upstash.com)在 Upstash Box(沙箱云容器)中工作,而非在本机上工作。适用于用户要求在远程、沙箱、云端或 Box 中运行、构建、测试、克隆或编辑内容;交付物是拉取请求、公开预览 URL 或运行中应用的截图;本机无法完成任务(没有用于 gh 的 GitHub 登录、无法开放端口、本地代码检出状态不干净或运行缓慢);需要在不同机器上并行运行多个独立任务;需要创建一个代码工厂,将任务列表转换为拉取请求列表;或交付物是浏览器、Web 应用、终端程序或 Agent 运行过程的视频、屏幕录制、演示或延时摄影。只要会话中提供 box_* 和 blob_* MCP 工具,即适用,即使没有提及 Upstash。
upstash-cli
当会话中没有 Upstash MCP 工具时,可在终端、shell 脚本或 CI 任务中运行 Upstash CLI(upstash)。如果有 Upstash MCP 工具可用(Upstash 插件会注册 mcp.upstash.com),则不要加载此技能——这些工具已经支持创建、列出、重命名和删除 Redis 数据库、运行 Redis 命令、查看用量统计、管理备份、Vector 和 Search 索引、QStash 计划和消息、Blob 存储桶及 Box,因此请直接调用它们。对于 MCP 不支持的 shell 工作,请使用此技能——例如需要使用 upstash 命令并输出 JSON、将结果传递给其他命令的 CI 步骤或配置脚本;使用 upstash auth login 并设置 API 密钥;管理团队和成员;更改计划、区域、TLS、驱逐、自动升级或预算;为 Blob 存储桶生成临时 S3 凭证;使用 upstash setup 将编码 Agent 连接到 Upstash(通过 Upstash 插件,或通过远程 MCP 服务加技能);或者用户明确要求使用 CLI 或在不使用控制台的情况下管理 Upstash。
upstash-qstash-js
使用 @upstash/qstash TypeScript/JavaScript SDK。它是一个基于 HTTP 的消息队列、任务调度器和后台作业系统,适用于无服务器和边缘运行时(Next.js、Vercel、Cloudflare Workers、Deno、Node.js)。适用于向 HTTP 端点或 URL 组发布消息、在没有长时间运行的工作进程的情况下运行后台作业、使用 cron 表达式进行调度、延迟消息、构建支持并行处理和流量控制的 FIFO 队列、配置重试和回调、处理死信队列(DLQ)、对消息去重、将消息扇出到多个端点、验证 QStash webhook 签名(Next.js App Router、Pages Router 和 Edge Runtime)、运行本地 QStash 开发服务器或迁移区域。用户提出需要无服务器 cron 作业、异步任务队列、作业调度器、延迟传递、带重试的 webhook 传递或服务间事件驱动消息传递时,也适用。
upstash-ratelimit-js
使用由 Upstash Redis 提供支持的 @upstash/ratelimit TypeScript/JavaScript SDK,为无服务器和边缘应用实现速率限制。适用于为 API 路由、Next.js 中间件、Vercel Edge、Cloudflare Workers 或任何 HTTP 端点添加速率限制或请求节流;返回 429 Too Many Requests;在固定窗口、滑动窗口和令牌桶算法之间进行选择;通过前缀和自定义键按用户、IP、API 密钥或租户进行限制;保护登录、注册、表单或 AI 端点,避免滥用、机器人和暴力攻击;使用拒绝名单、临时缓存、分析、超时和多区域速率限制;或估算速率限制的 Redis 命令成本。用户提到速率限制、请求节流、配额、请求上限或流量防护时,也适用。
upstash-redis-js
使用 @upstash/redis TypeScript/JavaScript SDK,这是一个基于无服务器 HTTP 的 Redis 客户端,适用于 Next.js、Vercel、Cloudflare Workers、边缘运行时和 Node.js。适用于添加缓存(缓存旁路、写穿、TTL 和过期策略)、会话存储和用户会话、键值存储、使用有序集合实现排行榜和排名、计数器、分布式锁、使用列表实现队列、流和消费者组、稀疏索引寻址数组和环形缓冲区(ARSET、ARINSERT、ARRING、ARGREP、AROP)、存储在 Redis 中的嵌入向量和近邻向量搜索(通过 redis.vector 使用 VECTOR 命令,与 @upstash/vector 不同)、JSON 文档、管道和 MULTI/EXEC 事务、Lua 脚本、只读副本,或使用 Upstash Redis Search 实现全文搜索、容错拼写搜索、分面、聚合以及对 Redis 流条目的搜索(不同于常规 FT.SEARCH;也可通过 @upstash/search-redis 和 @upstash/search-ioredis 用于 TCP 客户端)。还适用于从 ioredis 或 node-redis 迁移、在无服务器函数中无需连接池即可连接 Redis、集成 @upstash/ratelimit,或用户提到 Redis 缓存、KV 存储、会话存储、无服务器 Redis 或 Upstash Redis 的情况。使用 Upstash AgentKit 在 Redis 上构建 AI Agent 时也适用(Agent 记忆、聊天记录、RAG 工具、工具缓存、聊天持久化、可恢复流、分布式锁),适用于 Vercel AI SDK、TanStack AI 或 Vercel Eve。支持自动序列化和反序列化 JavaScript 类型。
upstash-redis-start
只需向 https://upstash.com/start-redis 发送一个 POST 请求,即可为 AI Agent 配置一个零配置、无需注册的临时 Upstash Redis 数据库,无需账户、API 密钥或 SDK 设置。适用于 Agent 眼下需要临时 Redis,且用户未提供凭据的情况,可用于跨工具调用的短期记忆、对话历史、子 Agent 工作队列、排名召回,或快速原型和演示。涵盖幂等创建和重新获取凭据、通过请求体式 REST API 或官方 SDK 调用数据库,以及告知用户如何认领数据库。用户认领前,数据库会保留 3 天;不适用于生产数据、PII 或机密信息。
upstash-search-js
使用 @upstash/search TypeScript/JavaScript SDK,这是一个内置重排功能的无服务器全文和语义搜索数据库。适用于为应用或网站添加搜索、创建搜索索引、写入包含可搜索内容和可筛选元数据的文档、运行关键词搜索、语义搜索或混合搜索查询、重排结果、使用类 SQL 或结构化筛选语法进行筛选、使用 range 分页、获取或删除文档、重置索引,或查看索引信息。用户需要站点搜索、产品、文档或知识库搜索,或无需运行集群的托管搜索服务时也适用。
upstash-vector-js
使用 @upstash/vector TypeScript/JavaScript SDK,这是一个用于嵌入向量、相似性搜索、语义搜索和 RAG(检索增强生成)的无服务器向量数据库。适用于写入、查询、获取、范围查询或删除向量,使用内置嵌入模型将原始文本写入索引,选择密集、稀疏或混合索引,按元数据筛选,使用命名空间组织数据,运行可恢复查询,或将 Upstash Vector 连接到 AI 或大模型应用。用户需要向量存储、向量搜索、近邻或 kNN 搜索、嵌入向量存储、语义缓存、推荐或相似性功能,或无需基础设施的托管向量索引时也适用。
upstash-workflow-js
使用 @upstash/workflow TypeScript/JavaScript SDK,在无服务器函数中运行持久化的长时工作流:这些多步骤流程基于 QStash 构建,即使遇到超时、重试和重启也能继续运行。适用于使用 serve() 定义工作流端点、通过 context.run 运行步骤、休眠数分钟至数天而无需让函数保持运行、使用 context.call 调用外部 API、等待外部事件或 webhook、调用其他工作流、配置重试、失败回调和 DLQ、控制并发、速率和并行度、通过 Workflow 客户端触发、取消或检查运行、构建 AI Agent 和编排器、实现人工审批、实时更新、使用 QStash 开发服务器进行本地开发、添加中间件或安全迁移工作流。用户询问持久化执行、步骤函数、Saga 或编排模式、带检查点的后台作业,或在 Vercel、Next.js、Cloudflare Workers 等无服务器平台上运行长时任务时,也适用。