SuperAPI AI 工具集

swarm-scripts

数据与分析

查看项目

更新于 10-15 21:08

技能介绍

用途:当直接工具调用会重复、淹没上下文或需要对大量记录做确定性处理时,用 swarm 脚本代替。1 到 9 次 SDK 调用且结果能放进上下文时直接调用工具;10 次以上相似调用、批量或扇出用脚本;一次性用内联 script-run,需复用则用命名脚本。

主要能力:脚本是 TypeScript,通过带类型的 Swarm SDK 在进程外运行,只有返回值进入上下文。工具为延迟加载,需先用工具搜索加载 script-search、script-run、script-upsert、script-query-types、script-delete,以及持久运行的 launch-script-run、get-script-run、list-script-runs。非平凡工作前先运行 script-query-types 获取实时 swarm-sdk.d.ts 与 stdlib 声明。

使用方式:入口函数第一个参数是 args,第二个是 ctx;只写一个参数 ctx 会导致所有 ctx.* 访问抛错。每个命名脚本应导出 Zod argsSchema,script-upsert 会转成 JSON Schema。内联代码也需从 "swarm-sdk" 导入 ScriptContext。SDK 方法返回 Promise<unknown>,响应通常需读 res?.data ?? res。agentId 通过 X-Agent-ID 头传播;taskId 不是环境变量,调用 task_storeProgress 时需在 args 中传入。

限制:约 30 秒墙钟时间(部分工具最多 5 分钟),stdout 上限 1 MB;不要 sleep 或循环超过约 25 秒,改用链式 wait-for-task。db_query 约 3 个并发调用会限流,宽泛的 Promise.all 可能返回 429 且无 rows 键,需检查状态与 data.error。db_query 拒绝含分号的 SQL,无错误地截断行数(脚本中 1000 行)。响应经过密钥擦除,形似密钥的文本会变成 [REDACTED:<key>]。原始密钥不得出现在脚本源码、参数、调度模板或任务描述中。持久运行没有 ctx.api、ctx.mcp 和 ctx.swarm.config。