catalyst-by-zoho

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Catalyst by Zoho — Skill Index

Zoho Catalyst — 技能索引

This is the routing layer. Load the most specific matching skill — do not answer from this file alone.

这是路由层。请加载最匹配的特定技能——不要仅从此文件直接作答。

Philosophy

理念

  • Prefer MCP over asking. If
    CatalystbyZoho_*
    tools are available, use them. Never ask the user to copy IDs from the console.
  • Default to Development. Always target the Development environment unless the user explicitly says "production" or "deploy to prod".
  • "Build an app" means Slate + Function by default. When a user says "build an app", "create an app", or "make a simple app" without specifying backend-only, the default output is a Slate frontend + Advanced I/O function backend. Do NOT build only a function and call it an app. If the user's intent is clearly backend-only (e.g. "build an API", "write a function"), skip Slate.
  • Prefer Functions over AppSail for simple HTTP. Functions are cheaper (per-invocation billing), simpler to deploy, and require no infrastructure management. Reach for AppSail only when the use case genuinely requires a persistent process, or a custom runtime.
  • Show cost before building. For any new infrastructure (functions, AppSail, Stratus buckets), load
    catalyst-pricing
    and give a brief estimate before writing code. Most small projects stay within free tier — say so when true.
  • Recommend the current service, not the deprecated one. File Store → Stratus. Event Listeners → Signals. Cron → Job Scheduling. Never mention the deprecated name in generated code or config.
  • Warn before the region bites. Circuits and Integration Functions do not work in most data centers. Check the user's DC before suggesting them.

  • 优先使用MCP,而非询问用户:如果
    CatalystbyZoho_*
    工具可用,请使用它们。切勿让用户从控制台复制ID。
  • 默认使用开发环境:始终以开发环境为目标,除非用户明确说明“production”(生产环境)或“deploy to prod”(部署到生产环境)。
  • “构建应用”默认指Slate + Function:当用户说“build an app”“create an app”或“make a simple app”且未指定仅后端时,默认输出为Slate前端 + Advanced I/O函数后端。请勿仅构建一个函数就称之为应用。如果用户的意图明确为仅后端(例如“build an API”“write a function”),则跳过Slate。
  • 简单HTTP场景优先使用Functions而非AppSail:Functions成本更低(按调用次数计费)、部署更简单,且无需基础设施管理。仅当用例确实需要持久化进程或自定义运行时时,才选择AppSail。
  • 构建前告知成本:对于任何新的基础设施(函数、AppSail、Stratus存储桶),请加载
    catalyst-pricing
    并在编写代码前给出简要估算。大多数小型项目可免费使用——若符合此情况请说明。
  • 推荐当前服务,而非已弃用服务:File Store → Stratus;Event Listeners → Signals;Cron → Job Scheduling。在生成的代码或配置中切勿提及已弃用名称。
  • 提前告知地域限制风险:Circuits和Integration Functions在大多数数据中心无法使用。建议用户前请检查其所在的数据中心。

How It Works

