pi with SeibertGPT

Lean coding agent for the terminal with a very small system prompt.

Developertested with pi 0.87.1 on September 26, 2026 · all tools

1. Prerequisites

You need a SeibertGPT plan and an API key. You get both after signing in.

2. Download for macOS

  • In the terminal: npm install -g --ignore-scripts @earendil-works/pi-coding-agent

3. Set up

Paste the command into the terminal. The script asks for your key, stores it securely on your computer and sets up the config. The key is only sent to the SeibertGPT API at https://api.seibert.ai/v1.

Setup command
curl -fsSL "https://gpt.seibert.ai/en/clients/pi/setup.sh" | sh
View the script first

Store the key

Run this in the terminal and paste the key when asked (stored in the Keychain):

Command
security add-generic-password -U -s seibertgpt -a "$USER" -w

Store the config file

Download models.json and put it in the folder shown (existing file: copy over only the “seibertgpt” block).

Start

Open a new terminal and start with: pi --model seibertgpt/deepseek-v41-flash-fast

File: ~/.pi/agent/models.json · Download models.json

Important: if models.json already exists, don't replace it. The file also contains your other settings; copy over only our entries.

models.json
{
  "providers": {
    "seibertgpt": {
      "baseUrl": "https://api.seibert.ai/v1",
      "api": "openai-completions",
      "apiKey": "!security find-generic-password -ws seibertgpt",
      "compat": {
        "supportsStore": false,
        "supportsDeveloperRole": false,
        "maxTokensField": "max_tokens"
      },
      "models": [
        {
          "id": "deepseek-v41-flash",
          "name": "Standard with thinking (SeibertGPT)",
          "contextWindow": 1000000,
          "maxTokens": 32000,
          "input": [
            "text",
            "image"
          ]
        },
        {
          "id": "deepseek-v41-flash-fast",
          "name": "No thinking – fast (SeibertGPT)",
          "contextWindow": 1000000,
          "maxTokens": 32000,
          "input": [
            "text",
            "image"
          ]
        },
        {
          "id": "deepseek-v41-flash-low",
          "name": "Low reasoning effort (SeibertGPT)",
          "contextWindow": 1000000,
          "maxTokens": 32000,
          "input": [
            "text",
            "image"
          ]
        },
        {
          "id": "deepseek-v41-flash-high",
          "name": "High reasoning effort (SeibertGPT)",
          "contextWindow": 1000000,
          "maxTokens": 32000,
          "input": [
            "text",
            "image"
          ]
        },
        {
          "id": "deepseek-v41-flash-max",
          "name": "Maximum reasoning effort (SeibertGPT)",
          "contextWindow": 1000000,
          "maxTokens": 32000,
          "input": [
            "text",
            "image"
          ]
        }
      ]
    }
  }
}

4. Test

Ask “What's in the README?” – pi reads the file using a tool and summarizes it.

5. Troubleshooting

Model missing in /model

pi hides models if the key can't be read – check the Keychain entry or environment variable and open a new terminal.

Windows: “bash not found”

Install Git for Windows; pi uses its Bash.

HTTP 401 – key rejected

The key was copied incorrectly or has been revoked. Create a new key under Account → API keys.

HTTP 403 – IP binding

Your key is currently bound to a different IP (e.g. another device). Wait for the lock period to expire or release the binding under Account → API keys.

HTTP 413 – cold_request_too_large

A new or long-paused session starts with a lot of context. Start a new session or shorten the history.

“Hinweis von SeibertGPT: Der Kontext ist zu … gefüllt” (German context notice)

You're approaching your plan's context limit. Summarize the history (e.g. /compact) or start over.

Nothing works after an update

These tools change quickly. The version the guide was tested with is shown at the top – let us know if something no longer matches.