0g-serving-broker

中文文档
0.7.2发布于 2026/02/14ISCTypeScriptESM + CJS

用于0G计算网络的TS SDK

中文使用文档
文档目录23 节
  1. 功能
  2. 要求
  3. 安装
  4. 快速入门
  5. Web UI
  6. 命令行界面
  7. SDK
  8. 直接访问API
  9. 账户管理
  10. 微调
  11. 提供商控制器(适用于服务提供商)
  12. 设置
  13. 容器管理
  14. 配置管理
  15. 行政及安全管理
  16. 图像管理
  17. 网络配置
  18. 浏览器的使用
  19. 故障排除
  20. 余额不足
  21. 未确认提供商
  22. Web界面端口冲突
  23. 文档

0G计算网络SDK

通过0G计算网络访问分散的人工智能计算——这是一个GPU市场,将开发人员与负担得起的人工智能推理和微调服务联系起来。

功能

  • 人工智能推理:运行llm、文本到图像和语音到文本模型
  • 微调:使用您自己的数据定制模型
  • OpenAI兼容:与现有的OpenAI SDK客户端一起工作
  • Web UI:内置接口,方便服务发现和测试
  • CLI工具:用于自动化的命令行接口

要求

  • Node.js >= 22.0.0
  • 一个装有0G代币的钱包

安装

# Using pnpm (recommended)
pnpm add @0glabs/0g-serving-broker

# Using npm
npm install @0glabs/0g-serving-broker

# Using yarn
yarn add @0glabs/0g-serving-broker

# Install globally for CLI access
pnpm add @0glabs/0g-serving-broker -g

快速入门

Web UI

最快的入门方法:

# Launch the Web UI
0g-compute-cli ui start-web

开放 http://localhost:3090 在浏览器中:

  • 连接您的钱包(MetaMask)
  • 浏览可用的人工智能服务
  • 直接与AI模型聊天
  • 获取集成代码示例

命令行界面

# Setup network
0g-compute-cli setup-network

# Login with your wallet
0g-compute-cli login

# Deposit funds
0g-compute-cli deposit --amount 10

# List available providers
0g-compute-cli inference list-providers

# Transfer funds to a provider
0g-compute-cli transfer-fund --provider <PROVIDER_ADDRESS> --amount 5

# Acknowledge provider before use
0g-compute-cli inference acknowledge-provider --provider <PROVIDER_ADDRESS>

# Get API secret for direct access
0g-compute-cli inference get-secret --provider <PROVIDER_ADDRESS>

# Generate API key with a specific token ID (0-254)
0g-compute-cli inference get-secret --provider <PROVIDER_ADDRESS> --token-id 5

SDK

import { ethers } from "ethers";
import { createZGComputeNetworkBroker } from "@0glabs/0g-serving-broker";

// Initialize
const provider = new ethers.JsonRpcProvider("https://evmrpc-testnet.0g.ai");
const wallet = new ethers.Wallet(process.env.PRIVATE_KEY!, provider);
const broker = await createZGComputeNetworkBroker(wallet);

// Discover services
const services = await broker.inference.listService();

// Fund your account
await broker.ledger.depositFund(10);

// Acknowledge provider
await broker.inference.acknowledgeProviderSigner(providerAddress);

// Get service metadata
const { endpoint, model } = await broker.inference.getServiceMetadata(providerAddress);

// Generate auth headers
const headers = await broker.inference.getRequestHeaders(providerAddress);

// Make request (OpenAI compatible)
const response = await fetch(`${endpoint}/chat/completions`, {
  method: "POST",
  headers: { "Content-Type": "application/json", ...headers },
  body: JSON.stringify({
    model,
    messages: [{ role: "user", content: "Hello!" }]
  })
});

直接访问API

在得到一个秘密之后 0g-compute-cli inference get-secret,使用任何兼容openai的客户端:

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: `${serviceUrl}/v1/proxy`,
  apiKey: 'app-sk-<YOUR_SECRET>'
});

const completion = await client.chat.completions.create({
  model: 'model-name',
  messages: [{ role: 'user', content: 'Hello!' }]
});

账户管理

0G计算网络使用两层帐户系统:

  • 主要帐户你把钱包里的钱存进去
  • 子账户:用于支付服务的特定于提供商的帐户
# Check account balance
0g-compute-cli get-account

# Deposit to main account
0g-compute-cli deposit --amount 10

# Transfer to provider sub-account
0g-compute-cli transfer-fund --provider <PROVIDER_ADDRESS> --amount 5

# Request refund from sub-accounts (24-hour lock period)
0g-compute-cli retrieve-fund

# Withdraw to wallet
0g-compute-cli refund --amount 5

微调

使用您自己的数据定制AI模型:

# List available providers
0g-compute-cli fine-tuning list-providers

# List available models
0g-compute-cli fine-tuning list-models

# Upload your dataset
0g-compute-cli fine-tuning upload --data-path ./my-dataset

