# @dcl/quests-client 中文文档

规范地址：https://npmcn.com/package/%40dcl/quests-client/

版本：1\.0\.3
npm 元数据更新时间：2026-05-28T13:01:42.686Z
中文译文更新时间：2026-11-11T18:05:26.266Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40dcl/quests-client
原文对照：https://npmcn.com/package/%40dcl/quests-client/?lang=original
项目主页：https://github.com/decentraland/quests-client#readme
源码仓库：https://github.com/decentraland/quests-client

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

- 包体积（解压后）：960 kB，30 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2023-06-02T13:04:32.258Z
- 最新版本发布：2023-10-25T13:19:25.846Z
- 近 30 天下载量：5941（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：23（近 12 个月 0 个）

## 中文简介

查询客户端

## 安装

```sh
npm install @dcl/quests-client
```

也可以使用：`pnpm add @dcl/quests-client`、`yarn add @dcl/quests-client`、`bun add @dcl/quests-client`

## README

[![Decentraland](https://decentraland.org/images/logo.png)](https://decentraland.org/)

# 查询客户端 - SDK7

SDK7的查询客户端是一个 [RPC 客户端](https://github.com/decentraland/rpc "Decentraland RPC repository") 与 [查询服务器](https://github.com/decentraland/quests/ "Decentraland Quests repository") 追踪探寻的国家,并发送事件以取得进展.

# 设置

如果您想要为该项目做出贡献,则需要安装依赖并构建项目.

首先安装国家预防机制的依赖性:

```console
$ npm install
```

该项目使用查询服务 [原型定义](https://npmcn.com/package/%40dcl/quests-client/src/protocol/quests.proto) 生成编译所需的代码,所以在开始开发前,确保您运行:

```console
$ make build
```

# 使用量

这个库旨在被用在Decentraland Scene中,并使用用户认证等SDK7特性来初始化客户端.

您可以找到文档开始使用库 [这里](https://docs.decentraland.org/creator/quests/sdk-client/)。 。 。 .

## 安装

向您的工程添加依赖性

```console
$ npm add @dcl/quests-client
```

## 示例

创建查询客户端 `executeTask` 而如果基于钱包的认证是 OK, 您将准备使用客户端订阅更新或发送新的事件, 这些事件可能会在搜索中取得进展 .

例如,我们注册了两个可观察者来利用您代码中其他部分的客户端: `questEventsObservable` 财务报告和审定财务报表 `questStartObservable`

```typescript
executeTask(async () => {
  // retrieve websocket url from env
  const ws = 'wss://quests-rpc.decentraland.zone'

  const questID = 'q123-u456-e789-s012-t345'

  // create quests client
  try {
    const client = await createQuestsClient(ws, questID)

    questEventsObservable.on('message', async (action) => {
      await client.sendEvent({ action })
    })

    questStartObservable.on('start', async () => {
      await client.startQuest()
    })

    client.onStarted((quest) => {
      // update your state here or react to the quest started event
    })

    client.onUpdate((quest) => {
      // update your state here or react to the quest updates
    })

    // retrieve all quest instances and their state
    const userInstance = client.getQuestInstance()
    ...
  } catch (e) {
    console.log(`[Your Scene] connection to ${ws} failed! ${e}`)
  }
})
```

### 场景示例:查询跟踪

在这 [仓库](https://github.com/decentraland/pickup-quest-scene) 您可以找到一个可以使用所有查询客户端功能的场景.

或者你去看看图书馆的文件 [这里](https://docs.decentraland.org/creator/quests/sdk-client/)

## 常见问题

### @dcl/quests-client 是什么？

查询客户端

### 如何安装 @dcl/quests-client？

在项目目录运行 npm install @dcl/quests-client，或使用 pnpm add / yarn add / bun add。

### @dcl/quests-client 支持 TypeScript 吗？

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

### @dcl/quests-client 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @dcl/quests-client 可以商用吗？

@dcl/quests-client 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @dcl/quests-client 的下载量有多少？

根据 npm 官方下载统计，@dcl/quests-client 在 2026/10/12 – 2026/11/10 这 30 天内被下载 5,941 次，日均约 198 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dcl/quests-client 还在维护吗？

最新版本 1\.0\.3 发布于 2023/10/25（3 年前）；至今共发布 23 个版本，其中过去 12 个月发布了 0 个；首次发布于 2023/06/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

