mcpField
U
upstash

upstash

github.com/upstash云与 DevOps343.9k 次安装1 天前更新
代码仓库

关于 upstash

Upstash Skills 汇集了使用 Upstash SDK、命令行工具和远程 Box 工作区的指南,帮助开发者按任务选择相应方案,涵盖存储、消息处理、搜索、限流及云端沙箱。

主要功能

  1. 01Upstash SDK 使用指南
  2. 02Redis 与对象存储工作流
  3. 03队列和持久化工作流
  4. 04搜索、向量与限流模式
  5. 05Box 命令行及远程工作区任务

适用场景

  1. 01为应用添加缓存或会话存储
  2. 02安排任务或投递 Webhook 消息
  3. 03实现语义搜索或全文搜索
  4. 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.md
upstash-box-cli/
overview.md
upstash-box-js/
overview.md
upstash-box-py/
overview.md
upstash-box-remote-work/
overview.md
upstash-cli/
overview.md
upstash-qstash-js/
overview.md
upstash-qstash-js/advanced/
callbacks.md
deduplication.md
dlq.md
upstash-qstash-js/advanced/multi-region/
summary.md
verify-multi-region-setup.ts
upstash-qstash-js/fundamentals/
local-development.md
publishing-messages.md
queues-and-flow-control.md
schedules.md
url-groups.md
upstash-qstash-js/verification/
receiver.md
upstash-qstash-js/verification/platform-specific/
nextjs.md
upstash-ratelimit-js/
algorithms.md
features.md
methods-getting-started.md
overview.md
pricing-cost.md
traffic-protection.md
upstash-redis-js/advanced-features/
auto-pipeline.md
pipeline-and-transactions.md
scripting.md
upstash-redis-js/data-structures/
arrays.md
hashes.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 等无服务器平台上运行长时任务时,也适用。

评论

支持 Markdown