用途:Action Creator 用于创建用户专属的一键操作模板,让用户在聊天界面点击按钮即可执行邮件操作。与事件触发的 listener 不同,action 由用户手动触发。
主要能力:模板为 agent/custom_scripts/actions/ 下的 TypeScript 文件,需导出 config 对象(含 id、name、description、icon 和 parameterSchema)与 handler 函数。handler 通过 ActionContext 调用邮件 API(getInbox、searchEmails、searchWithGmailQuery、getEmailsByIds、getEmailById)、直接邮件操作(archiveEmail、starEmail、markAsRead、addLabel 等)、sendEmail、callAgent 进行 AI 处理、fetch 访问外部 API、notify 通知、log 日志,以及 addUserMessage 等会话消息注入。handler 需返回 ActionResult(success、message,可选 data、suggestedActions、refreshInbox)。
使用方式:先明确用户的具体供应商、客户、团队与工作流,再在 agent/custom_scripts/actions/ 下用 kebab-case 命名创建文件(如 send-payment-reminder-to-acme.ts),定义参数 schema 并实现带 try-catch 的 handler。类型从 "../types" 导入 ActionTemplate、ActionContext、ActionResult。
适用场景:向特定供应商发送付款提醒、将 bug 转发给工程团队、归档特定来源的简报、AI 分析后转发邮件等重复性邮件任务。
限制:模板应针对用户实际工作流而非通用操作;需保证参数定义完整;建议设计为可安全重复执行。完整规范见项目根目录 ACTIONS_SPEC.md。