Ollama Pro cloud models
This guide is for Ollama’s hosted cloud models (including an Ollama Pro subscription), not a local Ollama or llama.cpp server. It records the verified integration boundary as of 2026-09-07.No Ollama cloud account was available for this delivery. The subscription plan’s quota, rate limits, model availability for a particular account, and the resulting Orbi run were not tested. Do not read the examples below as a promise of free or unlimited capacity.
What was verified first
The installed Pi is 0.85.1. Its catalog (pi --list-models) contains no ollama provider, and pi auth check --provider ollama --json --no-refresh returns {"status":"not_ready","provider":"ollama","reason":"provider_not_found"}. Therefore:
- Pi’s built-in provider and
/loginflow are not the Ollama path in this version. - Do not invent an Ollama entry in Pi’s OAuth credentials or assume that
pi loginauthorizes Ollama. - Orbi must use Pi’s custom
models.json-shapedpi_providersfile, with Ollama’s OpenAI-compatible cloud endpoint and an API-key reference.
ollama signin, while direct access to ollama.com creates an API key at Ollama settings/keys. Ollama’s OpenAI compatibility documentation gives https://ollama.com/v1 as the cloud base URL. Sources: Cloud, API, and OpenAI compatibility.
Prepare Ollama access
-
Sign in or create an account at ollama.com. If you also use the local Ollama CLI, its documented preparation command is:
This is not a Pi or Orbi login command.
- Create an API key at ollama.com/settings/keys. The key is account secret material; never paste it into this repository, an Issue, a log, or a commit.
-
Put the key in the local, gitignored environment file used by Orbi/systemd:
-
Check the account’s current catalog instead of copying a model name from this article. Ollama documents this authenticated endpoint:
The response is the account/API catalog at the time of the request. The official cloud example uses
gpt-oss:120bfor direct API access; it is an example, not a quota or availability guarantee. A local CLI cloud tag such asgpt-oss:120b-cloudis not automatically the same model ID for the direct API.
Minimal Orbi configuration
Because Pi 0.85.1 does not have an Ollama provider, create a small local provider file in the documented Pimodels.json shape. The file may be uncommitted and can contain only the model you selected from /api/tags:
.orbi/pi-providers.json:
id with an exact ID returned for your account. Then select it in orbi.toml:
.orbi/env; systemd loads that file through EnvironmentFile. For a manual tick, export the file first:
Quota, errors, and evidence boundary
Ollama’s public docs identify cloud models and API-key authentication, but do not establish a fixed Ollama Pro quota that Orbi can promise. This delivery has no Ollama Pro account, so quota/limit behavior, plan entitlements, account-specific model visibility, and a successful Orbi Issue are 待用户自行验证 / not tested. Record only the date, plan, selected model, and redacted command/result if a user performs that test; never record the key. An authentication or quota failure can appear as an HTTP/API error from Ollama and is surfaced by Pi/Orbi as a failed model request. Do not silently retry it or call that run successful. Check the redacted log for the provider/model and the upstream status, then either correct the key/catalog or switch providers.Smallest fallback diff
Keep the runner and task unchanged. Change only the selected provider/model and, if needed, the secret in.orbi/env:
pi_provider, pi_model, and local secret reference. The fallback is not a guarantee that its quota is available.
Security checklist
- Keep
.orbi/envand any local.orbi/pi-providers.jsonout of Git; use$OLLAMA_API_KEY, never the literal key, in JSON. - Do not put a key in an Issue, PR, session transcript, shell history, or diagnostic log.
- Treat model IDs and HTTP status messages as safe to share only after removing authorization headers and response data.
- Ollama Pro subscription validity and quotas can change; re-check the official catalog and plan terms before a production task.