# 0g-serving-broker 中文文档

规范地址：https://npmcn.com/package/0g-serving-broker/

版本：0\.7\.2
npm 元数据更新时间：2026-02-13T23:54:22.860Z
中文译文更新时间：2026-10-31T12:58:25.800Z
软件包许可：ISC

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/0g-serving-broker
原文对照：https://npmcn.com/package/0g-serving-broker/?lang=original
项目主页：https://github.com/0glabs/0g-serving-user-broker#readme
源码仓库：https://github.com/0glabs/0g-serving-user-broker

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：62.1 MB，1186 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：38 个
- 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
- 首次发布：2024-11-26T13:41:31.312Z
- 最新版本发布：2026-02-13T23:54:22.748Z
- 已发布版本数：18（近 12 个月 6 个）

## 中文简介

用于0G计算网络的TS SDK

## 安装

```sh
npm install 0g-serving-broker
```

也可以使用：`pnpm add 0g-serving-broker`、`yarn add 0g-serving-broker`、`bun add 0g-serving-broker`

## README

# 0G计算网络SDK

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

## 功能

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

## 要求

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

## 安装

```bash
# 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

最快的入门方法：

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

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

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

### 命令行界面

```bash
# 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

```typescript
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的客户端：

```typescript
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计算网络使用两层帐户系统：

-   **主要帐户**你把钱包里的钱存进去
-   **子账户**：用于支付服务的特定于提供商的帐户

```bash
# 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模型：

```bash
# 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远程管理其部署的容器和配置。

### 设置

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

### 容器管理

```bash
# 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 |
| `ingress` | Nginx入口环境变量 | JSON |
| `prometheus` | 普罗米修斯监控配置 | YAML（自动base64编码） |

```bash
# 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
```

### 行政及安全管理

```bash
# 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
```

### 图像管理

```bash
# 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端点 |
| --- | --- |
| Testnet | [https://evmrpc-testnet.0g.ai](https://evmrpc-testnet.0g.ai/) |
| Mainnet | [https://evmrpc.0g.ai](https://evmrpc.0g.ai/) |

## 浏览器的使用

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

```bash
pnpm add -D vite-plugin-node-polyfills
```

```javascript
// 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 }
    })
  ]
};
```

## 故障排除

### 余额不足

```bash
# 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
```

### 未确认提供商

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

### Web界面端口冲突

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

## 文档

-   [0G计算网络概述](https://docs.0g.ai/developer-hub/building-on-0g/compute-network/overview)
-   [推理指导](https://docs.0g.ai/developer-hub/building-on-0g/compute-network/inference)
-   [微调指南](https://docs.0g.ai/developer-hub/building-on-0g/compute-network/fine-tuning)
-   [账户管理](https://docs.0g.ai/developer-hub/building-on-0g/compute-network/account-management)

## 常见问题

### 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 和提交记录判断。

