返回顶部
j

javascript-sdkJavaScript SDK

JavaScript/TypeScript SDK for inference.sh - run AI apps, build agents, integrate 150+ models. Package: @inferencesh/sdk (npm install). Full TypeScript support, streaming, file uploads. Build agents with template or ad-hoc patterns, tool builder API, skills, human approval. Use for: JavaScript integration, TypeScript, Node.js, React, Next.js, frontend apps. Triggers: javascript sdk, typescript sdk, npm install, node.js api, js client, react ai, next.js ai, frontend sdk, @inferencesh/sdk, typescr

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.5
安全检测
已通过
1,438
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

javascript-sdk

JavaScript SDK

使用 inference.sh JavaScript/TypeScript SDK 构建 AI 应用。

JavaScript SDK

快速开始

bash
npm install @inferencesh/sdk

typescript
import { inference } from @inferencesh/sdk;

const client = inference({ apiKey: infyourkey });

// 运行 AI 应用
const result = await client.run({
app: infsh/flux-schnell,
input: { prompt: 山峦上的日落 }
});
console.log(result.output);

安装

bash
npm install @inferencesh/sdk


yarn add @inferencesh/sdk


pnpm add @inferencesh/sdk

要求: Node.js 18.0.0+(或支持 fetch 的现代浏览器)

身份认证

typescript
import { inference } from @inferencesh/sdk;

// 直接使用 API 密钥
const client = inference({ apiKey: infyourkey });

// 从环境变量获取(推荐)
const client = inference({ apiKey: process.env.INFERENCEAPIKEY });

// 前端应用(使用代理)
const client = inference({ proxyUrl: /api/inference/proxy });

获取 API 密钥:设置 → API 密钥 → 创建 API 密钥

运行应用

基本执行

typescript
const result = await client.run({
app: infsh/flux-schnell,
input: { prompt: 一只猫宇航员 }
});

console.log(result.status); // completed
console.log(result.output); // 输出数据

即发即忘

typescript
const task = await client.run({
app: google/veo-3-1-fast,
input: { prompt: 无人机飞越山峦 }
}, { wait: false });

console.log(任务 ID: ${task.id});
// 稍后使用 client.getTask(task.id) 检查

流式进度

typescript
const stream = await client.run({
app: google/veo-3-1-fast,
input: { prompt: 日落时分的海浪 }
}, { stream: true });

for await (const update of stream) {
console.log(状态: ${update.status});
if (update.logs?.length) {
console.log(update.logs.at(-1));
}
}

运行参数

参数类型描述
appstring应用 ID(命名空间/名称@版本)
input
object | 与应用模式匹配的输入 | | setup | object | 隐藏的设置配置 | | infra | string | cloud 或 private | | session | string | 有状态执行的会话 ID | | session_timeout | number | 空闲超时时间(1-3600 秒) |

文件处理

自动上传

typescript
const result = await client.run({
app: image-processor,
input: {
image: /path/to/image.png // 自动上传
}
});

手动上传

typescript
// 基本上传
const file = await client.uploadFile(/path/to/image.png);

// 带选项
const file = await client.uploadFile(/path/to/image.png, {
filename: custom_name.png,
contentType: image/png,
public: true
});

const result = await client.run({
app: image-processor,
input: { image: file.uri }
});

浏览器文件上传

typescript
const input = document.querySelector(input[type=file]);
const file = await client.uploadFile(input.files[0]);

会话(有状态执行)

跨多次调用保持工作进程活跃:

typescript
// 启动新会话
const result = await client.run({
app: my-app,
input: { action: init },
session: new,
session_timeout: 300 // 5 分钟
});
const sessionId = result.session_id;

// 在同一会话中继续
const result2 = await client.run({
app: my-app,
input: { action: process },
session: sessionId
});

Agent SDK

模板 Agent

使用工作区中的预构建 Agent:

typescript
const agent = client.agent(my-team/support-agent@latest);

// 发送消息
const response = await agent.sendMessage(你好!);
console.log(response.text);

