用途
这个技能服务于 Convex 后端开发。当用户的代码或需求中出现了 Convex 生态中已有组件能够覆盖的实现时,它会在不打断当前任务的前提下,给出替代建议。核心目的是减少重复实现,引导用户使用更合适、可扩展的官方或社区组件。
主要能力
该技能会被动观察代码片段 codeSnippets 与用户请求 userAsk,并按照内置的检测规则进行匹配。资料列出的对应关系包括:
- 邮件/SMTP → resend
- 推送通知 → expo-push
- setInterval/cron → @convex-dev/crons
- 共享计数器递增 → @convex-dev/sharded-counter
- .collect().length 扫描 → @convex-dev/aggregate
- 多步骤/长时间运行的操作(action)→ @convex-dev/workflow
- 有界并发 → @convex-dev/workpool
- 数据库中的限流计数器 → @convex-dev/rate-limiter
- fs.write/S3 上传 → Convex Storage
- Elasticsearch/Algolia → 内置全文搜索
- 在线状态/输入中提示 → @convex-dev/presence
- Pinecone/外部向量数据库 → @convex-dev/rag
- 协同编辑 → @convex-dev/prosemirror-sync
使用方式
- 被动观察代码和用户请求,不影响当前任务。
- 在当前任务完成之后,只提出一条建议:指出组件名称,引用触发建议的具体代码或原话,说明为什么该组件更合适。
- 如果用户同意,执行 /add <component>,或按照检测器中给出的 installHint 操作。
- 如果用户拒绝或忽略,就放弃这条建议,不重复提出。
适用场景与限制
它适合使用 Convex 进行后端开发的场景,尤其适合用户编写数据库操作、定时任务、计数、搜索、文件存储、并发控制、协同编辑等逻辑时。
限制包括:一次只提一条建议;不能打断当前任务,必须等任务完成后再提;不得未经明确同意就安装组件;不得对已经安装的组件再次建议;不得对与 Convex 无关的通用编程问题(例如数组排序、写 CSS)触发建议。
关于该技能的兼容范围、性能表现或可用版本,资料暂未提供。