@neilurk12/pi-opengateway
v1.0.0
Published
pi extension — OpenGateway provider (OpenAI-compatible)
Maintainers
Readme
pi-opengateway
pi extension that registers an OpenGateway provider for the pi coding agent. Uses the OpenAI-compatible completions API.
Install
pi install npm:@neilurk12/pi-opengatewayFor project-local install:
pi install -l @neilurk12/pi-opengatewayOr from local checkout (development):
pi install /absolute/path/to/pi-opengatewayConfiguration
Create a config file at one of these paths (first match wins):
- Global:
~/.pi/agent/opengateway.json - Project:
.pi/opengateway.json
See config.example.json for the required shape:
{
"baseUrl": "https://your-gateway.example.com/v1",
"apiKey": "your-api-key-here",
"models": [
{
"id": "model-id",
"name": "Model Display Name",
"reasoning": false,
"input": ["text"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 128000,
"maxTokens": 4096
}
]
}Fields
| Field | Required | Description |
|-------|----------|-------------|
| baseUrl | Yes | Gateway API endpoint (include /v1 or equivalent) |
| apiKey | Yes | API key for authentication |
| models[] | Yes | Array of model definitions |
| models[].id | Yes | Model ID sent to the API |
| models[].name | Yes | Display name shown in pi |
| models[].reasoning | Yes | Whether the model supports extended thinking |
| models[].input | Yes | Supported input types: ["text"] or ["text", "image"] |
| models[].cost | Yes | Token costs (can be zeroes) |
| models[].contextWindow | Yes | Max context window in tokens |
| models[].maxTokens | Yes | Max output tokens |
Usage
Once configured, the gateway models appear in pi's model picker under the "OpenGateway" provider. Select them like any other model.
Development
npm install
npm run buildNotes
- Extensions run with full system permissions. Review code before installing any pi package.
- Config is loaded at startup. Restart pi after changing config.