// 多轮对话
const response2 = await agent.sendMessage(告诉我更多);

// 重置对话
agent.reset();

// 获取聊天历史
const chat = await agent.getChat();

即席 Agent

以编程方式创建自定义 Agent:

typescript
import { tool, string, number, appTool } from @inferencesh/sdk;

// 定义工具
const calculator = tool(calculate)
.describe(执行计算)
.param(expression, string(数学表达式))
.build();

const imageGen = appTool(generate_image, infsh/flux-schnell@latest)
.describe(生成图像)
.param(prompt, string(图像描述))
.build();

// 创建 Agent
const agent = client.agent({
core_app: { ref: infsh/claude-sonnet-4@latest },
system_prompt: 你是一个乐于助人的助手。,
tools: [calculator, imageGen],
temperature: 0.7,
max_tokens: 4096
});

const response = await agent.sendMessage(25 * 4 等于多少?);

可用的核心应用

模型应用引用
Claude Sonnet 4infsh/claude-sonnet-4@latest
Claude 3.5 Haiku
infsh/claude-haiku-35@latest | | GPT-4o | infsh/gpt-4o@latest | | GPT-4o Mini | infsh/gpt-4o-mini@latest |

工具构建器 API

参数类型

typescript
import {
string, number, integer, boolean,
enumOf, array, obj, optional
} from @inferencesh/sdk;

const name = string(用户姓名);
const age = integer(年龄(岁));
const score = number(分数 0-1);
const active = boolean(是否活跃);
const priority = enumOf([低, 中, 高], 优先级);
const tags = array(string(标签), 标签列表);
const address = obj({
street: string(街道),
city: string(城市),
zip: optional(string(邮编))
}, 地址);

客户端工具(在代码中运行)

typescript
const greet = tool(greet)
.display(问候用户)
.describe(按姓名问候用户)
.param(name, string(要问候的姓名))
.requireApproval()
.build();

应用工具(调用 AI 应用)

typescript
const generate = appTool(generate_image, infsh/flux-schnell@latest)
.describe(根据文本生成图像)
.param(prompt, string(图像描述))
.setup({ model: schnell })
.input({ steps: 20 })
.requireApproval()
.build();

Agent 工具(委托给子 Agent)

typescript
import { agentTool } from @inferencesh/sdk;

const researcher = agentTool(research, my-org/researcher@v1)
.describe(研究一个主题)
.param(topic, string(要研究的主题))
.build();

Webhook 工具(调用外部 API)

typescript
import { webhookTool } from @inferencesh/sdk;

const notify = webhookTool(slack, https://hooks.slack.com/...)
.describe(发送 Slack 通知)
.secret(SLACK_SECRET)
.param(channel, string(频道))
.param(message, string(消息))
.build();

内部工具(内置功能)

typescript
import { internalTools } from @inferencesh/sdk;

const config = internalTools()
.plan()
.memory()
.webSearch(true)
.codeExecution(true)
.imageGeneration({
enabled: true,
appRef: infsh/flux@latest
})
.build();

const agent = client.agent({
core_app: { ref: infsh/claude-sonnet-4@latest },
internal_tools: config
});

流式 Agent 响应

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 javascript-sdk-1776352471 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 javascript-sdk-1776352471 技能

通过命令行安装

skillhub install javascript-sdk-1776352471

下载

⬇ 下载 javascript-sdk v0.1.5(免费)

文件大小: 29.8 KB | 发布时间: 2026-4-17 14:41

v0.1.5 最新 2026-4-17 14:41
- Added comprehensive SKILL.md documentation covering installation, usage, file handling, sessions, and agent SDK features for @inferencesh/sdk.
- Describes new capabilities: streaming, file uploads, agent and tool builder APIs, support for 150+ models, and human approval flows.
- Includes quick start examples, authentication methods, running/tracking tasks, and full TypeScript support.
- Lists usage scenarios for Node.js, React, Next.js, browser, and frontend integration.
- Documents advanced agent features: template/adhoc agents, agent tools, webhook/internal tools, and streaming agent responses.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部