SuperAPI AI 工具集

catalyst-functions

部署与运维

查看项目

更新于 10-15 14:34

技能介绍

Catalyst Functions 是面向 Zoho Catalyst 无服务器函数的技能,用于回答函数编写、配置与部署相关问题。

用途 该技能覆盖 Catalyst 全部 7 种函数类型:Basic I/O、Advanced I/O、Event、Cron、Job、Integration 与 Browser Logic。适用于「写一个函数」「catalyst function」「Basic I/O」「Advanced I/O」「Event function」「Cron function」「Browser Logic」、catalyst-config.json、「function handler」、「API Gateway」、「rate limiting」、「busboy」、「file upload in function」、catalyst deploy --only functions:<function-name>、catalyst functions:add、「function CORS」等函数类型或函数配置问题。

主要能力

  • 提供各函数类型的处理函数签名、catalyst-config.json 配置键、SDK 初始化模式与 CORS 设置。
  • 区分意图:对 how-to 或概念性问题(如「如何写一个函数」「展示一个 Basic I/O handler」「Security Rules 如何工作」)直接给出正确代码或解释,不检查工作目录、不生成 CLAUDE.md、不进入代码库分析模式;空目录对 how-to 问题没有问题。仅在用户明确要求脚手架、添加或部署时才检查文件系统。
  • 函数类型选择指引:Basic I/O 用于简单请求/响应,Advanced I/O 用于原始 HTTP 控制,Event 用于基于触发器,Cron/Job 用于定时,Integration 用于 Zoho 服务事件,Browser Logic 用于 Puppeteer。
  • 参考文档按需加载:references/functions-basics.md(函数类型选择、Basic I/O 与 Advanced I/O 处理函数签名、catalyst-config.json、user-scope 与 admin-scope、CORS、Security Rules、执行限制);references/functions-advanced.md(Express 与 raw-http 模板差异、文件上传 busboy、从 Stratus 流式传输文件、错误处理模式、本地开发 CORS、本地测试、函数链式调用、ZCQL 结果解包、HTTP 负载限制);references/functions-templates.md(Event、Cron、Job、Integration 函数处理模板、SDK 组件参考、重试行为、冷启动数据、常见错误表);references/api-gateway.md(启用/禁用网关、路由规则、限流、通过网关的 CORS)。

使用方式

  • 脚手架验证(仅在脚手架时,不用于 how-to 问题):catalyst init 与 functions:add 均支持非交互模式(CLI v1.27.0+)。检查 .catalystrc 是否存在;若缺失,使用 MCP 工具获取 org ID 与 project ID,然后运行:catalyst init --org <orgId> -p <projectId> -ni。不要要求用户交互式运行 catalyst init。NI 模式只能链接已有项目;若不存在,告知用户先在控制台创建。init -ni 后 catalyst.json 尚不存在属预期。接着添加函数(这会创建 catalyst.json):catalyst functions:add --name <name> --type <type> --stack <stack> -ni,例如 catalyst functions:add --name api --type aio --stack node20 -ni。
  • 配置校验:确认 catalyst-config.json 仅使用 deployment 与 execution 键,绝不使用 function 或 entry_point。
  • 响应语法默认:始终默认使用原生 Node.js 响应语法。Advanced I/O 暴露原始 http.ServerResponse——除非用户明确选择 Express 模板,否则不存在 Express 方法(res.status()、res.json())。原生(默认):res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(data)); Express(仅选择加入):res.status(200).json(data)——仅在用户已安装 express 并作为中间件接入时。若不确定用户使用哪个模板,询问或默认原生。
  • 部署命令:使用 catalyst deploy --only functions:<function-name> 部署单个函数(functions:<name> 按文件夹名定位函数);使用 catalyst deploy --only functions 一次部署所有函数。

安全与限制

  • 函数默认公开可访问。创建函数时 Security Rules 将鉴权设为 optional——其 URL 对所有人全局可访问且无限制。对任何读取或写入用户数据或敏感资源的函数,应在 Security Rules JSON 中设置 "authentication": "required"。
  • API Gateway 会替代 Security Rules——不要同时使用两者。启用 API Gateway 会自动禁用 Security Rules。每个函数选择一种鉴权/路由层。
  • 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。