返回顶部
o

openserv-clientOpenServ客户端指南

Complete guide to using @openserv-labs/client for managing agents, workflows, triggers, and tasks on the OpenServ Platform. Covers provisioning, authentication, x402 payments, ERC-8004 on-chain identity, and the full Platform API. IMPORTANT - Always read the companion skill openserv-agent-sdk alongside this skill, as both packages are required to build any agent. Read reference.md for the full API reference.

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

openserv-client

OpenServ 客户端

@openserv-labs/client 包是 OpenServ 平台 API 的 TypeScript 客户端。当你的代码需要与平台通信时——注册代理、创建工作流、设置触发器或运行任务——你都会用到它。

为什么需要这个包

你的代理(使用 @openserv-labs/sdk 构建)在你的机器或服务器上运行。在你告知平台之前,平台并不知道它的存在:代理是什么、在哪里可以访问它、以及如何触发它。客户端就是用来实现这一点的。它允许你创建平台账户(或复用现有账户)、注册代理、定义工作流和触发器(webhook、cron、手动或 x402 付费),并绑定凭据,以便你的代理能够接受任务。没有它,你的代理将无法进入平台或接收工作。

你可以用它做什么

  • - Provision(配置) — 一次性设置:创建或复用账户(通过钱包)、注册代理、创建包含触发器和任务的工作流,并获取 API 密钥和认证令牌。通常在每次应用启动时调用一次 provision();它是幂等的。
  • Platform API(平台 API) — 通过 PlatformClient 实现完全控制:创建和列出代理、工作流、触发器和任务;触发触发器;运行工作流;管理凭据。当你需要比默认配置流程更多功能时使用。
  • Model Parameters(模型参数) — 配置平台为代理任务使用的 LLM 模型和参数。在创建/更新代理时或通过 provision() 设置 model_parameters。
  • Models API(模型 API) — 通过 client.models.list() 发现可用的 LLM 模型及其参数模式。
  • x402 支付 — 将代理置于付费墙后;调用者在任务运行前按请求付费(例如 USDC)。Provision 可以设置 x402 触发器并返回付费墙 URL。
  • ERC-8004 链上身份 — 在链上(Base)注册代理,铸造身份 NFT,并将服务元数据发布到 IPFS,以便其他人可以以标准方式发现和支付你的代理。

参考: reference.md(完整 API)· troubleshooting.md(常见问题)· examples/(可运行代码)

安装

bash
npm install @openserv-labs/client



快速开始:只需 provision() + run()

最简单的部署只需两个调用:provision() 和 run()。 仅此而已。

你需要在平台上有一个账户来注册代理和工作流。最简单的方法是让 provision() 为你创建一个:它会创建一个钱包并用它注册(无需邮箱)。该账户在每次运行时都会被复用。

参见 examples/agent.ts 获取完整的可运行示例。

关键点: provision() 是幂等的。每次应用启动时都调用它——无需先检查 isProvisioned()。

provision() 的作用

  1. 1. 创建或复用以太坊钱包(如果是新钱包则创建平台账户)
  2. 向 OpenServ 平台进行身份认证
  3. 创建或更新代理(幂等)
  4. 生成 API 密钥和认证令牌
  5. 将凭据绑定到代理实例(如果提供了 agent.instance)
  6. 创建或更新包含触发器和任务的工作流
  7. 创建工作流图(连接触发器到任务的边)
  8. 激活触发器并将工作流设置为运行状态
  9. 将状态持久化到 .openserv.json

工作流名称与目标

workflow 配置需要两个重要属性:

  • - name(字符串)—— 这将成为 ERC-8004 中的代理名称。让它精炼、有力且令人难忘——这是用户看到的面向公众的品牌名称。像产品发布一样思考,而不是变量名。示例:Viral Content Engine、Crypto Alpha Scanner、Life Catalyst Pro。
  • goal(字符串,必填)—— 工作流完成任务的详细描述。必须描述详尽且完整——简短或模糊的目标会导致 API 调用失败。至少写一个完整的句子来解释工作流的目的。

typescript
workflow: {
name: Deep Research Pro,
goal: 深入研究任何主题,综合多个来源的发现,并生成包含引用的全面报告,
trigger: triggers.webhook({ waitForCompletion: true, timeout: 600 }),
task: { description: 研究给定的主题 }
}

