camelAI Documentation

Start Here

Use Pi

Point Pi at Camel Stream with a custom Responses provider

Pi can add custom providers in ~/.pi/agent/models.json. Camel Stream exposes /v1/responses.

Providercamel-stream
Modelcamel-stream/deepseek-v4-flash
Base URLhttps://stream.camelai.com/v1
KeyCAMEL_API_KEY
Context window256k input tokens

1. Install Pi

Terminal
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

See the Pi quickstart for other install options.

2. Create a Stream key

Generate an API key in the Stream console. It is shown once.

Terminal
export CAMEL_API_KEY="qaml_live_..."

3. Register Camel Stream

Merge this into ~/.pi/agent/models.json. Keep any providers you already have. The file reloads when you open /model.

~/.pi/agent/models.json
{
  "providers": {
    "camel-stream": {
      "baseUrl": "https://stream.camelai.com/v1",
      "api": "openai-responses",
      "apiKey": "$CAMEL_API_KEY",
      "authHeader": true,
      "models": [
        {
          "id": "deepseek-v4-flash",
          "name": "DeepSeek V4 Flash",
          "reasoning": true,
          "input": ["text"],
          "contextWindow": 262144,
          "maxTokens": 32768,
          "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
        }
      ]
    }
  }
}

$CAMEL_API_KEY is read from the environment. You can also run /login inside Pi and paste the key for the camel-stream provider. See Pi custom models and Pi providers.

4. Select the model

Terminal
cd /path/to/your/project
pi

Then run /model and choose camel-stream/deepseek-v4-flash. If the model is listed but unavailable, the key is missing from the environment.

Camel Stream queues requests when every subscribed stream is busy. Pi should keep the HTTP connection open. See Queues & errors.

What's next?