Updated · SI-API

DEVELOPER GUIDES

Pi setup

Load all seven models in one terminal setup and switch with /model.

One connection. All seven models.

Set up your Agent once, then switch models and reasoning effort in the same session.

Download all-model configuration ZIP ↗

Prefer to skip manual setup? Ask AI to do it for you.

AI setup prompt

Follow https://siapi.ai/docs/pi?model=deepseek-flash&surface=cli&platform=macos to connect my Agent to all SI-API models. Preserve existing settings and ask for my API key when needed.

  • GLM 5.3 Flash
  • DeepSeek V4.1 Flash
  • Kimi K3.1 Pro
  • Kimi K3.1 Pro HighSpeed
  • GLM 5.3
  • MiniMax M3.1 Flash
  • Qwen3.8 Max

All seven models are in this download. Keep the same configuration when switching models. Get your API key →

1. Prepare your tool and key

Install Pi from its official page. Create or copy your SI-API key from /keys.

Official installation guide ↗

Prepare your tool and key
export SIAPI_API_KEY="YOUR_SIAPI_API_KEY"

2. Save the configuration

Download and extract the ZIP. Replace YOUR_SIAPI_API_KEY with your key, then save each file to the path below. Merge these fields into an existing file, preserving other providers, permissions and preferences. Do not replace an existing configuration wholesale.

Configuration location: ~/.config/siapi/pi

models.json

Save to: ~/.config/siapi/pi/models.json

Save in the dedicated Pi directory. Keep reasoning, thinkingLevelMap and compat fields, including null entries that disable unsupported levels. Save settings.json alongside it for per-model effort defaults. Keep existing providers if this file already exists.

View or copy configuration
models.json
{
  "providers": {
    "siapi": {
      "baseUrl": "https://siapi.ai/v1",
      "api": "openai-completions",
      "apiKey": "$SIAPI_API_KEY",
      "models": [
        {
          "id": "glm-5.3-flash",
          "name": "GLM 5.3 Flash",
          "input": [
            "text"
          ],
          "reasoning": true,
          "thinkingLevelMap": {
            "off": null,
            "minimal": null,
            "low": "low",
            "medium": null,
            "high": "high",
            "xhigh": null,
            "max": "max"
          },
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": true
          }
        },
        {
          "id": "deepseek-flash",
          "name": "DeepSeek V4.1 Flash",
          "input": [
            "text"
          ],
          "reasoning": true,
          "thinkingLevelMap": {
            "off": "none",
            "minimal": null,
            "low": "low",
            "medium": null,
            "high": "high",
            "xhigh": null,
            "max": "max"
          },
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": true
          }
        },
        {
          "id": "kimi-k3.1-pro",
          "name": "Kimi K3.1 Pro",
          "input": [
            "text"
          ],
          "reasoning": true,
          "thinkingLevelMap": {
            "off": null,
            "minimal": null,
            "low": "low",
            "medium": null,
            "high": "high",
            "xhigh": null,
            "max": "max"
          },
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": true
          }
        },
        {
          "id": "kimi-k3.1-pro-highspeed",
          "name": "Kimi K3.1 Pro HighSpeed",
          "input": [
            "text"
          ],
          "reasoning": true,
          "thinkingLevelMap": {
            "off": null,
            "minimal": null,
            "low": "low",
            "medium": null,
            "high": "high",
            "xhigh": null,
            "max": "max"
          },
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": true
          }
        },
        {
          "id": "glm-5.3",
          "name": "GLM 5.3",
          "input": [
            "text"
          ],
          "reasoning": true,
          "thinkingLevelMap": {
            "off": null,
            "minimal": null,
            "low": "low",
            "medium": null,
            "high": "high",
            "xhigh": null,
            "max": "max"
          },
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": true
          }
        },
        {
          "id": "minimax-m3.1",
          "name": "MiniMax M3.1 Flash",
          "input": [
            "text"
          ],
          "reasoning": false,
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": false
          }
        },
        {
          "id": "qwen3.8-max",
          "name": "Qwen3.8 Max",
          "input": [
            "text"
          ],
          "reasoning": true,
          "thinkingLevelMap": {
            "off": "none",
            "minimal": null,
            "low": "low",
            "medium": "medium",
            "high": null,
            "xhigh": "xhigh",
            "max": null
          },
          "compat": {
            "supportsDeveloperRole": false,
            "supportsReasoningEffort": true
          }
        }
      ]
    }
  }
}

settings.json

Save to: ~/.config/siapi/pi/settings.json

Merge these fields into an existing file, preserving other providers, permissions and preferences. Do not replace an existing configuration wholesale. modelThinkingLevels sets the starting effort for each model; models.json separately declares its available choices. Save both files in the same PI_CODING_AGENT_DIR.

