返回顶部
o

openserv-agent-sdkOpenServ代理SDK

Build and deploy autonomous AI agents using the OpenServ SDK (@openserv-labs/sdk). IMPORTANT - Always read the companion skill openserv-client alongside this skill, as both packages are required to build and run agents. openserv-client covers the full Platform API for multi-agent workflows and ERC-8004 on-chain identity. Read reference.md for the full API reference.

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

openserv-agent-sdk

OpenServ Agent SDK

使用 TypeScript 为 OpenServ 平台构建和部署自定义 AI 代理。

为什么要构建代理?

OpenServ 代理是一种服务,它运行你的代码并将其暴露在 OpenServ 平台上——这样它就可以被工作流、其他代理或付费调用(例如 x402)触发。平台将任务发送给你的代理;你的代理运行你的能力(API、工具、文件处理)并返回结果。你不必使用 LLM——例如,它可以是一个只返回数据的静态 API。如果你需要 LLM 推理,你有两个选择:使用无运行能力(平台为你处理 AI 调用——无需 API 密钥)或使用 generate()(将 LLM 调用委托给平台);或者,使用你自己的 LLM(任何你有权限访问的提供商)。

工作原理(流程)

  1. 1. 定义你的代理 — 系统提示加上能力。能力有两种类型:可运行(带有 Zod schema 和 run 处理器)和无运行(只有名称和描述——平台自动处理 AI 调用)。你也可以在可运行能力内部使用 generate() 将 LLM 调用委托给平台。
  2. 在平台注册 — 你需要在平台上有一个账户;通常最简单的方法是让 provision() 通过创建钱包并用它注册来自动为你创建一个(该账户在后续运行中会被复用)。调用 provision()(来自 @openserv-labs/client):它会创建或复用钱包,注册代理,并将 API 密钥和认证令牌写入你的环境变量(或者你传递 agent.instance 来直接绑定它们)。在开发环境中,你可以跳过设置端点 URL;SDK 可以使用内置隧道连接到平台。
  3. 启动代理 — 调用 run(agent)。代理监听任务,运行你的能力(以及你使用的 LLM),并做出响应。详情请参考 reference.md 和 troubleshooting.md;examples/ 包含完整的可运行代码。

你的代理能做什么

  • - 无运行能力 — 只有名称和描述。平台自动处理 AI 调用——无需 API 密钥,无需 run() 函数。可选地定义 inputSchema 和 outputSchema 用于结构化输入/输出。
  • 可运行能力 — 你的代理可以运行的工具(例如搜索、转换数据、调用 API)。每个都有名称、描述、inputSchema 和 run() 函数。
  • generate() 方法 — 从任何可运行能力内部将 LLM 调用委托给平台。无需 API 密钥——平台执行调用并记录使用情况。支持文本和结构化输出。
  • 任务上下文 — 在任务中运行时,代理可以通过 addLogToTask() 和 uploadFile() 等方法将日志和上传内容附加到该任务。
  • 多代理工作流 — 你的代理可以与其他代理一起成为工作流的一部分;有关平台 API、工作流和 ERC-8004 链上身份的详细信息,请参阅 openserv-client 技能。

参考: reference.md(模式)· troubleshooting.md(常见问题)· examples/(完整示例)

快速开始

安装

bash
npm install @openserv-labs/sdk @openserv-labs/client zod

注意: 只有当你使用 process() 方法进行直接的 OpenAI 调用时才需要 openai。大多数代理不需要它——请使用无运行能力或 generate() 代替。

最小代理

请参阅 examples/basic-agent.ts 获取完整的可运行示例。

模式很简单:

  1. 1. 使用系统提示创建一个 Agent
  2. 使用 agent.addCapability() 添加能力
  3. 调用 provision() 在平台注册(传递 agent.instance 以绑定凭证)
  4. 调用 run(agent) 启动

完整代理模板

文件结构

my-agent/
├── src/agent.ts
├── .env
├── .gitignore
├── package.json
└── tsconfig.json

依赖

bash
npm init -y && npm pkg set type=module
npm i @openserv-labs/sdk @openserv-labs/client dotenv zod
npm i -D @types/node tsx typescript

注意: 项目必须在 package.json 中使用 type: module。添加 dev: tsx src/agent.ts 脚本用于本地开发。只有当你使用 process() 方法进行直接的 OpenAI 调用时才安装 openai。