代理实例绑定(v1.1+)

将代理实例传递给 provision() 以实现自动凭据绑定:

typescript
const agent = new Agent({ systemPrompt: ... })

await provision({
agent: {
instance: agent, // 自动调用 agent.setCredentials()
name: my-agent,
description: ...,
modelparameters: { model: gpt-5, verbosity: medium, reasoningeffort: high } // 可选
},
workflow: { ... }
})

// agent 现在已设置 apiKey 和 authToken - 准备好运行 run()
await run(agent)

这消除了手动设置 OPENSERVAPIKEY 环境变量的需要。

模型参数

可选的 model_parameters 字段控制平台在执行代理任务时使用的 LLM 模型和参数(包括无运行能力和 generate() 调用)。如果未提供,则使用平台默认值。

typescript
await provision({
agent: {
instance: agent,
name: my-agent,
description: ...,
model_parameters: {
model: gpt-4o,
temperature: 0.5,
paralleltoolcalls: false
}
},
workflow: { ... }
})

发现可用模型及其参数:

typescript
const { models, default: defaultModel } = await client.models.list()
// models: [{ model: gpt-5, provider: openai, parameters: { ... } }, ...]
// default: gpt-5-mini

Provision 结果

typescript
interface ProvisionResult {
agentId: number
apiKey: string
authToken?: string
workflowId: number
triggerId: string
triggerToken: string
paywallUrl?: string // 用于 x402 触发器
apiEndpoint?: string // 用于 webhook 触发器
}



API 密钥:代理 vs 用户

provision() 创建两种类型的凭据。它们不可互换

凭据环境变量使用者用途
代理 API 密钥OPENSERVAPIKEYSDK 内部在从平台接收任务时对代理进行身份认证。通过 agent.instance 自动设置。不要与 PlatformClient 一起使用。
钱包密钥
WALLETPRIVATEKEY | PlatformClient | 对管理调用(列出任务、调试工作流、管理代理)的账户进行身份认证。 |
| 用户 API 密钥 | OPENSERVUSERAPI_KEY | PlatformClient | 钱包认证的替代方案。从平台仪表板获取。 |

如果在使用 PlatformClient 时收到 401 未授权 错误,你可能错误地使用了代理 API 密钥。请改用钱包认证或用户 API 密钥。



PlatformClient:完整 API 访问

对于高级用例,直接使用 PlatformClient:

typescript
import { PlatformClient } from @openserv-labs/client

// 使用钱包认证(推荐——使用 provision 中的钱包)
const client = new PlatformClient()
await client.authenticate(process.env.WALLETPRIVATEKEY)

// 或使用用户 API 密钥(不是代理 API 密钥)
const client = new PlatformClient({
apiKey: process.env.OPENSERVUSERAPIKEY // 不是 OPENSERVAPI_KEY
})

参见 reference.md 获取以下完整 API 文档:

  • - client.agents. - 代理管理
  • client.workflows. - 工作流管理
  • client.triggers. - 触发器管理
  • client.tasks. - 任务管理
  • client.models. - 可用 LLM 模型和参数
  • client.integrations. - 集成连接
  • client.payments. - x402 支付
  • client.web3. - 积分充值

触发器工厂

使用 triggers 工厂进行类型安全的触发器配置:

typescript
import { triggers } from @openserv-labs/client

// Webhook(免费,公共端点)
triggers.webhook({
input: { query: { type: string, description: 搜索查询 } },
waitForCompletion: true,
timeout: 600
})

// x402(带付费墙的付费 API)
triggers.x402({
name: AI 研究助手,
description: 获取任何主题

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 openserv-client-1776334084 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 openserv-client-1776334084 技能

通过命令行安装

skillhub install openserv-client-1776334084

下载

⬇ 下载 openserv-client v1.0.4(免费)

文件大小: 17.69 KB | 发布时间: 2026-4-17 15:50

v1.0.4 最新 2026-4-17 15:50
- Added a sample environment file: examples/env.example.txt
- Users now have a template for required environment variables to aid in setup and configuration

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

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

p2p_official_large
返回顶部