---
title: "本地运行"
description: "安装 dexcli，用 dexcli dev 在你的 macOS 或 Linux 机器上运行 Dex Server 和 Dex Web。"
canonical_url: "https://docs.superdurable.io/zh-Hans/components/run-locally/"
source: "docs/i18n/zh-Hans/docusaurus-plugin-content-docs/current/components/run-locally.mdx"
locale: "zh-Hans"
---

> 供 AI Agent 使用的全部页面索引：https://docs.superdurable.io/zh-Hans/llms.txt

# 本地运行

**dexcli dev** 在你的机器上运行一套完整的 Dex：Dex Server 和 Dex Web。部署之前，用它来构建和测试 Flow。

<a id="install-dexcli"></a>

## 安装 dexcli

<a id="安装-dexcli"></a>

`dexcli` 支持 macOS 和 Linux，amd64 和 arm64 架构都可以。Windows 不受支持。Linux 归档包或许能在 WSL 2 下运行，文档不涉及这种用法。

在 macOS 或 Linux 上用 Homebrew 安装：

```bash
brew install superdurable/tap/dexcli
brew update && brew upgrade superdurable/tap/dexcli   # when you want the latest
```

不用 Homebrew 时，从 [`dexcli` 发布版本](https://github.com/superdurable/dex/releases?q=cli-v\&expanded=true) 下载适合你系统的归档包。每个发布版本带有 **cli-v** 标签，每种系统一个归档包，例如 `dexcli_vVERSION_linux_amd64.tar.gz`。归档包里有 `dexcli` 和 **dex-server-zd**。把这两个文件放在 `PATH` 上的同一个目录里：

```bash
tar xzf dexcli_vVERSION_linux_amd64.tar.gz   # VERSION is the release you downloaded
sudo mv dexcli dex-server-zd /usr/local/bin/
dexcli version
```

发布版本里还有 `checksums.txt`，可以用来校验下载的文件。

<a id="start-dex"></a>

## 启动 Dex

```bash
dexcli dev
```

**dexcli dev** 会启动 **Dex Server**（server-zd）和 **Dex Web**。状态保存在本地磁盘上的 `RocksDB` 和内嵌的 `s3local` 对象存储中。默认端口空闲时，地址如下：

| Service    | Address                 |
| ---------- | ----------------------- |
| Dex Web    | `http://127.0.0.1:8802` |
| Dex Server | **127.0.0.1:8801**      |

**dexcli dev** 先打印服务器日志。Dex 准备好后，最后会输出类似下面的摘要：

```text
Dex development environment is ready

Dex Web:       http://127.0.0.1:8802
Connectors MCP: http://127.0.0.1:8802/mcp
Dex Server:    127.0.0.1:8801
State dir:     /Users/you/.dex/zd/8801

Press Ctrl+C to stop.
```

让 Worker 和 Client 连接 **Dex Server** 地址，在浏览器中打开 **Dex Web** 地址。状态目录会在 **dexcli dev** 重启后保留你的 Flow。

<a id="if-something-does-not-work"></a>

## 排查问题

- **Worker 或 Client 连接失败。** 确认 **dexcli dev** 仍在运行，并且已经打印 **Dex development environment is ready**。使用它打印出的 **Dex Server** 地址。示例从 `DEX_FLOW_SERVICE_ADDRESS` 读取这个地址，默认是 **127.0.0.1:8801**。
- **端口被占用。** **dexcli dev** 会改用其他空闲端口并打印出来。要自己指定端口，传入 `-dex-port` 和 `-web-port`。
- **Worker 已就绪，但什么都没运行。** 确认 Worker 和启动命令注册的是同一个 Flow，并且连接的是同一个 **Dex Server**。Dex Web 会列出这个 Flow，并显示正在等待的 Step。
- **想从头开始。** 停止 **dexcli dev**，删除它的状态目录。所有 Flow 都会被删除。

<a id="run-a-second-dex"></a>

## 再运行一个 Dex

在同一台机器上再开一个 **dexcli dev**，它会改用其他空闲端口和独立的状态目录。把它打印出的 **Dex Server** 地址传给 `-server`。

<a id="reference"></a>

## 参考

[CLI 参考](https://docs.superdurable.io/zh-Hans/reference/cli.md)（英文）介绍每个命令、它的 flag，以及 **dexcli dev** 的持久化选项。

<a id="next"></a>

## 下一步

[你的应用](https://docs.superdurable.io/zh-Hans/components/application.md)：Dex 应用就是你部署的代码。
