用途
本技能面向使用 JavaScript 的开发者,提供通过 Telnyx 官方 Node.js SDK 操作 Telnyx Missions 的示例代码。Telnyx Missions 是面向 AI 驱动电信运营的自动化工作流、任务与子资源管理能力。该技能以 JavaScript SDK 示例的形式,展示如何创建、查询、更新、删除任务(mission),以及管理其运行、事件、计划步骤、知识库和 MCP 服务器。
安装与初始化
安装命令:
npm install telnyx
初始化客户端:
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
文档中所有示例均假设 client 已按上述方式初始化。
错误处理
所有 API 调用都可能因网络错误、速率限制(429)、校验错误(422)或认证错误(401)而失败。生产代码中应始终处理错误。示例展示了针对 Telnyx.APIConnectionError、Telnyx.RateLimitError 和 Telnyx.APIError 的分类处理,其中速率限制建议使用指数退避重试,并读取 retry-after 响应头。常见错误码包括:401 无效 API 密钥、403 权限不足、404 资源未找到、422 校验错误(检查字段格式)、429 速率限制(使用指数退避重试)。
分页说明
列表方法返回自动分页迭代器,可使用 for await (const item of result) { ... } 自动遍历所有页面。
主要能力
任务(Missions)管理
- 列出组织下所有任务:
GET /ai/missions,返回字段包括 created_at、description、execution_mode(枚举:external、managed)、instructions、metadata、mission_id、model、name、updated_at。 - 创建任务:
POST /ai/missions,必填 name,可选 description、execution_mode、instructions、metadata、model。 - 获取任务:
GET /ai/missions/{mission_id},返回内容包含 tools、knowledge_bases、mcp_servers。 - 更新任务:
PUT /ai/missions/{mission_id},可选字段包括 description、execution_mode、instructions、metadata、model、name。 - 删除任务:
DELETE /ai/missions/{mission_id}。 - 克隆任务:
POST /ai/missions/{mission_id}/clone。
运行(Runs)管理
- 列出所有任务的近期运行:
GET /ai/missions/runs。 - 列出指定任务的运行:
GET /ai/missions/{mission_id}/runs。 - 启动运行:
POST /ai/missions/{mission_id}/runs,可选 input、metadata。 - 获取运行详情:
GET /ai/missions/{mission_id}/runs/{run_id}。 - 更新运行:
PATCH /ai/missions/{mission_id}/runs/{run_id},可选 error、metadata、result_payload、result_summary、status。 - 取消运行:
POST /ai/missions/{mission_id}/runs/{run_id}/cancel。 - 暂停运行:
POST /ai/missions/{mission_id}/runs/{run_id}/pause。
运行返回字段包括 error、finished_at、input、metadata、mission_id、result_payload、result_summary、run_id、started_at、status(枚举:pending、running、paused、succeeded、failed、cancelled)、updated_at。
事件(Events)管理
- 列出所有任务的近期事件:
GET /ai/missions/events。 - 列出某次运行的事件(分页):
GET /ai/missions/{mission_id}/runs/{run_id}/events。 - 记录事件:
POST /ai/missions/{mission_id}/runs/{run_id}/events,必填 type、summary,可选 agent_id、idempotency_key、payload、step_id。 - 获取事件详情:
GET /ai/missions/{mission_id}/runs/{run_id}/events/{event_id}。
事件返回字段包括 agent_id、event_id、idempotency_key、payload、run_id、step_id、summary、timestamp、type(枚举:status_change、step_started、step_completed、step_failed、tool_call、tool_result、message、error、custom)。
计划(Plan)管理
- 获取运行的计划(所有步骤):
GET /ai/missions/{mission_id}/runs/{run_id}/plan。 - 创建初始计划:
POST /ai/missions/{mission_id}/runs/{run_id}/plan,必填 steps。 - 向计划添加步骤:
POST /ai/missions/{mission_id}/runs/{run_id}/plan/steps,必填 steps。 - 获取步骤详情:
GET /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id}。 - 更新步骤状态:
PATCH /ai/missions/{mission_id}/runs/{run_id}/plan/steps/{step_id},可选 metadata、status(枚举:pending、in_progress、completed、skipped、failed)。
计划步骤返回字段包括 completed_at、description、metadata、parent_step_id、run_id、sequence、started_at、status、step_id。
知识库(Knowledge Bases)管理
- 列出任务的知识库:
GET /ai/missions/{mission_id}/knowledge-bases。 - 创建知识库:
POST /ai/missions/{mission_id}/knowledge-bases。 - 获取知识库:
GET /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}。 - 更新知识库:
PUT /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}。 - 删除知识库:
DELETE /ai/missions/{mission_id}/knowledge-bases/{knowledge_base_id}。
MCP 服务器管理
- 列出任务的 MCP 服务器:
GET /ai/missions/{mission_id}/mcp-servers。 - 创建 MCP 服务器:
POST /ai/missions/{mission_id}/mcp-servers。 - 获取 MCP 服务器:
GET /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}。 - 更新 MCP 服务器:
PUT /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}。 - 删除 MCP 服务器:
DELETE /ai/missions/{mission_id}/mcp-servers/{mcp_server_id}。
使用方式
通过 npm 安装 telnyx 包,使用 API 密钥初始化客户端后,调用 client.ai.missions 及其子资源(runs、events、plan、knowledgeBases、mcpServers)上的方法。列表方法支持自动分页迭代。所有调用应包裹错误处理逻辑。
适用场景
适用于需要在 JavaScript/Node.js 应用中集成 Telnyx Missions 的开发者,用于构建和管理 AI 驱动的电信自动化工作流,包括任务定义、运行调度与监控、事件记录、计划步骤跟踪,以及知识库和 MCP 服务器的配置。
限制
资料未提供收费、价格、平台支持范围、性能指标或速率限制的具体数值。除文档中列出的错误码与重试建议外,其他限制暂未提供。