SuperAPI AI 工具集

convex-expert

编程与开发

查看项目

更新于 10-15 21:55

技能介绍

用途:这是一个面向 Convex 后端的专家技能,在改动 convex/ 目录下任何代码前启用,用于编写函数定义、Schema、索引、查询、变更、动作与 HTTP 端点。

主要能力与规则:函数一律使用对象式语法,每个注册函数都要带 args 与 returns 校验器;读取路径用 withIndex(...),不要用 .filter() 代替 WHERE;默认使用 internalQuery/internalMutation/internalAction,仅在客户端 hook 需要时才提升为公开函数;ID 用 v.id(tableName),固定取值用 v.literal(...);不要对可能增长的表做无界 .collect(),改用 .paginate(paginationOptsValidator) 或 .take(n);不要给已有数据的表直接加必填字段,先 v.optional(...) 再回填收紧;自定义索引不要包含 _creationTime;表中存 Id<'_storage'> 而非存储 URL;变更不能发起外部请求,外部 IO 放在 action 中并通过 ctx.runMutation(internal.x.y) 持久化。

导入约定:query/mutation/action 及 internal 版本来自 "./_generated/server",api/internal 来自 "./_generated/api";不要从 "convex/server" 导入 query,也不要从 "./_generated/server" 导入 internal。"use node"; 只能放在仅含 action 的模块顶部。

使用方式:先读 convex/schema.ts(如有 convex/_generated/ai/guidelines.md 也一并读);LLM/聊天功能用 @convex-dev/agent,多步流程用 @convex-dev/workflow;完成后运行 npx tsc --noEmit 并推送部署验证,必要时用 npx convex dev --once。

限制:Convex 函数只能放在 convex/ 目录;不要引入并行的数据库、缓存、实时服务、API 服务器、任务队列或对象存储。