SuperAPI AI 工具集

convex

编程与开发

查看项目

更新于 10-15 09:48

技能介绍

Convex 开发技能面向使用 Convex 后端平台的开发工作,围绕查询、变更、动作、Schema、索引、实时订阅、乐观更新、文件存储、HTTP 端点、Webhook 等主题提供指导。

用途与工作流 该技能按开发流程组织内容,覆盖从项目启动到上线审查的多个环节:

  • 启动项目:查看结构、类型与验证器的模式。
  • 数据库查询:查看索引、过滤与性能相关内容。
  • 动作与调度:查看外部 API 与事务相关内容。
  • 实时功能:查看订阅与乐观更新。
  • HTTP 端点:查看 Webhook、REST 与 CORS。
  • 文件处理:查看上传与文件服务。
  • 后台任务:查看定时函数(cron)。
  • Schema 变更:查看数据迁移(migrations)。
  • AI 集成:查看 LLM 对话、RAG 与工具调用(agents)。
  • 安全:查看认证、ConvexError、ESLint 与访问控制。
  • 代码审查:查看生产就绪检查清单(review)。
  • 组件:查看可复用的 Convex 包(components)。

convex-helpers(npm 包) 技能还涵盖 convex-helpers 的辅助能力:

  • 自定义函数与 Zod:中间件、认证包装器、Zod 验证(helpers-functions)。
  • 数据辅助:关系、CRUD、触发器、过滤、分页(helpers-data)。
  • 安全辅助:RLS、限流、会话、CORS(helpers-security)。
  • 异步辅助:workpool、动作重试、迁移(helpers-async)。
  • 验证辅助:验证器工具、Standard Schema、代码生成(helpers-validation)。
  • 集成辅助:Hono、查询缓存、useQuery、QueryStreams(helpers-integrations)。

关键原则

  • 每个函数都要定义 args 和 returns 验证器。
  • 使用带结构化错误码的 ConvexError,而不是普通 Error。
  • 数据库查询使用 .withIndex() 而非 .filter()。
  • 调度和 ctx.run* 调用使用 internal.(不要用 api.)。
  • 仅在需要 Node.js API 时使用 "use node";。
  • 业务逻辑放在 convex/model/ 辅助函数中,公共 API 保持薄包装。
  • 始终 await Promise(ctx.db.、ctx.scheduler.)。
  • 安装 @convex-dev/eslint-plugin 进行构建时验证。

按优先级划分的规则类别

  1. 安全(CRITICAL,前缀 security-)
  • security-auth-check:公共函数中始终检查认证。
  • security-internal-functions:调度和 ctx.run 调用使用内部函数。
  • security-row-level-access:变更前验证行级所有权。
  • security-convex-error:使用 ConvexError 而非普通 Error。
  • security-rate-limiting:为公共变更实现限流。
  • security-table-name:在 ctx.db 调用中包含表名。
  1. 验证(HIGH,前缀 validation-)
  • validation-return-types:函数始终定义返回验证器。
  1. 性能(HIGH,前缀 performance-)
  • performance-no-filter:查询使用 .withIndex() 而非 .filter()。
  • performance-bounded-collect:仅在结果集有界时使用 .collect()。
  • performance-no-date-now:查询函数中不要使用 Date.now()。
  1. 代码质量(MEDIUM,前缀 code-quality-)
  • code-quality-await-promises:始终 await 异步操作。

使用方式 阅读各规则文件获取详细说明与代码示例,例如 rules/security-auth-check.md、rules/performance-no-filter.md。每个规则文件包含:为什么重要、错误代码示例及说明、正确代码示例及说明。

适用场景与限制 该技能适用于使用 Convex 进行后端开发的各类场景,包括数据库操作、实时功能、文件存储、HTTP 端点、后台任务、AI 集成与安全审查等。资料未提供具体的收费、价格、平台支持范围或效果数据,相关事实暂未提供。