# Create fine-tuning task
0g-compute-cli fine-tuning create-task \
  --provider <PROVIDER_ADDRESS> \
  --model distilbert-base-uncased \
  --dataset <DATASET_ROOT_HASH> \
  --config-path ./config.json \
  --data-size <SIZE>

# Monitor progress
0g-compute-cli fine-tuning get-task --provider <PROVIDER_ADDRESS> --task <TASK_ID>

# Download and decrypt result
0g-compute-cli fine-tuning acknowledge-model --provider <PROVIDER_ADDRESS> --task-id <TASK_ID> --data-path ./model
0g-compute-cli fine-tuning decrypt-model --provider <PROVIDER_ADDRESS> --task-id <TASK_ID> --encrypted-model ./model --output ./model.zip

提供商控制器(适用于服务提供商)

服务提供商可以使用控制器CLI远程管理其部署的容器和配置。

设置

# Reset saved endpoint configuration
0g-compute-cli controller reset-controller-endpoint

容器管理

# View all container status
0g-compute-cli controller status

# Start/stop/restart specific containers
0g-compute-cli controller start --container broker
0g-compute-cli controller stop --container event
0g-compute-cli controller restart --container ingress

# Available containers: broker, event, ingress, prometheus-init, prometheus

配置管理

控制器管理三种类型的配置:

类型描述格式
core代理+事件共享配置YAML
ingressNginx入口环境变量JSON
prometheus普罗米修斯监控配置YAML(自动base64编码)
# Get configuration
0g-compute-cli controller get-config --type core --output config.yaml
0g-compute-cli controller get-config --type ingress
0g-compute-cli controller get-config --type prometheus --decode  # decode base64

# Update configuration
# core: updates config AND restarts broker+event
0g-compute-cli controller update-config --type core --config config.yaml

# ingress: provide JSON file with env vars
# Example env.json: {"DOMAIN": "example.com", "PORT": "443"}
0g-compute-cli controller update-config --type ingress --config env.json

# prometheus: provide YAML file (auto base64 encoded)
0g-compute-cli controller update-config --type prometheus --config prometheus.yml

行政及安全管理

# Manage admin wallet whitelist
0g-compute-cli controller list-admins
0g-compute-cli controller add-admin --address 0x...
0g-compute-cli controller remove-admin --address 0x...

# Manage IP whitelist
0g-compute-cli controller list-ips
0g-compute-cli controller add-ip --ip 192.168.1.100
0g-compute-cli controller add-ip --ip 10.0.0.0/8  # CIDR supported
0g-compute-cli controller remove-ip --ip 192.168.1.100

图像管理

# View current image info
0g-compute-cli controller image-info

# Pull latest image and recreate broker+event containers
0g-compute-cli controller update-images

网络配置

网络RPC端点
Testnethttps://evmrpc-testnet.0g.ai
Mainnethttps://evmrpc.0g.ai

浏览器的使用

对于浏览器环境,你需要为Node.js内置模块填充多边形:

pnpm add -D vite-plugin-node-polyfills
// vite.config.js
import { nodePolyfills } from 'vite-plugin-node-polyfills';

export default {
  plugins: [
    nodePolyfills({
      include: ['crypto', 'stream', 'util', 'buffer', 'process'],
      globals: { Buffer: true, global: true, process: true }
    })
  ]
};

故障排除

余额不足

# Check which account needs funds
0g-compute-cli get-account

# Deposit to main account
0g-compute-cli deposit --amount 10

# Transfer to provider
0g-compute-cli transfer-fund --provider <ADDRESS> --amount 5

未确认提供商

0g-compute-cli inference acknowledge-provider --provider <PROVIDER_ADDRESS>

Web界面端口冲突

0g-compute-cli ui start-web --port 3091

文档

版本与发布记录

0g-serving-broker 共发布 18 个版本,首次发布于 2024/11/26;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.7.2latest2026/02/148 个月前
0.7.12026/02/148 个月前
0.7.02026/02/148 个月前
1.0.0-beta.32025/11/1111 个月前
1.0.0-beta.22025/11/1111 个月前
1.0.0-beta2025/11/1011 个月前

关于 0g-serving-broker 的常见问题

0g-serving-broker 是什么?

用于0G计算网络的TS SDK

如何安装 0g-serving-broker?

在项目目录运行 npm install 0g-serving-broker,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@types/circomlibjs(^0.1.6)、@types/crypto-js(^4.2.2)、circomlibjs(^0.1.6)、crypto-js(^4.2.0)、ethers(6.13.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 0g-compute-cli,可以用 npx 0g-compute-cli 直接运行。

0g-serving-broker 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

0g-serving-broker 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

0g-serving-broker 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

0g-serving-broker 可以商用吗?

0g-serving-broker 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

0g-serving-broker 还在维护吗?

最新版本 0.7.2 发布于 2026/02/14(8 个月前);至今共发布 18 个版本,其中过去 12 个月发布了 6 个;首次发布于 2024/11/26。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。