SuperAPI AI 工具集

data-programs

数据与分析

查看项目

更新于 10-15 20:09

技能介绍

用途:Data Programs 用于把一次性的 run-code 抓取/连接/聚合逻辑保存为命名、可刷新的数据源,避免为每种查询硬编码 provider action,也避免每次页面浏览都重新执行相同逻辑、重复消耗 provider 配额。它随 run-code 自动提供,无需按应用挂载或配置;已启用 run-code 时,save-data-program、preview-data-program、run-data-program、list-data-programs、get-data-program、delete-data-program 已注册为可用动作。

主要能力:程序是 agent 编写的 JS 脚本,可通过 providerFetch、providerFetchAll、providerSearchAll 访问 provider API,通过 appAction 访问应用数据,或使用 Resources 支持的工作区文件;结束时调用一次 emit(rows, schema?) 输出结果,schema 省略时按前 50 行推断。结果按 (programId, paramsHash) 缓存,支持 refreshMode、refreshTtlMs、background 等刷新策略,并返回 rows/schema/缓存元数据供应用自己的表格或图表渲染。

使用方式:先以普通 run-code 脚本原型验证返回行,再改为末尾调用 emit,然后用 save-data-program({ name, title, description, code, defaultParams?, refreshMode?, refreshTtlMs?, background? }) 保存;保存前会用 defaultParams 试运行,失败则拒绝存储并返回结构化错误,成功返回 { programId, rowCount, columns, sampleRows }。读取路径调用 run-data-program({ programId, params?, forceRefresh?, includeRows? })。可用 preview-data-program({ code, params? }) 在不持久化的情况下迭代。

限制:每次运行最多输出 10,000 行、结果最大 4 MiB,超出会显式标记 truncated: true;每个应用最多 200 个活跃程序;最小刷新 TTL 为 60,000 ms;每个 (program, params) 保留最近 5 次运行行。凭据始终使用调用查看者自己的,而非程序作者;程序仅限组织内共享,绝不公开;原始 provider token 不会进入模型或浏览器。执行类动作不能从沙箱化扩展/iframe 桥调用,只能由 agent 或服务端读取路径调用。background: true 仅适合经常超过前台超时的脚本。