SuperAPI AI 工具集

javascript-sdk

编程与开发

查看项目

更新于 10-15 11:42

技能介绍

用途

@inferencesh/sdk 是 inference.sh 提供的 JavaScript/TypeScript SDK,用于运行 AI 应用、构建智能体,并与各类模型集成。适用于在 Node.js 或浏览器环境中调用 AI 应用、编排多步骤 Agent 工作流、上传处理文件、以及在前端应用中安全接入后端代理。

安装与运行要求

使用 npm install @inferencesh/sdk 安装,也可通过 yarn add @inferencesh/sdk 或 pnpm add @inferencesh/sdk 安装。要求 Node.js 18.0.0+,或支持 fetch 的现代浏览器。

认证方式

可直接传入 API Key(如 inf_your_key),推荐从环境变量读取(process.env.INFERENCE_API_KEY);前端应用使用代理地址(proxyUrl)而不在前端暴露密钥。API Key 可在 Settings → API Keys → Create API Key 处创建。

主要能力

运行应用:client.run 接受 app(应用 ID,格式 namespace/name@version)、input、setup、infra('cloud' 或 'private')、session、session_timeout(1-3600 秒)等参数,返回结果包含 status 与 output。支持一次性等待执行(默认 wait)、fire-and-forget 异步执行(wait: false,返回 task.id 后用 client.getTask 查询),以及流式进度(stream: true,用 for await 迭代状态与日志)。

文件处理:支持自动上传(input 中直接传文件路径)、手动上传 client.uploadFile(可指定 filename、contentType、public),以及浏览器端 File 对象上传。上传后使用返回的 file.uri 作为输入。

会话(有状态执行):通过 session: 'new' 新建会话并设置 session_timeout(如 300 秒),之后可复用返回的 session_id 在同一会话中继续调用,保持 worker 热启动。

Agent SDK:可使用工作区中的模板智能体(client.agent('my-team/support-agent@latest')),支持 sendMessage 发送消息、多轮对话、agent.reset() 重置会话、agent.getChat() 获取历史。也可通过 core_app、system_prompt、tools、temperature、max_tokens 等参数以编程方式创建临时智能体。文档列出的可用核心应用包括 infsh/claude-sonnet-4@latest、infsh/claude-haiku-35@latest、infsh/gpt-4o@latest、infsh/gpt-4o-mini@latest。

工具构建(Tool Builder):提供 string、number、integer、boolean、enumOf、array、obj、optional 等参数类型;支持客户端工具(在你的代码中运行,可 requireApproval)、应用工具 appTool(调用 AI 应用)、Agent 工具 agentTool(委派子智能体)、Webhook 工具 webhookTool(调用外部 API,可用 .secret 引用密钥)、内置工具 internalTools(plan、memory、webSearch、codeExecution、imageGeneration 等能力)。

智能体流式响应:sendMessage 支持 onMessage 回调逐段输出内容,onToolCall 处理工具调用并通过 agent.submitToolResult 提交结果。文件附件支持 Node.js 读取的文件 Buffer、base64 data URL 和浏览器 File 对象。

Skills(可复用上下文):可在创建智能体时传入 skills 数组,每项包含 name、description 与 content 或 url,用于注入可复用的上下文说明。

服务端代理:前端应用使用 proxyUrl 接入后端代理,SDK 提供 createRouteHandler(Next.js App Router)与 createProxyMiddleware(Express)等辅助,支持的框架包括 Next.js(App Router 与 Pages Router)、Express、Hono、Remix、SvelteKit。

类型与错误处理:内置完整 TypeScript 类型定义(如 TaskDTO、ChatDTO、ChatMessageDTO、AgentTool、TaskStatusCompleted、TaskStatusFailed 等),并导出 RequirementsNotMetException、InferenceError 等错误类型供捕获处理。支持 CommonJS 引入方式。

人工审批工作流:在 onToolCall 中检查 call.requiresApproval,通过用户确认决定是否执行工具并提交结果,或提交拒绝信息。

其他参考主题包括:Agent 模式(多智能体、RAG、批处理)、工具构建完整 API、服务端代理设置、流式(实时进度与 SSE)、文件处理、会话、TypeScript、React 集成。相关技能可通过 npx skills add 安装,如 python-sdk、infsh-cli、llm-models、ai-image-generation。

限制

资料未提供价格、收费模式、速率限制或配额信息,暂未提供。除文档列出的 Node.js 18.0.0+ 与支持 fetch 的浏览器要求外,其他运行环境的兼容性暂未提供。