Guides

Put the lineup in a client

Export the key, then point the client at the Cyber AI base URL. OpenCode, curl, and the Python SDK are the three paths below. Pi and any other OpenAI-compatible agent use the same host, path, and bearer key.

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "model": "cyberai/cai-glm",
  "provider": {
    "cyberai": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Cyber AI",
      "options": {
        "baseURL": "https://api.cyberai.prashantdangi.com/v1",
        "apiKey": "{env:CYBERAI_API_KEY}"
      },
      "models": {
        "cai-glm": {
          "name": "GLM 5.3"
        },
        "cai-deephat": {
          "name": "DeepHat V1"
        },
        "cai-foundation": {
          "name": "Foundation-Sec"
        },
        "cai-lily": {
          "name": "Lily"
        },
        "cai-whiterabbit": {
          "name": "WhiteRabbitNeo"
        }
      }
    }
  }
}

Before the client starts

Create an account, then create a key in the console. In the shell that launches the agent, set CYBERAI_API_KEY to that value. The samples read the variable. They do not embed a key.

Swap the lineup id

The default in the samples is cai-glm. Replace it with another id from the models page when you want a different model. OpenCode also wants the provider prefix cyberai/ in the selected model string.

What you should see today

The samples are the contract. A client that sends them now will not get a completion, because the inference host is not connected. The console still lets you create the key and keep the transcript locally.

Guides — Cyber AI