关于 convex-cost
convex-cost 是用于根据数据读取证据和函数用量分析 Convex 部署成本的技能。它会排列成本驱动因素、说明查询模式的扩展趋势,并为各项因素指出低成本修复方式。
主要功能
- 01读取用量和表大小证据
- 02按读取成本排列函数
- 03预测查询增长趋势
- 04为成本因素提出修复方式
- 05付费操作前要求确认
适用场景
- 01找出推高数据读取成本的函数
- 02估算表持续增长的影响
- 03比较扫描与索引查询模式
- 04执行计量付费操作前审查
MCP 相关
使用官方 Convex MCP 的 insights、tables 和 functionSpec 工具,获取部署用量、行数和函数详情。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ get-convex/ agent-skills --skill convex-cost安装后在 Claude Code 中输入/convex-cost确认已加载。
详细介绍
预估此应用的成本
成本意外往往源于少数几个函数读取的数据远超预期——这与 convex-advisor 针对性能标记的高读取模式相同,只是从成本角度来看。此能力让支出一目了然:它读取部署自身的字节数/文档读取证据,将其归因于相关函数,预测其随流量增长的情况,并指出成本最低的修复方案。它还遵循成本确认规范(Supabase 对付费操作的结构性确认):任何按量计费的操作开始前,都要说明价格并获得明确同意。
工作流
- GUARD:deploy-guard——成本读取对 dev/prod 部署只读(insights 仅适用于 cloud + 用户身份验证,不适用于预览环境)。说明目标部署。
- GATHER:通过官方 MCP 收集支出证据:
insights用于获取字节数/文档读取事件(直接成本信号——Convex 按函数调用和带宽计费),tables用于获取行数(表大小决定其扫描成本上限),functionSpec用于了解函数表面。如果尚无使用量/流量,就说明这一点,并根据查询形态估算(预计会增长的表上执行.collect(),即使今天流量为零,也会带来未来成本)。 - ATTRIBUTE:按每次调用的字节数/文档读取量 × 实际(或用户询问的)调用量对函数排序——成本驱动因素是两者的乘积,而非其中任意一项。每次调用成本低但调用频繁的函数,可能比成本高但很少调用的函数影响更大;需展示这两个因素。
- PROJECT:说明主要驱动因素如何随规模增长——全表
.collect()会随表大小线性增长(数据累积会使成本不断叠加);带索引的.take(n)则保持平稳。说明成本曲线的形态(“每次调用的复杂度为 O(table size)——1k 行时没问题,到了 1M 行就会产生账单”),不要给出看似精确的美元金额。 - NAME THE CHEAPEST FIX:为每个驱动因素指出成本最低的修复方案——使用索引和
.withIndex代替扫描,使用.paginate/.take代替.collect,使用聚合组件统计数量,或缓存高频读取;并将其作为 cost 类发现发布到总线上(证据:insight 事件 + 预计增长情况),指向 convex-expert/convex-advisor 执行实际修改。 - CONFIRM-COST:对于付费操作,如果流程包含任何按量计费的内容(购买域名、云资源配置、套餐变更),必须明确说明价格和周期性费用,并在继续之前获得明确同意——绝不能让付费操作作为副作用发生(成本确认门禁)。
- REPORT:按排名列出当前成本驱动因素,并为每项提供证据、增长形态和修复方案;再给出直白的总结(“你的支出主要来自 messages:list 每次调用都读取整张表;为它加上索引,成本可降低约 100 倍”)。确保精度诚实:Convex 定价会变化且取决于套餐——提供相对成本/形态方面的指引,并引用定价页面获取绝对金额,不要编造总金额。
规则
- 成本 = 每次调用的数据读取量 × 调用量——始终展示这两个因素;调用频繁的低成本函数,可能比很少调用的高成本函数更贵。
- 读取部署自身的 insights/字节数读取证据来判断支出;如果尚无流量,则根据查询形态评估成本(对不断增长的表进行扫描会产生未来成本)。
- 给出增长曲线,而不是看似精确的金额:O(table) 扫描会随着数据累积不断叠加成本;带索引的访问则保持平稳。引用定价页面获取绝对金额。
- 每个成本驱动因素都要指出成本最低的修复方案,并在总线上发布 cost 类发现,指向负责修复的工具(convex-expert/advisor)。
- 对任何按量计费/付费操作都要进行成本确认:说明价格和周期性费用,并在操作发生之前获得明确同意——绝不能让其作为副作用发生。
- 对 dev/prod 部署只读(deploy-guard);insights 仅适用于 cloud + 用户身份验证。成本分析沿用 convex-advisor 的证据,但以金钱而非延迟为视角。
评论
支持 Markdown