工作流程

  1. Pre-flight — Check that
    .catalystrc
    and
    catalyst.json
    exist. If missing, use MCP to get org/project IDs and run
    catalyst init --org <orgId> -p <projectId> -ni
    . Never use interactive
    catalyst init
    .
  2. MCP check — Look for
    CatalystbyZoho_*
    tools. If available, use MCP to fetch org/project IDs instead of asking the user.
  3. Route — Match the query to the most specific service in the routing table below.
  4. Load lazily — Read ONLY the single reference file needed for the current step. Do NOT preload multiple skills upfront. For "build an app" requests: (a) assume Slate frontend + AIO function unless the user says backend-only, (b) sketch the architecture briefly and confirm with the user before building, (c) then load one reference file per service as you write each part —
    catalyst-slate
    for the frontend,
    catalyst-functions
    for the backend.
  5. Cost check — Only load
    catalyst-pricing
    if the user specifically asks about cost, or if the plan includes AppSail, Stratus, or other paid-tier services. Skip for basic Functions + DataStore projects (likely free tier).
  6. Answer — Provide code examples using the user's platform (Node.js, Python, Java, Web, or Mobile).
  1. 预检 — 检查
    .catalystrc
    catalyst.json
    是否存在。如果缺失,请使用MCP获取组织/项目ID并运行
    catalyst init --org <orgId> -p <projectId> -ni
    。切勿使用交互式
    catalyst init
  2. MCP检查 — 查找
    CatalystbyZoho_*
    工具。如果可用,请使用MCP获取组织/项目ID,而非询问用户。
  3. 路由 — 将查询与下方路由表中最匹配的服务对应。
  4. 懒加载 — 仅读取当前步骤所需的单个参考文件。请勿预先加载多个技能。对于“构建应用”请求:(a) 除非用户说明仅后端,否则默认采用Slate前端 + AIO函数架构;(b) 先简要概述架构并征得用户确认后再开始构建;(c) 编写各部分时按需加载对应服务的参考文件——前端用
    catalyst-slate
    ,后端用
    catalyst-functions
  5. 成本检查 — 仅当用户专门询问成本,或方案包含AppSail、Stratus或其他付费层级服务时,才加载
    catalyst-pricing
    。基础Functions + DataStore项目可跳过(大概率属于免费层级)。
  6. 作答 — 根据用户使用的平台(Node.js、Python、Java、Web或Mobile)提供代码示例。

Triggers

触发条件

Use this skill for queries containing: Catalyst, zcatalyst, AppSail, Data Store, ZCQL, Cache, Stratus, Slate, NoSQL, Zia Services, QuickML, API Gateway, Connections, Zoho MCP, CatalystbyZoho,
catalyst init
,
catalyst deploy
,
catalyst serve
,
zcatalyst-sdk-node
,
catalyst-config.json
, Catalyst pricing, "build on Zoho's platform", or "deploy to Catalyst". Do NOT use for generic Zoho CRM questions unless Catalyst is the target.

当查询包含以下内容时使用本技能:Catalyst、zcatalyst、AppSail、Data Store、ZCQL、Cache、Stratus、Slate、NoSQL、Zia Services、QuickML、API Gateway、Connections、Zoho MCP、CatalystbyZoho、
catalyst init
catalyst deploy
catalyst serve
zcatalyst-sdk-node
catalyst-config.json
、Catalyst pricing、"build on Zoho's platform"或"deploy to Catalyst"。除非目标是Catalyst,否则请勿用于通用Zoho CRM问题。

🛑 Pre-flight gate (project-mutating tasks only)

🛑 预检关卡(仅针对修改项目的任务)

Step 1 — MCP check (do this before anything else for infrastructure tasks): Look for
CatalystbyZoho_*
tools in your tool list.
  • If present — use MCP to fetch org/project IDs. Never ask the user to copy IDs from the console. How to call MCP tools correctly:
    1. ZohoMCP_getSchema
      takes
      query_params
      , NOT
      body
      :
      ZohoMCP_getSchema({ query_params: { tool_name: "CatalystbyZoho_List_All_Projects" } })
    2. Always call
      ZohoMCP_getSchema
      first for any
      CatalystbyZoho_*
      tool — never guess the argument shape. Many tools require
      path_variables
      (e.g.
      project_id
      ) that are invisible without the schema.
    3. ZohoMCP_executeTool
      takes a
      body
      with this shape:
      ZohoMCP_executeTool({ body: {
        tool_name: "CatalystbyZoho_List_All_Functions",
        arguments: {
          path_variables: { project_id: "31594000000127002" },
          headers: {},
          body: {}
        }
      }})
    4. Tools with no required path variables (e.g.
      List_All_Organizations
      ,
      List_All_Projects
      ) can be called with
      arguments: {}
      .
  • If NOT present and the task creates resources, writes files, deploys, or reads project IDsHARD STOP. Do NOT write any code or create any files. Tell the user:
    "Zoho MCP needs to be connected before I can work with your Catalyst project. Load the
    catalyst-zoho-mcp
    skill to set it up — it takes under a minute." Do not proceed until
    CatalystbyZoho_*
    tools are visible.
