用途
inference.sh 的 JavaScript/TypeScript SDK(包名 @inferencesh/sdk)用于在 JavaScript 或 TypeScript 项目中运行 AI 应用、构建智能体,并与各类模型集成。适用于 Node.js 18.0.0+ 或支持 fetch 的现代浏览器。
安装与认证
安装命令:
npm install @inferencesh/sdk
# 或
yarn add @inferencesh/sdk
# 或
pnpm add @inferencesh/sdk
认证方式支持直接传入 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。
主要能力
运行 AI 应用
const result = await client.run({
app: 'infsh/flux-schnell',
input: { prompt: 'A sunset over mountains' }
});
console.log(result.output);
支持“发射后不管”的异步任务({ wait: false },之后用 client.getTask(task.id) 查询)以及流式进度({ stream: true },通过 for await 迭代更新状态与日志)。
运行参数包括:app(应用 ID,namespace/name@version)、input(符合应用 schema 的输入)、setup(隐藏的 setup 配置)、infra('cloud' 或 'private')、session(有状态执行的会话 ID)、session_timeout(空闲超时,1-3600 秒)。
文件处理
支持自动上传(在 input 中直接传文件路径)、手动上传(client.uploadFile,可指定 filename、contentType、public),以及浏览器 File 对象上传。
会话(有状态执行)
通过 session: 'new' 启动新会话并设置 session_timeout,后续调用传入返回的 session_id 以保持 worker 常驻。
智能体 SDK
可使用工作区中的模板智能体:
const agent = client.agent('my-team/support-agent@latest');
const response = await agent.sendMessage('Hello!');
console.log(response.text);
支持多轮对话、agent.reset() 重置、agent.getChat() 获取历史。也可通过代码创建临时智能体,指定 core_app、system_prompt、tools、temperature、max_tokens 等。可用核心应用包括 Claude Sonnet 4(infsh/claude-sonnet-4@latest)、Claude 3.5 Haiku、GPT-4o、GPT-4o Mini。
工具构建器 API
参数类型包括 string、number、integer、boolean、enumOf、array、obj、optional。工具类型包括:
- 客户端工具(tool):在自身代码中运行,可 requireApproval。
- 应用工具(appTool):调用 AI 应用,可设置 setup、input、requireApproval。
- 智能体工具(agentTool):委托给子智能体。
- Webhook 工具(webhookTool):调用外部 API,可设置 secret。
- 内置工具(internalTools):plan、memory、webSearch、codeExecution、imageGeneration 等。
流式智能体响应与文件附件
agent.sendMessage 支持 onMessage 与 onToolCall 回调,实现实时输出与工具调用处理。文件附件支持 Node.js 文件路径、base64 data URI、浏览器 File 对象。
技能(可复用上下文)
可在创建智能体时通过 skills 数组传入内联内容或 URL 引用的技能。
服务端代理(前端应用)
为保护 API Key,浏览器应用应通过后端代理。SDK 提供 Next.js(App Router 与 Pages Router)、Express、Hono、Remix、SvelteKit 的代理支持。
TypeScript 与错误处理
包含完整类型定义(如 TaskDTO、ChatDTO、AgentTool、TaskStatusCompleted、TaskStatusFailed 等)。错误类型包括 RequirementsNotMetException 与 InferenceError。支持人工审批工作流(call.requiresApproval)与 CommonJS(require)。
适用场景
适合需要在 JavaScript/TypeScript 项目中集成 AI 应用调用、构建多轮对话智能体、定义自定义工具、处理文件上传、实现流式输出,以及在前端安全调用 AI 能力的开发者。
限制
资料未提供具体收费、价格、平台可用性、性能效果或速率限制等信息,暂未提供。