# Pi

> 全部文档的索引见 [llms.txt](https://ark.volcengine.com/llms.txt)；在任一文档页面地址后追加 `.md` 可获取该页的 Markdown 版本。

本文介绍如何在 Pi 中配置并使用方舟 按量计费模型服务。

<span id="pre-operation"></span>
# 前提条件

* 在配置工具前，需要 [开通所需的模型服务](https://ark.volcengine.com/region:cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)。

* 安装 [Node.js 20 或更新版本](https://nodejs.org/en/download/)。

<span id="install-pi"></span>
# 安装 Pi

**选项：macOS/Linux**

在命令行界面，执行以下命令安装 Pi。

```Bash
# 方式 1：npm 全局安装
npm install -g @earendil-works/pi-coding-agent

# 方式 2：官方一键脚本
curl -fsSL https://pi.dev/install.sh | sh
```

安装结束后，执行以下命令查看安装结果，若显示版本号则安装成功。

```Bash
pi --version
```

**选项：Windows**

需先额外安装 [Git for Windows](https://git-scm.com/download/win)，Pi 依赖其提供的 `bash.exe` 执行 `!` / `!!` shell 命令；官方 curl 一键脚本在 Windows 上不支持。

通过 npm 全局安装：

```Bash
npm install -g @earendil-works/pi-coding-agent
```

安装结束后，执行以下命令查看安装结果，若显示版本号则安装成功。

```Bash
pi --version
```

<span id="configure-pi"></span>
# 配置 Pi

<span id="method-2-manual"></span>
## 手动配置

1. 关注的配置信息如下：

    * `<ARK_API_KEY>`：替换为您自己的 [API Key](https://ark.volcengine.com/region:cn-beijing/apikey)。
    * `model`：更新为需要使用的 Model ID，模型列表参见 [模型列表](/docs/model-list)。

2. 创建并编辑 `~/.pi/agent/models.json` 文件。如目录不存在，先创建后再编辑。

    ```JSON
    {
      "providers": {
        "ark-model": {
          "api": "openai-responses",
          "apiKey": "<ARK_API_KEY>",
          "baseUrl": "https://ark.cn-beijing.volces.com/api/v3",
          "models": [
            {
              "contextWindow": 1048576,
              "id": "doubao-seed-evolving",
              "input": ["text", "image"],
              "maxTokens": 256000
            }
          ]
        }
      }
    }
    ```

> **说明**
>
> 修改 `models.json` 后无需重启 Pi，在对话中执行 `/model` 会自动重新加载。

<span id="use-pi"></span>
# 使用 Pi

1. 进入项目目录并启动 Pi：

    ```Bash
    pi
    ```

2. 在 Pi 交互界面执行 `/model`，可选择切换刚才配置的 provider 和模型。
    模型列表参见 [模型列表](/docs/model-list)。

3. 发送任意问题验证连通性，例如：

    ```
    简单介绍一下当前目录的文件结构。
    ```

    若返回内容正常，说明 按量计费模型服务已成功接入。

> 更多 Pi 使用教程请参见 [Pi 官方文档](https://pi.dev/docs/latest)。