This gate applies only when the task writes Catalyst project files, deploys, reads project/environment IDs, or performs MCP project operations. Skip it for informational questions (pricing, architecture advice, service selection, "what is Catalyst?", install help, SDK usage, or any question that doesn't require an initialized project).
For project-mutating tasks: verify
.catalystrc
and
catalyst.json
exist in the working directory.
  • If missing → use MCP tools to get the org ID and project ID, then run:
    bash
    catalyst init --org <orgId> -p <projectId> -ni
    Never ask the user to run
    catalyst init
    interactively. Never create
    .catalystrc
    or
    catalyst.json
    yourself — they must be generated by the CLI.
    Note: NI mode can only link an existing project. If no project exists yet, tell the user to create one in the Catalyst console, then come back — you'll link it with
    catalyst init -ni
    .

步骤1 — MCP检查(执行基础设施任务前务必先完成): 在工具列表中查找
CatalystbyZoho_*
工具。
  • 如果存在 — 使用MCP获取组织/项目ID。切勿让用户从控制台复制ID。 正确调用MCP工具的方式:
    1. ZohoMCP_getSchema
      接收
      query_params
      ,而非
      body
      ZohoMCP_getSchema({ query_params: { tool_name: "CatalystbyZoho_List_All_Projects" } })
    2. 调用任何
      CatalystbyZoho_*
      工具前,务必先调用
      ZohoMCP_getSchema
      ——切勿猜测参数格式。许多工具需要
      path_variables
      (例如
      project_id
      ),这些参数只有通过schema才能查看。
    3. ZohoMCP_executeTool
      接收如下格式的
      body
      ZohoMCP_executeTool({ body: {
        tool_name: "CatalystbyZoho_List_All_Functions",
        arguments: {
          path_variables: { project_id: "31594000000127002" },
          headers: {},
          body: {}
        }
      }})
    4. 无需必填路径变量的工具(例如
      List_All_Organizations
      List_All_Projects
      )可使用
      arguments: {}
      调用。
  • 如果不存在且任务涉及创建资源、写入文件、部署或读取项目ID强制终止。请勿编写任何代码或创建任何文件。告知用户:
    "在处理您的Catalyst项目前,需要先连接Zoho MCP。请加载
    catalyst-zoho-mcp
    技能完成设置——耗时不到一分钟。" 直到
    CatalystbyZoho_*
    工具可见后再继续。
本关卡仅适用于写入Catalyst项目文件、部署、读取项目/环境ID或执行MCP项目操作的任务。 信息类问题可跳过(例如定价、架构建议、服务选择、“什么是Catalyst?”、安装帮助、SDK使用,或任何无需初始化项目的问题)。
针对修改项目的任务:验证工作目录中是否存在
.catalystrc
catalyst.json
  • 如果缺失 → 使用MCP工具获取组织ID和项目ID,然后运行:
    bash
    catalyst init --org <orgId> -p <projectId> -ni
    切勿让用户以交互式方式运行
    catalyst init
    。切勿自行创建
    .catalystrc
    catalyst.json
    ——必须由CLI生成。
    注意: NI模式仅能关联现有项目。如果尚无项目,请告知用户先在Catalyst控制台创建一个,然后返回——您将使用
    catalyst init -ni
    进行关联。

Catalyst at a Glance

Catalyst 概览

New to Catalyst? Here's what each service does in one line:
ServiceWhat it is
FunctionsServerless functions — Basic I/O (HTTP), Advanced I/O, Event, Cron, Integration, Email Parser, Push Notification. Per-invocation billing.
AppSailPaaS for long-running web apps — Node.js, Java, Python managed runtimes, or any Docker container.
Data StoreRelational tables (rows + columns, foreign keys). Queried via ZCQL (SQL-like) or SDK.
StratusObject/file storage (like S3). Buckets, folders, objects. Up to 250 GB per object.
SlateFrontend hosting (like Vercel). Deploys React, Next.js, Vue, Angular, Svelte, Preact, Astro, SolidJS, static HTML.
CacheIn-memory key-value store. Divided into segments. TTL in hours, max 48 h.
NoSQLDocument storage with flexible schema (no fixed columns). For unstructured/polymorphic data.
AuthenticationBuilt-in user sign-up/login (ZAID). OAuth Connections for third-party APIs.
SmartBrowzHeadless browser automation, PDF/screenshot generation, Browser Logic functions, Browser Grid (parallel browsers), and Dataverse (web scraping).
Zia ServicesPre-trained AI/ML: OCR, Face Analytics, Text Analytics, Object Detection, Barcode, Moderation.
QuickMLAutoML — train models on your own data without writing ML code. (Not in EU/AU/IN/JP/SA/CA)
CircuitsServerless workflow orchestration (step functions). (Not in EU/AU/IN/JP/SA/CA)
SignalsEvent-driven triggers / pub-sub (replaces legacy Event Listeners).
Job SchedulingRecurring/scheduled function execution (replaces legacy Cron).
Zoho MCPAI tool integration — lets AI agents manage Catalyst infrastructure via
CatalystbyZoho_*
tools.
ZCQLSQL-like query language for Data Store.
SELECT
,
INSERT
,
UPDATE
,
DELETE
. Max 300 rows per SELECT.
ZAIDZoho Account ID — the built-in auth identity layer. Used with Web SDK for user auth flows.

刚接触Catalyst?以下是各服务的一句话介绍:
服务说明
Functions无服务器函数——Basic I/O(HTTP)、Advanced I/O、事件触发、定时任务、集成、邮件解析、推送通知。按调用次数计费。
AppSail用于长期运行Web应用的PaaS——支持Node.js、Java、Python托管运行时,或任何Docker容器。
Data Store关系型表(行+列、外键)。可通过ZCQL(类SQL)或SDK查询。
Stratus对象/文件存储(类似S3)。包含存储桶、文件夹、对象。单个对象最大250 GB。
Slate前端托管服务(类似Vercel)。支持部署React、Next.js、Vue、Angular、Svelte、Preact、Astro、SolidJS、静态HTML。
Cache内存键值存储。分为多个段。TTL以小时为单位,最长48小时。
NoSQL文档存储,架构灵活(无固定列)。适用于非结构化/多态数据。
Authentication内置用户注册/登录(ZAID)。支持第三方API的OAuth Connections。
SmartBrowz无头浏览器自动化、PDF/截图生成、Browser Logic函数、Browser Grid(并行浏览器)和Dataverse(网页抓取)。
Zia Services预训练AI/ML:OCR、人脸分析、文本分析、目标检测、条形码识别、内容审核。
QuickMLAutoML——无需编写ML代码即可用自有数据训练模型。(在欧盟/澳大利亚/印度/日本/沙特/加拿大不可用)
Circuits无服务器工作流编排(步骤函数)。(在欧盟/澳大利亚/印度/日本/沙特/加拿大不可用)
Signals事件驱动触发器/发布-订阅(替代旧版Event Listeners)。
Job Scheduling周期性/定时函数执行(替代旧版Cron)。
Zoho MCPAI工具集成——允许AI代理通过
CatalystbyZoho_*
工具管理Catalyst基础设施。
ZCQL用于Data Store的类SQL查询语言。支持
SELECT
INSERT
UPDATE
DELETE
。单次SELECT最多返回300行。
ZAIDZoho账户ID——内置的身份认证层。与Web SDK配合用于用户认证流程。

Skill Routing Table

技能路由表

When the query is about…Load this skill
Which service to use, architecture decisions, DC restrictions
catalyst-basics
(load
skills/catalyst-basics/references/architecture.md
)
Project setup,
.catalystrc
, environments, orgs, IDs, CLI commands
catalyst-basics
Functions — types, signatures,
catalyst-config.json
, API Gateway, file uploads
catalyst-functions
AppSail — backend PaaS, Docker, managed runtimes, PORT variable
catalyst-appsail
Slate — frontend hosting, frameworks,
slate-config.toml
, Git deploy
catalyst-slate
Data Store — CRUD, ZCQL queries, permissions, column types
catalyst-datastore
Stratus — object storage, upload/download, signed URLs, multipart
catalyst-stratus
NoSQL — document storage, flexible schema, collections
catalyst-nosql
Authentication — user login/signup, ZAID, Web SDK auth, Connections/OAuth
catalyst-authentication
Cache — in-memory key-value, TTL, segment operations
catalyst-cache
Pricing — free tier, pay-as-you-go, GB-seconds, cost estimation
catalyst-pricing
SDKs — Node.js, Web, Python, Java, Android, iOS, Flutter
catalyst-sdk
Zia Services, QuickML — OCR, ML predictions, AutoML
catalyst-zia
Signals — event-driven triggers, publish/subscribe, event listeners, custom publisher, webhook target, dispatch policy
catalyst-signals
SmartBrowz — headless browser, Puppeteer, Playwright, Selenium, Browser Logic, PDF generation, screenshot, Browser Grid, Dataverse
catalyst-smartbrowz
Job Scheduling — cron/scheduled execution, recurring jobs
catalyst-basics
(load
skills/catalyst-basics/references/architecture.md
— no dedicated skill yet)
Zoho MCP — MCP setup,
CatalystbyZoho_*
tools, infra-as-conversation
catalyst-zoho-mcp
Skill gave wrong or outdated guidance — user reporting an errorload
catalyst-by-zoho/references/skill-feedback.md

当查询涉及…加载此技能
服务选择、架构决策、数据中心限制
catalyst-basics
(加载
skills/catalyst-basics/references/architecture.md
项目设置、
.catalystrc
、环境、组织、ID、CLI命令
catalyst-basics
Functions——类型、签名、
catalyst-config.json
、API Gateway、文件上传
catalyst-functions
AppSail——后端PaaS、Docker、托管运行时、PORT变量
catalyst-appsail
Slate——前端托管、框架、
slate-config.toml
、Git部署
catalyst-slate
Data Store——CRUD、ZCQL查询、权限、列类型
catalyst-datastore
Stratus——对象存储、上传/下载、签名URL、分块上传
catalyst-stratus
NoSQL——文档存储、灵活架构、集合
catalyst-nosql
Authentication——用户登录/注册、ZAID、Web SDK认证、Connections/OAuth
catalyst-authentication
Cache——内存键值存储、TTL、段操作
catalyst-cache
定价——免费层级、按需付费、GB-秒、成本估算
catalyst-pricing
SDKs——Node.js、Web、Python、Java、Android、iOS、Flutter
catalyst-sdk
Zia Services、QuickML——OCR、ML预测、AutoML
catalyst-zia
Signals——事件驱动触发器、发布/订阅、事件监听器、自定义发布者、Webhook目标、调度策略
catalyst-signals
SmartBrowz——无头浏览器、Puppeteer、Playwright、Selenium、Browser Logic、PDF生成、截图、Browser Grid、Dataverse
catalyst-smartbrowz
Job Scheduling——定时/周期性执行、 recurring jobs
catalyst-basics
(加载
skills/catalyst-basics/references/architecture.md
——暂无专属技能)
Zoho MCP——MCP设置、
CatalystbyZoho_*
工具、对话式基础设施管理
catalyst-zoho-mcp
技能提供了错误或过时的指导——用户报告错误加载
catalyst-by-zoho/references/skill-feedback.md

⛔ Never Use (deprecated + regionally restricted)

⛔ 切勿使用(已弃用+地域限制)

Deprecated services — do not use for new projects

已弃用服务——新项目请勿使用

Users who signed up after August 27, 2025 cannot access these components at all.
Do not useUse this instead
File StoreStratus (object storage)
Event ListenersSignals (event-driven architecture)
CronJob Scheduling (scheduled execution)
2025年8月27日之后注册的用户完全无法访问这些组件。
请勿使用替代方案
File StoreStratus(对象存储)
Event ListenersSignals(事件驱动架构)
CronJob Scheduling(定时执行)

Regionally restricted services — check DC before recommending

地域限制服务——推荐前请检查数据中心

These services are unavailable in the listed data centers. Building with them for users in those regions results in runtime failures.
ServiceNot available in
CircuitsEU, AU, IN, JP, SA, CA
Integration FunctionsEU, AU, IN, JP, SA, CA
Push NotificationsEU, AU, IN, CA
AutoML (QuickML)EU, AU, IN, JP, SA, CA
Identity Scanner (Zia)Available in IN DC only (not EU, AU, US, JP, SA, CA)
Mobile Device ManagementEU, AU, IN, JP, SA, CA
How to check: Ask the user which data center their Catalyst account uses, or look for the DC code in their console URL (e.g.,
catalyst.zoho.in
→ IN,
catalyst.zoho.eu
→ EU).

这些服务在指定数据中心不可用。为这些区域的用户构建相关服务会导致运行时失败。
服务不可用区域
Circuits欧盟、澳大利亚、印度、日本、沙特、加拿大
Integration Functions欧盟、澳大利亚、印度、日本、沙特、加拿大
Push Notifications欧盟、澳大利亚、印度、加拿大
AutoML (QuickML)欧盟、澳大利亚、印度、日本、沙特、加拿大
Identity Scanner (Zia)仅在印度数据中心可用(欧盟、澳大利亚、美国、日本、沙特、加拿大不可用)
Mobile Device Management欧盟、澳大利亚、印度、日本、沙特、加拿大
检查方式: 询问用户其Catalyst账户使用的数据中心,或从控制台URL中查找数据中心代码(例如
catalyst.zoho.in
→ 印度,
catalyst.zoho.eu
→ 欧盟)。

Non-Interactive Mode

非交互模式

CLI v1.27.0+ supports non-interactive (NI) mode — the CLI takes all answers from flags and sensible defaults instead of prompting.
Enable: Add
-ni
(or
--non-interactive
) to any supported command, or set
ZCATALYST_NON_INTERACTIVE=1
in the environment.
Disabled commands:
functions:setup
→ use
functions:add -ni
;
functions:shell
→ use
functions:execute
Blocked options:
--remote
on
functions:delete
and
client:delete
is not allowed in NI mode.
Tip:
catalyst <command> -ni --help
shows the NI-specific help for that command.

CLI v1.27.0+支持非交互(NI)模式——CLI从标志参数和合理默认值获取所有答案,无需提示。
启用方式: 在任何支持的命令后添加
-ni
(或
--non-interactive
),或在环境变量中设置
ZCATALYST_NON_INTERACTIVE=1
禁用命令:
functions:setup
→ 使用
functions:add -ni
functions:shell
→ 使用
functions:execute
禁止选项: 在NI模式下,
functions:delete
client:delete
命令不允许使用
--remote
选项。
提示:
catalyst <command> -ni --help
会显示该命令的NI模式专属帮助信息。

.catalystrc
— Reading org and project context

.catalystrc
— 读取组织和项目上下文

After
catalyst init
, a
.catalystrc
file is written to the project root. Read it at the start of any session to identify the active project without asking the user.
Actual format:
json
{
  "defaults": { "project": 1, "env": 1 },
  "actives":  { "project": 1, "env": 1 },
  "projects": [
    {
      "idx": 1,
      "id": "<projectId>",
      "name": "<projectName>",
      "domain": { "id": "<domainId>", "name": "<projectName>-<orgId>.development" },
      "env": [{ "idx": 1, "id": "<orgId>", "name": "Development", "type": 3 }]
    }
  ]
}
How to read the active project ID and org ID:
  1. Read
    defaults.project
    → this is the active project's
    idx
    value
  2. Find the entry in
    projects
    where
    idx
    matches → get its
    id
    → this is the project ID to use with
    -p
  3. From the same entry, read
    env[0].id
    → this is the org ID to use with
    --org

运行
catalyst init
后,项目根目录会生成
.catalystrc
文件。在任何会话开始时读取该文件,无需询问用户即可识别当前活跃项目。
实际格式:
json
{
  "defaults": { "project": 1, "env": 1 },
  "actives":  { "project": 1, "env": 1 },
  "projects": [
    {
      "idx": 1,
      "id": "<projectId>",
      "name": "<projectName>",
      "domain": { "id": "<domainId>", "name": "<projectName>-<orgId>.development" },
      "env": [{ "idx": 1, "id": "<orgId>", "name": "Development", "type": 3 }]
    }
  ]
}
如何读取活跃项目ID和组织ID:
  1. 读取
    defaults.project
    → 这是活跃项目的
    idx
  2. projects
    中找到
    idx
    匹配的条目 → 获取其
    id
    → 这是用于
    -p
    参数的项目ID
  3. 从同一条目中读取
    env[0].id
    → 这是用于
    --org
    参数的组织ID

Quick-reference: Top gotchas

速查:常见陷阱

  • TERMINOLOGY: always say "organization" or "org", NEVER "portal" — the
    catalyst init
    CLI prompt says "Select a default Catalyst portal" but this is the CLI's legacy wording; the correct term is organization
  • .catalystrc
    /
    catalyst.json
    missing
    → run
    catalyst init --org <orgId> -p <projectId> -ni
    (get IDs from MCP); never create these files manually, never use interactive
    catalyst init
  • All Catalyst CLI commands default to non-interactive (CLI v1.27.0+) — always use
    -ni
    with
    --org
    ,
    -p
    ,
    --name
    ,
    --type
    ,
    --stack
    flags; never fall back to interactive/arrow-key menus in agent context
  • catalyst functions:add
    non-interactive
    catalyst functions:add --name <n> --type <type> --stack <stack> -ni
  • ZCQL result rows are wrapped
    rows.map(r => r.TableName)
    to unwrap
  • ZCQL max 300 rows/query → use
    LIMIT offset, count
    for pagination
  • ZAID differs between Dev and Prod → #1 auth issue in production
  • AppSail PORT
    process.env.X_ZOHO_CATALYST_LISTEN_PORT
    (not
    PORT
    )
  • Cache values are strings only → serialize/deserialize JSON yourself
  • Stratus bucket names are globally unique → use
    {app-name}-{project-id-prefix}
  • Slate → function calls are cross-domain → use full URL +
    generateAuthToken()
    + CORS whitelist
  • DataStore App User permissions OFF by default → enable in Console → Table → Scopes & Permissions
  • catalyst-config.json
    format
    deployment
    +
    execution
    keys only; NOT
    function
    or
    entry_point
  • Advanced I/O node20
    req
    → raw
    http.IncomingMessage
    ; use
    sendJson(res, ...)
    helper, not
    res.json()
  • signOut()
    requires a redirect URL
    catalyst.auth.signOut(redirectURL)

  • 术语:始终使用“organization”或“org”,切勿使用“portal”
    catalyst init
    CLI提示中会显示“Select a default Catalyst portal”,但这是CLI的旧版表述;正确术语是organization
  • .catalystrc
    /
    catalyst.json
    缺失
    → 运行
    catalyst init --org <orgId> -p <projectId> -ni
    (从MCP获取ID);切勿手动创建这些文件,切勿使用交互式
    catalyst init
  • 所有Catalyst CLI命令默认支持非交互模式(CLI v1.27.0+)—— 始终配合
    --org
    -p
    --name
    --type
    --stack
    标志使用
    -ni
    ;在代理环境中切勿退回到交互式/箭头键菜单
  • catalyst functions:add
    非交互模式
    catalyst functions:add --name <n> --type <type> --stack <stack> -ni
  • ZCQL结果行被包裹 → 使用
    rows.map(r => r.TableName)
    来解包
  • ZCQL单次查询最多300行 → 使用
    LIMIT offset, count
    进行分页
  • ZAID在开发环境和生产环境中不同 → 生产环境中排名第一的认证问题
  • AppSail PORT
    process.env.X_ZOHO_CATALYST_LISTEN_PORT
    (而非
    PORT
  • Cache值仅支持字符串 → 需自行序列化/反序列化JSON
  • Stratus存储桶名称全局唯一 → 使用
    {app-name}-{project-id-prefix}
    格式
  • Slate → 函数调用存在跨域问题 → 使用完整URL +
    generateAuthToken()
    + CORS白名单
  • DataStore App User权限默认关闭 → 在控制台→表→范围与权限中启用
  • catalyst-config.json
    格式
    → 仅包含
    deployment
    execution
    键;不包含
    function
    entry_point
  • Advanced I/O node20
    req
    → 原始
    http.IncomingMessage
    ;使用
    sendJson(res, ...)
    辅助函数,而非
    res.json()
  • signOut()
    需要重定向URL
    catalyst.auth.signOut(redirectURL)

Documentation

文档