> For the complete documentation index, see [llms.txt](https://docs.termina.technology/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.termina.technology/documentation/developer-docs-zh/gai-shu/an-zhuang.md).

# 安装

#### CLI 客户端

`sim` 是一个命令行客户端，无需编写代码即可管理模拟会话。该工具可以重放历史 slot、注入修改后的程序并分析交易结果。

提供适用于 Linux 和 macOS（Apple Silicon）的预构建二进制文件。

```bash
curl -fsSL https://cli.simulator.termina.technology/install.sh | bash
```

如果已经安装，可将 `sim` 更新到最新发布的版本。

```bash
sudo sim update
```

所有连接模拟器的命令都需要 API 密钥。可通过 `--api-key` 参数或 `SIMULATOR_API_KEY` 环境变量传入。

```bash
export SIMULATOR_API_KEY=<API_KEY>
```

#### Rust 客户端

`simulator-client` 和 `simulator-api` 这两个 crate 为 Termina 模拟器提供原生 Rust 接口，适合希望将回测直接集成到 Rust 代码中、而不是使用 `sim` CLI 的团队。

* **`simulator-client`** 是高层异步客户端。它封装了 WebSocket 协议，并为常见工作流提供易用的构建器：创建会话、推进 slot、注入交易以及读取账户状态。
* **`simulator-api`** 定义了原始协议类型（请求/响应结构体、错误变体、会话参数）。如果需要直接访问传输格式或想实现自己的客户端，可以使用它。

完整的端到端示例请参阅入门代码[仓库](https://github.com/nitro-svm/examples)。

```toml
[dependencies]
simulator-client = "0.15"
simulator-api = "0.15" # 如果只需要协议类型（例如用于构建自定义客户端）：
```
