SuperAPI AI 工具集

convex-actions-general

通用与其它

查看项目

更新于 10-15 23:24

技能介绍

用途:为使用 Convex 后端平台开发时提供系统化指引,适用于编写 action 函数、创建 HTTP 端点、定义校验器与数据库 schema、配置环境变量、实现定时任务与文件存储,以及遵循 Convex 专属 TypeScript 模式。

主要能力:涵盖 action 与 HTTP(用 "use node" 定义 Node.js 模块、V8 与 Node 运行时差异、action 10 分钟超时且不能直接访问数据库、调用外部 API;用 convex/http.ts 与 httpRouter 注册路径、精确匹配、请求响应处理与方法定义);校验器与类型(v.object、v.array、v.string、v.number、v.id、v.boolean、v.null,v.union 与 v.literal 判别联合,对象字段名须为 ASCII,含大小与元素数量限制);函数开发(query、mutation、action 及 internal 变体的注册与调用、api 与 internal 引用、基于文件的路由约定);API 设计(公开与内部函数组织、convex/ 目录结构、可见性与接口一致性);数据库与 schema(convex/schema.ts、系统字段 _id 与 _creationTime、表定义、内置与自定义索引、多字段索引、全文搜索索引与嵌套字段路径);环境与配置(process.env 存密钥、按部署配置、任意函数可访问;crons.interval 与 crons.cron、ctx.scheduler.runAfter,注意认证状态不传播到定时任务);文件存储(generateUploadUrl、getUrl、_storage 元数据、Blob 转换,含聊天图片上传示例);限制与性能(参数与返回值 8 MiB、每次 mutation 8192 次写入、每次 query 16384 次读取、query/mutation 1 秒超时、action 10 分钟、数组元素 8192、对象字段 1024、嵌套深度 16、记录 1 MiB、HTTP 流式输出 20 MiB);TypeScript(Id、Doc、Record、as const、同文件调用类型标注、@types/node)。

使用方式:阅读 references/actions-and-general.md 参考文档,按其中模式定义 action、校验器与 schema,配置环境变量与调度,处理文件存储,并遵守限制。

通用准则:所有函数必须使用参数校验器;数据库存文件 ID 而非 URL;非 ASCII 字符(如 emoji)先映射为 ASCII 再存入对象;认证状态不传播到定时任务,应使用内部函数;定时函数间隔不应短于 10 秒;除非跨运行时(V8 到 Node),不要从 action 调用 action;对象字段名仅限 ASCII;严格使用 TypeScript 类型,尤其是文档 ID。

限制:资料未提供该技能的安装命令、收费与平台支持等具体信息。