SuperAPI AI 工具集

javascript-sdk

智能体与模型

查看项目

更新于 10-15 10:19

技能介绍

JavaScript/TypeScript SDK 是 inference.sh 提供的官方 SDK,包名为 @inferencesh/sdk,用于在 JavaScript 或 TypeScript 项目中调用 AI 应用、构建智能体并集成模型。

用途与安装 该 SDK 面向两类需求:运行已有 AI 应用,以及以编程方式构建智能体。安装使用 npm(也支持 yarn、pnpm):

npm install @inferencesh/sdk

运行环境要求为 Node.js 18.0.0+,或支持 fetch 的现代浏览器。

鉴权方式 初始化客户端时可传入 API Key,或从环境变量读取(文档推荐后者),前端场景可使用代理:

import { inference } from '@inferencesh/sdk';
const client = inference({ apiKey: 'inf_your_key' });
// 或从环境变量
const client = inference({ apiKey: process.env.INFERENCE_API_KEY });
// 前端使用代理
const client = inference({ proxyUrl: '/api/inference/proxy' });

API Key 的获取路径文档描述为 Settings → API Keys → Create API Key。

运行应用的主要方式 SDK 提供多种执行模式。基础执行会等待结果并返回状态与输出;异步(fire and forget)通过 { wait: false } 立即返回任务 ID,后续用 client.getTask(task.id) 查询;流式执行通过 { stream: true } 获取进度更新,示例中会输出状态与日志。

运行参数包括 app(应用 ID,格式为 namespace/name@version)、input、setup、infra('cloud' 或 'private')、session、session_timeout(1 至 3600 秒)。

文件处理 支持在设计输入中直接传入文件路径并自动上传;也可用 client.uploadFile 手动上传,支持 filename、contentType、public 选项,并可在浏览器中直接上传 input.files[0]。

会话 通过 session: 'new' 与 session_timeout 启动会话,返回 session_id,后续调用可复用该 ID 以保持 worker 存活并执行有状态操作。

智能体能力 可使用工作区中预置的模板智能体(如 client.agent('my-team/support-agent@latest')),支持 sendMessage、reset、getChat。也可通过代码创建临时智能体,指定 core_app、system_prompt、tools、temperature、max_tokens 等。文档列出的核心应用包括 Claude Sonnet 4、Claude 3.5 Haiku、GPT-4o、GPT-4o Mini。

工具构建器 SDK 提供类型化参数构造器:string、number、integer、boolean、enumOf、array、obj、optional。支持多类工具:客户端工具(在自有代码中执行)、应用工具(调用 AI 应用)、智能体工具(委派给子智能体)、Webhook 工具(调用外部 API)、内置工具(规划、记忆、网页搜索、代码执行、图像生成)。工具可设置 requireApproval() 以要求人工审批。

流式响应与人工审批 sendMessage 支持 onMessage 与 onToolCall 回调,可实时输出内容并在工具调用时执行自定义逻辑;配合 requiresApproval 字段可实现人工审批后再提交工具结果。

文件附件 智能体消息支持以文件路径(Node.js 的 readFileSync)、base64 数据 URI 或浏览器 File 对象作为附件。

技能 智能体可配置 skills 数组,每项包含 name、description 以及 content 或 url,用于注入可复用上下文。

前端代理 为保护 API Key,前端应通过后端代理调用。SDK 提供代理中间件,示例展示 Next.js App Router 的 createRouteHandler 与 Express 的 createProxyMiddleware。文档列出的支持框架包括 Next.js(App Router 与 Pages Router)、Express、Hono、Remix、SvelteKit。

TypeScript 与错误处理 SDK 内置完整类型定义,可导入 TaskDTO、ChatDTO、ChatMessageDTO、AgentTool、TaskStatusCompleted、TaskStatusFailed 等类型。错误处理示例使用 RequirementsNotMetException(可通过 e.errors 遍历缺失需求)与 InferenceError。

其他特性 文档还提到 CommonJS 支持(require 方式引入),以及参考文件涵盖智能体模式(多智能体、RAG、批处理)、工具构建器、服务器代理、流式、文件处理、会话、TypeScript、React 集成。相关技能可通过 npx skills add 安装,例如 Python SDK、完整平台技能、LLM 模型、图像生成。

适用场景与限制 该 SDK 适合需要在 JavaScript/TypeScript 中集成 AI 应用、构建带工具的智能体、处理文件与流式输出的开发者,以及需要前端安全调用后端代理的 Web 应用。限制方面:运行需要 Node.js 18.0.0+ 或支持 fetch 的现代浏览器;前端必须使用代理以避免暴露 API Key;会话空闲超时限制在 1 至 3600 秒。关于费用、价格、具体模型可用范围与性能效果,资料未提供,暂未提供相关信息。