# pi-sumopod-connector

> SumoPod AI models for Pi coding agent — one command, 52 models.

`pi-sumopod-connector` bridges [SumoPod AI](https://ai.sumopod.com) with the [Pi coding agent](https://pi.dev). SumoPod is an Indonesian PaaS that provides OpenAI-compatible access to 52 frontier AI models — Anthropic, OpenAI, Google Gemini, DeepSeek, Kimi, Qwen, Mimo, and more. This package registers them all as a first-class Pi provider with correct pricing metadata, context windows, and streaming support.

---

## Install

```bash
pi install npm:pi-sumopod-connector
```

Pi discovers the extension automatically. No config files, no TypeScript.

---

## Set Your API Key

Get a key at [ai.sumopod.com](https://ai.sumopod.com) → **AI** tab → **API Keys** → Create key.

### Inside Pi (recommended)

```
/sumopod-key sk-xxxx
```

This saves the key to Pi's `auth.json` and activates it immediately. No restart needed.

To type the key interactively instead of pasting it in the chat:

```
/sumopod-key
```
→ *Enter your SumoPod API Key: <kbd>sk-...</kbd>*

### Environment variable

If you prefer `SUMOPOD_API_KEY` in your shell:

```bash
export SUMOPOD_API_KEY=sk-xxxx        # add to ~/.zshrc or ~/.bashrc
```

The key is stored in `~/.pi/agent/auth.json` under the `sumopod` entry. Pi reads it automatically on startup.

---

## Switch to SumoPod model

```
/model [pick a model] (makesure [sumopod] option exist)
```

After switching, all requests route through SumoPod at SumoPod prices. Pi's cost tracker shows spending automatically.

---

## Pick a Model

```
/model gpt-5.2
/model claude-sonnet-4-6
/model gemini/gemini-2.5-flash
```

Or qualify the provider to avoid switching:

```
/model sumopod:deepseek-v4-pro
```


---

## Models

> The table below is illustrative and may lag. **`extensions/models.ts` is the source of truth** — it is auto-generated from SumoPod's live catalogue (see [Updating the catalogue](#updating-the-catalogue)).

### OpenAI — 15 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `gpt-5.2` | 272K | $1.75 | $14.00 |
| `gpt-5.2-codex` | 272K | $1.75 | $14.00 |
| `gpt-5.1` | 272K | $1.25 | $10.00 |
| `gpt-5.1-codex` | 272K | $1.25 | $10.00 |
| `gpt-5.1-codex-mini` | 272K | $0.25 | $2.00 |
| `gpt-5` | 272K | $1.25 | $10.00 |
| `gpt-5-mini` | 272K | $0.25 | $2.00 |
| `gpt-5-nano` | 272K | $0.05 | $0.40 |
| `gpt-4o` | 128K | $2.50 | $10.00 |
| `gpt-4o-mini` | 128K | $0.15 | $0.60 |
| `gpt-4.1` | 1,047K | $2.00 | $8.00 |
| `gpt-4.1-mini` | 1,047K | $0.40 | $1.60 |
| `gpt-4.1-nano` | 1,047K | $0.10 | $0.40 |
| `text-embedding-3-large` | 8,191 | $0.13 | — |
| `text-embedding-3-small` | 8,191 | $0.02 | — |

### Anthropic — 3 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `claude-opus-4-6` | 1,000K | $5.00 | $25.00 |
| `claude-sonnet-4-6` | 1,000K | $3.00 | $15.00 |
| `claude-haiku-4-5` ·30% off | 200K | $0.70 | $3.50 |

### Google Gemini — 9 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `gemini/gemini-3.1-pro-preview` | 1,048K | $2.00 | $12.00 |
| `gemini/gemini-3-pro-preview` | 1,048K | $2.00 | $12.00 |
| `gemini/gemini-3.1-flash-lite-preview` | 1,048K | $0.25 | $1.50 |
| `gemini/gemini-3-flash-preview` | 1,048K | $0.50 | $3.00 |
| `gemini/gemini-2.5-pro` | 1,048K | $1.25 | $10.00 |
| `gemini/gemini-2.5-flash` | 1,048K | $0.30 | $2.50 |
| `gemini/gemini-2.5-flash-lite` | 1,048K | $0.10 | $0.40 |
| `gemini/gemini-2.0-flash` | 1,048K | $0.10 | $0.40 |
| `gemini/gemini-2.0-flash-lite` | 1,048K | $0.07 | $0.30 |

### DeepSeek — 3 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `deepseek-v4-flash` | 1,000K | $0.14 | $0.28 |
| `deepseek-v4-pro` ·75% off | 1,000K | $0.43 | $0.87 |
| `deepseek-v3-2` | 96K | $0.28 | $0.42 |

### BytePlus — 6 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `kimi-k2-5-260127` | 256K | $0.60 | $3.00 |
| `seed-2-0-pro` ·50% off | 256K | $0.25 | $1.50 |
| `seed-2-0-code` ·50% off | 256K | $0.25 | $1.50 |
| `seed-2-0-lite` ·50% off | 256K | $0.13 | $1.00 |
| `seed-2-0-mini` ·50% off | 256K | $0.05 | $0.20 |
| `glm-4-7` | 200K | $0.60 | $2.20 |

### Alibaba / Qwen — 2 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `qwen3.6-plus` ·50% off | 991K | $0.25 | $1.50 |
| `qwen3.6-flash` ·50% off | 991K | $0.13 | $0.75 |

### Mimo — 5 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `mimo-v2.5-pro` ·70% off | 1,050K | $0.30 | $0.90 |
| `mimo-v2.5` ·70% off | 1,050K | $0.12 | $0.60 |
| `mimo-v2-pro` ·70% off | 262K | $0.30 | $0.90 |
| `mimo-v2-omni` ·70% off | 262K | $0.12 | $0.60 |
| `mimo-v2-flash` | 262K | $0.10 | $0.30 |

### Moonshot — 1 model

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `kimi-k2.6` ·90% off | 262K | $0.08 | $0.35 |

### MiniMax — 1 model

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `MiniMax-M2.7-highspeed` ·90% off | 204K | $0.01 | $0.30 |

### Z.ai / GLM — 3 models

| Model ID | Context | Input $/1M | Output $/1M |
|----------|---------|------------|-------------|
| `glm-5.1` ·90% off | 200K | $0.10 | $0.32 |
| `glm-5` ·90% off | 200K | $0.10 | $0.32 |
| `glm-5-turbo` ·90% off | 200K | $0.10 | $0.32 |

### Cloudeka — 4 models ·FREE

| Model ID | Context |
|----------|---------|
| `nvidia/nemotron-3-nano-30b` | 128K |
| `openai/gpt-oss-20b` | 131K |
| `qwen/qwen3-30b-a3b-instruct-2507` | 262K |
| `zai/glm-4.7-fp8` | 200K |

> Free tier end dates vary. Check [ai.sumopod.com](https://ai.sumopod.com) for current pricing.

---

## Reasoning Models

Models with `reasoning: true` support extended thinking:

| Model | Thinking levels |
|-------|-----------------|
| `claude-opus-4-6` | minimal–xhigh |
| `gemini/gemini-3.1-pro-preview` | minimal–xhigh |
| `gemini/gemini-3-pro-preview` | minimal–xhigh |
| `gemini/gemini-2.5-pro` | minimal–xhigh |
| `deepseek-v4-pro` | minimal–xhigh |

To set thinking level:

```
/thinking high
```

---

## Image Input

These models accept images (`input: ["text", "image"]`):

`claude-opus-4-6`, `claude-sonnet-4-6`, `claude-haiku-4-5`, all Gemini models, all GPT-5.x, `gpt-4o`, `gpt-4o-mini`, `gpt-4.1`, `gpt-4.1-mini`, `kimi-k2-5-260127`, `kimi-k2.6`

---

## Streaming

All models use `openai-completions` — full streaming out of the box. No custom stream handler needed.

---

## Updating the catalogue

The model list, prices, context windows, and discount badges are generated from SumoPod's own public endpoints — no hand-editing required.

```bash
npm run sync-models      # rewrites extensions/models.ts
```

A daily GitHub Action (`.github/workflows/sync-models.yml`) runs the same script and auto-commits any change to `main`. Publishing to npm still uses the normal release flow (push a `v*` tag), so review the commit before tagging.

Sources (all public, no auth):

- `api-gate.sumopod.com/webhook/sumopod/ai/models` — model list, vendor, context, effective price
- `api-gate.sumopod.com/webhook/sumopod/ai/model-discounts` — discount % and expiry
- `ai.sumopod.com/public/model_hub` — `reasoning` / image-input flags

---

## Troubleshooting

### SUMOPOD_API_KEY is not set

```
/sumopod-key sk-xxxx
```

This writes to `~/.pi/agent/auth.json`. If Pi still complains, verify:

```bash
cat ~/.pi/agent/auth.json | grep sumopod
```

Should show: `"sumopod": { "type": "api_key", "key": "sk-xxxx" }`

### Models not appearing

```bash
pi update --extensions
```

Then inside Pi:

```
/model
```

### Provider not found after install

Make sure `pi install` succeeded. Check:

```bash
pi list | grep sumopod
```

Or reinstall:

```bash
pi remove npm:pi-sumopod-connector
pi install npm:pi-sumopod-connector
```

---

## Security

- API key stored in `~/.pi/agent/auth.json` (chmod 600)
- Never logged or committed to source
- `/sumopod-key` redacts the key from display
- Ask SumoPod to set a budget limit on your API key

---

## License

MIT — [Wahyudi Chrisdianto](https://kaiyu.dev)

## Links

- [SumoPod AI](https://ai.sumopod.com) — get your API key
- [Pi coding agent](https://pi.dev) — the agent
- [Pi package gallery](https://pi.dev/packages)
- [GitHub repo](https://github.com/wahyudichrisdianto/pi-sumopod-connector)
- [Report an issue](https://github.com/wahyudichrisdianto/pi-sumopod-connector/issues)