View or copy configuration
settings.json
{
  "defaultProvider": "siapi",
  "defaultModel": "deepseek-flash",
  "modelThinkingLevels": {
    "siapi/glm-5.3-flash": "max",
    "siapi/deepseek-flash": "high",
    "siapi/kimi-k3.1-pro": "max",
    "siapi/kimi-k3.1-pro-highspeed": "max",
    "siapi/glm-5.3": "max",
    "siapi/qwen3.8-max": "xhigh"
  }
}

3. Start your Agent

Start a new session and send a message. The startup model is deepseek-flash.

Start your Agent
PI_CODING_AGENT_DIR="$HOME/.config/siapi/pi" pi --provider siapi --model deepseek-flash

4. Switch between all models

After setup, choose any model below inside your Agent. The same key and configuration work for all seven models; no new download or connection is needed.

All 7 models in this Agent configuration
Model / API IDCommand / picker pathThinking settings
GLM 5.3 Flash
glm-5.3-flash
/model → SI-API → GLM 5.3 Flash (glm-5.3-flash)Low, High and Max. Thinking is always enabled; choose Low for less reasoning. The model default is Max.
DeepSeek V4.1 Flash
deepseek-flash
/model → SI-API → DeepSeek V4.1 Flash (deepseek-flash)Off, Low, High and Max. Medium / XHigh map to High; Ultra maps to Max.
Kimi K3.1 Pro
kimi-k3.1-pro
/model → SI-API → Kimi K3.1 Pro (kimi-k3.1-pro)Low, High and Max. Thinking is always enabled; choose Low for less reasoning. The model default is Max.
Kimi K3.1 Pro HighSpeed
kimi-k3.1-pro-highspeed
/model → SI-API → Kimi K3.1 Pro HighSpeed (kimi-k3.1-pro-highspeed)Low, High and Max. Thinking is always enabled; choose Low for less reasoning. The model default is Max.
GLM 5.3
glm-5.3
/model → SI-API → GLM 5.3 (glm-5.3)Low, High and Max. Thinking is always enabled; choose Low for less reasoning. The model default is Max.
MiniMax M3.1 Flash
minimax-m3.1
/model → SI-API → MiniMax M3.1 Flash (minimax-m3.1)Use the model default. This route does not expose custom thinking controls.
Qwen3.8 Max
qwen3.8-max
/model → SI-API → Qwen3.8 Max (qwen3.8-max)Off, Low, Medium and XHigh. High / Max map to XHigh, not additional levels.

5. Choose reasoning effort

Send each command separately inside your Agent. On DeepSeek V4.1 Flash, switch from Low to High before your next message.

Inside your Agent
/thinking

Available effort levels depend on the model; see the table above. MiniMax M3.1 Flash uses its model default.

Effort defaults and saved settings

Start on DeepSeek V4.1 Flash. Choose Low, send a short file-reading task, then choose High and repeat. Check the current setting after each change.

Effort means how much reasoning to request. Kimi K3.1 Pro / HighSpeed, GLM 5.3 and GLM 5.3 Flash offer Low / High / Max with thinking always enabled. Choose Low for shorter reasoning; there is no Off option. Their model default is Max, but a client setting can override it. DeepSeek and Qwen have their own intensity levels listed below.

MiniMax M3.1 Flash uses its default reasoning behavior. MiniMax M3 settings apply to a different model.

Save both supplied files. settings.json uses modelThinkingLevels to set High for DeepSeek, Max for Kimi and GLM, XHigh for Qwen. models.json declares which choices are available; it does not set these defaults.

Open /thinking and choose Low or High, or use Shift+Tab to cycle supported levels. The footer shows the active level. This changes the session; Ctrl+S saves the global fallback. Per-model defaults take precedence over that fallback: edit modelThinkingLevels or use /settings → Default thinking level per model to change them. Ctrl+T only shows or hides reasoning text.

Inside the Agent · send each command separately
/model
/thinking
  • If the selector is missing, confirm that Pi loaded the supplied models.json from the same PI_CODING_AGENT_DIR. Supported models need reasoning: true and the complete thinkingLevelMap. Null entries remove unsupported levels; do not delete them. Open /model to reload the file, then inspect /thinking again.

Expected: On DeepSeek V4.1 Flash, the current setting changes from Low to High and back to Low before your next message. Other models follow the controls listed below.

Pi custom reasoning capabilities ↗

Check the model and run your first task

Check the model and run your first task

Open a project containing README.md. Allow the tool to read it, then send the prompt below. Confirm that it reads the file and returns a summary. To check another model, switch using the table above and repeat this task.

Inside your tool
/model
/thinking
Send this task in your tool

Use the file-reading tool to read README.md in this project and summarize its purpose in one sentence. Do not modify any files.

Tool-specific notes
  • Pi runs in your terminal, including an editor’s integrated terminal. There is no separate Desktop configuration here.
  • Opening /model reloads models.json. Use /thinking for the session; settings.json holds startup defaults. Unsupported thinking levels are disabled in the model mapping.

Official configuration reference ↗ · Model configuration

Connection not working? · Usage

Agent compatibility — Client versions, tested reasoning fields and known limits.

Download setup instructions