自动化与脚本
用 Inngest CLI 在终端调试、同步、调用与查询…
当需要通过终端对 Inngest 的 Cloud 或本地运行、事件、函数、应用、Webhook、环境、密钥及 Insights 进行运维、调试或查询时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 Inngest CLI 在终端调试、特定
解决思路
- 先运行 `npx inngest-cli@latest api --help` 和 `npx inngest-cli@latest api <command> --help` 验证当前 CLI 接口,不要依赖记忆;当前命令是 `inngest api`,若上下文提到 `inngest alpha api` 则改用 `inngest api`。
- 仅在 CLI 未暴露所需端点、用户明确要求原始 REST API v2、或需要 OpenAPI/LLM API 文档解析请求结构时,才使用 `inngest-api`。
- 触发本技能后,阅读 `references/cli-commands.md` 获取完整命令参数。
- 目标规则:`inngest api` 默认目标是 Local;Cloud Production 需要 `--prod`;非生产 Cloud 环境需要 `INNGEST_ENV=<name>` 或 `--env`;Cloud API 访问优先使用 `INNGEST_API_KEY`;除非用户明确接受进程列表和记录暴露风险,否则不要用 `--api-key <secret>` 内联传递 API key;绝不把 API key、event key、signing key、webhook URL 或解密后的 secret 写入源文件、文档、fixture 或最终答案。
- 常用目标示例:`npx inngest-cli@latest api health`、`npx inngest-cli@latest api --prod get-account`、`INNGEST_ENV=staging npx inngest-cli@latest api --prod get-webhooks`、`npx inngest-cli@latest api --api-host http://127.0.0.1 --api-port 8288 health`。
- 本地开发:1) 如适用,以本地 dev 模式启动用户应用,例如 `INNGEST_DEV=1 npm run dev`;2) 启动 dev server:`npx inngest-cli@latest dev`;3) 如可用,优先使用 Dev Server MCP 工具列出本地函数、发送测试事件、检查运行和观察状态;4) 对 API 兼容的本地检查、命令帮助验证以及 MCP 未暴露的工作流,使用 `npx inngest-cli@latest api ...`。
- 如果本地 API 提示 dev server 不可用,启动 `inngest dev`,或在用户调试已部署运行时切换到 Cloud 并加 `--prod`。
- 命令路由:检查 CLI/API 可达性用 `api health`;确认 Cloud 认证用 `api --prod get-account`;列出环境用 `api --prod get-account-envs --limit 10`;列出 event key 用 `api --prod get-account-event-keys --limit 10`;列出 signing key 用 `api --prod get-account-signing-keys --limit 10`;列出 webhook 用 `api --prod get-webhooks`;用户给出 run ID 用 `api --prod get-function-run <run_id>`;需要 step 级细节用 `api --prod get-function-trace <run_id> --include-output`;用户给出 event ID 用 `api --prod get-event-runs <event_id> --limit 5 --include-output`;同步已知 app ID 用 `api --prod sync-app --app-id <app_id> --url <serve_url>`;调用已知 app/function ID 用 `api --prod invoke-function --app-id <app_id> --function-id <function_id> --data '<json>'`;发现 Insights 表用 `api --prod get-insights-tables`;发现 Insights 事件 schema 用 `api --prod get-insights-event-schemas --limit 25`;起草 Insights 查询用 `api --prod query-insights-prompt --prompt '<request>'`;运行 Insights 查询用 `api --prod query-insights --query '<sql>'`。
- 如果命令接受位置 ID,示例中优先使用位置 ID,因为它们更短且与当前帮助一致;当前 CLI 对许多路径参数也接受 `--run-id` 等 flag 形式。
- 调试运行:用户给出 run ID 时,运行 `npx inngest-cli@latest api --prod get-function-run <run_id>` 和 `npx inngest-cli@latest api --prod get-function-trace <run_id> --include-output`;总结状态、失败 span、重试状态、时间、错误名称/消息以及可能需要检查的代码边界;除非被要求,不要粘贴完整 trace。
- 用户给出 event ID 时,运行 `npx inngest-cli@latest api --prod get-event-runs <event_id> --limit 5 --include-output`;从响应中选出相关 run,然后获取 run 和 trace;如果有多个可能 run,解释候选,并使用时间戳、function ID 或失败状态来选择。
- 缺失 ID 时不要立即向用户询问 app ID、function ID 或 run ID;按顺序尝试:1) 如可用,Dev Server MCP 工具;2) 用户提示、粘贴的 dashboard URL、日志、告警文本或堆栈跟踪;3) 仓库配置和 Inngest serve 定义;4) 用 `get-event-runs` 做 event ID 查找;5) 查看当前 CLI 帮助,看是否出现 `get-functions` 或 `get-app` 等发现命令;只有在这些来源都无法提供 ID 后才向用户询问。
- 变更操作:先读后写;先列出或获取相关资源,然后仅在目标和意图明确时才变更;除非用户已指定账户/环境和确切意图,否则对 Cloud 运行以下命令前先确认:`create-env`、`patch-env`、`create-webhook`、`sync-app`、`invoke-function`、宽泛或昂贵的 `query-insights` 调用。
- 可重复的调用测试使用稳定的 idempotency key:`npx inngest-cli@latest api --prod invoke-function --app-id <app_id> --function-id <function_id> --idempotency-key <stable_test_key> --data '{"example":true}'`;复杂 JSON 使用 `--body-file` 避免引号错误。
- 当问题是分析性的、日志只给出部分线索,或用户询问趋势、频率、量级、随时间失败情况、事件/运行数据时,使用 Insights;从小处开始:`npx inngest-cli@latest api --prod get-insights-tables`、`npx inngest-cli@latest api --prod get-insights-event-schemas --limit 25`、`npx inngest-cli@latest api --prod query-insights-prompt --prompt "Show failed functions in the last 24 hours"`;运行宽泛查询前检查生成的 SQL;尽可能添加 limit 和时间窗口。
- 输出处理:CLI 输出是 JSON,做决策前先结构化解析;仅当下游命令需要精确响应体时使用 `--raw`;如果响应分页且 `page.hasMore` 为 true,需要完整结果时用 `--cursor` 继续;列表响应缺少 `data` 时,除非有错误,否则视为空列表;在摘要中脱敏 secret、webhook URL、token 值和敏感 payload 字段。
- 漂移处理:CLI 处于 beta;如果行为与本技能不同:1) 运行顶层和命令特定帮助;2) 检查 `https://api-docs.inngest.com/llms.txt`;3) 检查 `https://api-docs.inngest.com/api-specs/v2.json`;4) 使用 `inngest-api` 技能作为原始 REST API 回退;某些发布材料可能提到 `get-run` 或 `invoke-function-by-slug` 等别名,仅当当前 `api --help` 暴露它们时才使用;如果不存在,使用 `get-function-run` 和 `invoke-function`。
适用边界 · 注意事项
- 当任务是一般 CLI 设置、`inngest dev`、Docker、本地测试、MCP 设置或自托管 `inngest start` 时,应使用 `inngest-cli` 技能。
- 当任务涉及代码变更时,应配合拥有对应代码模式的领域技能使用,如 `inngest-setup`、`inngest-durable-functions`、`inngest-events`、`inngest-steps`、`inngest-flow-control`、`inngest-realtime` 或 `inngest-middleware`。
- 当 CLI 已暴露所需端点且用户未要求原始 REST API v2 时,不要使用 `inngest-api` 技能。