Provider matrix
Release-aware provider support
Conservative labels derived from the shipped registry, named profiles, and installed workflow contract. Planned adapters stay explicitly not implemented.
Ollama (local)
implemented in this releaseavailable in distributionsupported
Default installed workflow path: inference.backend: local-ollama in .reviewsensei.yml, with the packaged local model unless inference.model names another one.
Evidencesrc/review_sensei/providers/registry.pysrc/review_sensei/providers/profiles.pydocs/installation.md
- Requires a reachable local Ollama runner on loopback.
- No bearer credential is used for the default local-private profile.
Ollama Cloud
implemented in this releaseavailable in distributionsupported
Installed workflows opt in with inference.backend: cloud-ollama in .reviewsensei.yml and the repository OLLAMA_API_KEY secret.
Evidencesrc/review_sensei/providers/registry.pysrc/review_sensei/providers/profiles.pydocs/installation.mddocs/data-handling.md
- Requires a provisioned Ollama Cloud account and OLLAMA_API_KEY.
- Cloud egress is explicit opt-in; local runs cannot silently fail over to Ollama Cloud.
OpenAI-compatible (Python boundary)
implemented in this releaseavailable in distribution
Installed GitHub workflows do not pass --profile; fast-triage is an explicit CLI/evaluate path only.
Evidencesrc/review_sensei/providers/registry.pysrc/review_sensei/providers/openai_compatible.pydocs/public-contracts.mddocs/adr/0041-production-provider-adapters-and-per-stage-profiles.md
- Named profiles are immutable presets; custom endpoints require unprofiled openai-compatible use.
- Not enabled by the reusable workflow; requires OPENAI_API_KEY and --profile fast-triage or equivalent settings.
- The npx launcher forwards argv to the Python CLI; reaching openai-compatible still requires explicit --profile fast-triage (or unprofiled flags) plus OPENAI_API_KEY.
OpenRouter
implemented in this releaseavailable in distributionsupportedexperimental
Installed workflows opt in with inference.backend: openrouter in .reviewsensei.yml and the repository OPENROUTER_API_KEY secret. The supported label applies to this hosted workflow path with allowlisted models only.
Evidencesrc/review_sensei/providers/registry.pysrc/review_sensei/providers/openrouter.pysrc/review_sensei/providers/profiles.pysrc/review_sensei/provider_config.pypackages/npm/cli/README.mdtests/test_cli.pydocs/installation.mddocs/data-handling.mddocs/adr/0045-openrouter-trusted-configuration.md
- Hosted OpenRouter accepts only the published allowlist in provider_config.HOSTED_OPENROUTER_DEFAULTS; the default model deepseek/deepseek-v4.1-flash is pinned to Morph with no fallback, data collection denied, and ZDR required.
- CLI profiles openrouter-sonnet and openrouter-gpt remain unqualified and require --allow-unqualified-profile for live review; tests/test_cli.py covers the opt-in and fail-closed paths.
- The npx launcher forwards argv to the Python CLI; reaching OpenRouter still requires explicit --provider openrouter (or --profile) plus OPENROUTER_API_KEY.
- Hosted workflows reject allow_unqualified_profile=true; use the CLI for unqualified profile runs.
Released docs: v0.6.19 · source 2869116d4205 · build provenance