.env

大多数代理不需要任何 LLM API 密钥——使用无运行能力或 generate(),平台会为你处理 LLM 调用。如果你使用 process() 进行直接的 OpenAI 调用,请设置 OPENAIAPIKEY。其余部分由 provision() 填充。

env

只有当你使用 process() 进行直接的 OpenAI 调用时才需要:


OPENAIAPIKEY=your-openai-key


ANTHROPICAPIKEY=youranthropickey # 如果直接使用 Claude

由 provision() 自动填充:

WALLETPRIVATEKEY= OPENSERVAPIKEY= OPENSERVAUTHTOKEN= PORT=7378

生产环境:跳过隧道,仅运行 HTTP 服务器

DISABLE_TUNNEL=true

即使设置了 endpointUrl 也强制使用隧道

FORCE_TUNNEL=true


能力

能力有两种类型:

无运行能力(推荐用于大多数用例)

无运行能力不需要 run 函数——平台自动处理 AI 调用。只需提供名称和描述:

typescript
// 最简单的形式——只有名称 + 描述
agent.addCapability({
name: generate_haiku,
description: 根据给定的输入生成一首俳句诗(5-7-5 音节)。
})

// 带有自定义输入 schema
agent.addCapability({
name: translate,
description: 将文本翻译成目标语言。,
inputSchema: z.object({
text: z.string(),
targetLanguage: z.string()
})
})

// 带有结构化输出
agent.addCapability({
name: analyze_sentiment,
description: 分析给定文本的情感。,
outputSchema: z.object({
sentiment: z.enum([positive, negative, neutral]),
confidence: z.number().min(0).max(1)
})
})

  • - 没有 run 函数 — 平台执行 LLM 调用
  • 无需 API 密钥 — 平台处理
  • inputSchema 是可选的 — 如果省略,默认为 z.object({ input: z.string() })
  • outputSchema 是可选的 — 为平台的结构化输出定义

请参阅 examples/haiku-poet-agent.ts 获取完整的无运行示例。

可运行能力

可运行能力具有用于自定义逻辑的 run 函数。每个都需要:

  • - name - 唯一标识符
  • description - 功能描述(帮助 AI 决定何时使用)
  • inputSchema - 定义参数的 Zod schema
  • run - 返回字符串的函数

typescript
agent.addCapability({
name: greet,
description: 按名称问候用户,
inputSchema: z.object({ name: z.string() }),
async run({ args }) {
return 你好,${args.name}!
}
})

请参阅 examples/capability-example.ts 获取基本能力示例。

注意: schema 属性仍然可以作为 inputSchema 的别名使用,但已弃用。新代码请使用 inputSchema。

使用代理方法

在能力中访问 this 以使用代理方法,如 addLogToTask()、uploadFile()、generate() 等。

请参阅 examples/capability-with-agent-methods.ts 获取日志记录和文件上传模式。



代理方法

generate() — 平台委托的 LLM 调用

generate() 方法让你无需任何 API 密钥即可进行 LLM 调用。平台执行调用并将使用情况记录到工作区。

typescript
// 文本生成
const poem = await this.generate({
prompt: 写一首关于 ${args.topic} 的短诗,
action
})

// 结构化输出(返回匹配 schema 的已验证对象)
const metadata = await this.generate({
prompt: 为以下内容建议一个标题和 3 个标签:${poem},
outputSchema: z.object({
title: z.string(),
tags: z.array(z.string()).length(3)
}),
action
})

// 带有对话历史
const followUp = await this.generate({
prompt: 建议一个相关主题。,
messages, // 来自 run 函数的对话历史
action
})

参数:

  • - prompt (字符串) — LLM 的提示
  • action (ActionSchema) — 动作上下文(传入你的 run 函数)
  • outputSchema (Zod schema,可选

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 openserv-agent-sdk-1776334093 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 openserv-agent-sdk-1776334093 技能

通过命令行安装

skillhub install openserv-agent-sdk-1776334093

下载

⬇ 下载 openserv-agent-sdk v1.0.5(免费)

文件大小: 22.33 KB | 发布时间: 2026-4-17 13:57

v1.0.5 最新 2026-4-17 13:57
openserv-agent-sdk v1.0.5

- No file changes detected in this version.
- No updates or modifications to documentation or functionality.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部