用途:为 ElevenLabs 代码工具生成可直接粘贴到工作室代码编辑器的 JS/TS 模块。代码工具是运行在 ElevenLabs 基础设施上的沙箱逻辑,而非客户 webhook。
主要能力与运行时模型:模块导出单个默认 async 函数,接收 ctx 并返回工具结果(与服务器工具响应下游用途相同:智能体、转录、动态变量)。辅助函数和默认导出外的顶层变量可用。ctx API 仅使用这些名称:ctx.args.<paramName>(LLM 传入的已类型化参数)、ctx.secrets.<NAME>(映射到上下文的工作区密钥)、ctx.config.<NAME>(纯字符串配置值)、ctx.auth_connections.<NAME>(认证连接引用,作为出站 fetch 的 X-With-Auth-Connection 头传递,原始密钥不进入代码)。映射内容在工作室的 Context 对象中配置。注意命名:应为 ctx.args 而非 ctx.pargs,应为 ctx.auth_connections 而非 ctx.authConnections。
硬性限制:不可使用 npm 包,仅限内置 JavaScript 与 Web API(fetch、Promise、setTimeout、JSON、URL、encodeURIComponent 等)。出站请求仅对智能体常规设置→代码工具允许域名中列出的域名成功(支持 *.example.com 通配),仅工作区管理员可添加域名。每次运行须在 1–30 秒响应超时内完成,轮询循环需设上限。返回值即 LLM 上下文,应只投影智能体所需字段,禁止返回完整数据库行、内部备注、风险评分、审计日志等 PII/内部字段。密钥用 ctx.secrets,普通 URL/基串用 ctx.config,OAuth/托管凭证用 ctx.auth_connections 加 X-With-Auth-Connection 头,切勿硬编码密钥。错误处理:结构化 { error: "..." } 返回始终对智能体可见;throw new Error(...) 可控制失败原因是否暴露给 LLM。预期失败(未找到、错误输入)优先结构化返回,意外上游故障用 throw,均需 try/catch。
生成输出模板固定六节:代码、参数表、上下文对象映射、允许域名清单、编辑器内测试计划、面向智能体的说明。常见模式包括字段最小化 REST 查询、Promise.all 并行扇出、有上限的轮询、基于认证连接的最佳努力副作用、基于密钥的 API 调用。应避免的反模式包括返回完整上游 JSON、硬编码密钥、未列允许域名、超时无上限轮询、在代码中放真实 OAuth 令牌、引入 npm 导入、使用错误 ctx 名称。保存前可在编辑器用 Run 测试参数、输出与日志,或用 node local-executor.mjs <tool-file> <ctx.json> 在本地以模拟 ctx 运行。