Pi
How to point Pi at Aramm using a custom OpenAI-compatible provider.
Pi can load custom providers from ~/.pi/agent/models.json. Since Aramm
exposes an OpenAI-compatible /v1/chat/completions endpoint, the simplest path
is to register Aramm as an openai-completions provider.
What you need
- An Aramm API key
- Pi installed locally
- A model id such as
openai/gpt-4o-mini
Quick setup
Create or edit ~/.pi/agent/models.json:
{
"providers": {
"aramm": {
"baseUrl": "https://api.aramm.pro/v1",
"api": "openai-completions",
"apiKey": "$ARAMM_API_KEY",
"authHeader": true,
"models": [
{
"id": "openai/gpt-4o-mini",
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384
},
{
"id": "anthropic/claude-sonnet-4-6",
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}Then export your key:
export ARAMM_API_KEY=sk-arm-v1-...Reload models in Pi with /model, then switch with:
/model aramm/openai/gpt-4o-miniYou can also cycle models with Ctrl+L.
Model naming
Pi uses the provider/alias format Aramm returns from GET /v1/models.
The ids in models.json must match those aliases.
openai/gpt-4o-minianthropic/claude-sonnet-4-6
Verify it works
Open Pi, reload models, and confirm the Aramm provider appears without auth or model errors.
Troubleshooting
401usually means the API key is missing or invalid.model not foundusually means the model id does not match Aramm's alias.- If a model rejects the developer role, add
"compat": { "supportsDeveloperRole": false }at the provider level. - For native Anthropic streaming, add a second provider with
"api": "anthropic-messages"andbaseUrl: "https://api.aramm.pro".