Local capacity
Discover exact Ollama model IDs and health from your running provider. See the two-machine guide.
Stoke is a Rust gateway between AI clients and the local, remote, or approved provider capacity you attach. This matrix keeps the complete shipped capability set visible while naming the boundaries that matter.
| # | Capability | Surface / activation | Evidence-backed boundary |
|---|---|---|---|
| 01 | Gateway daemon | stoke, stoke serve; TOML | Self-hosted Rust binary; no hosted gateway is implied. |
| 02 | Fail-closed auth | STOKE_API_KEYS; STOKE_DEV=1 local dev | Every endpoint except /health is protected when keys are configured; upstream credentials stay separate. |
| 03 | OpenAI Chat Completions | POST /v1/chat/completions | Provider/model must be configured or discovered; no provider catalogue ships. |
| 04 | Pre-provider enforcement | Budget, rate, exact/semantic loop, holds and fan-out | Admission is before dispatch; semantic mode needs an operator-supplied embedding model. |
| 05 | Durable SQLite ledger | STOKE_LEDGER_PATH; stoke ledger | Spend and open holds survive restart; unresolved holds require reconciliation. |
| 06 | Node-aware placement + failover | Provider tiers: local / remote / cloud | Ranks configured eligible capacity; failover is same-model connect-time/before-streaming, not mid-stream replay. |
| 07 | One-hop federation | Provider type stoke; authenticated /v1/nodes | Imports peer inventory and stops at exactly one hop; cycles are guarded. |
| 08 | Auto-route v2 | model=auto, auto-cheap, auto-fast | Scores configured/discovered candidates with fit exclusions and receipts; live E2E selection is not claimed. |
| 09 | SSE passthrough + metering | Chat, Messages and Responses stream=true | Usage is charged at close; metered streams may use an estimate when upstream usage is absent. |
| 10 | Stream race + hedged dispatch | stream_race; global hedge=true | Connect-time race only; small prompts across two verified non-cloud nodes, duplicating local compute. |
| 11 | Non-stream cascade + self-consistency | Named route patterns | Sequential first-success or bounded same-provider sampling; non-stream only. |
| 12 | Exact / semantic response cache | Exact by default when eligible; semantic opt-in | Named non-stream single routes only; identity includes caller, route, model and effective request. Not a Responses-cache claim. |
| 13 | Exact in-flight coalescing | Named route, positive TTL, coalesce=true | Explicit opt-in; followers wait bounded time and may dispatch independently. |
| 14 | Built-in harness + PII/audit | Route opt-in built-ins | PII redaction and JSONL audit are opt-in; regex redaction is not a security boundary. |
| 15 | Webhook plugin hooks | Opt-in pre_request, prompt_filter, post_response | Bounded HTTP hooks can mutate/block; they are not an OS sandbox. |
| 16 | In-process JS/TS plugins | Feature-gated build: --features js-plugins | Optional V8/deno dependency; not in the default build and not sandboxed. |
| 17 | Headroom output filter | Optional, default-off, local/native Responses | Validated lossless JSON-whitespace compaction only; bounded macOS arm64 / CPython 3.11 worker limits. |
| 18 | Anthropic Messages passthrough | POST /v1/messages | Requires an exact configured Anthropic provider/destination; not unrestricted Anthropic support. |
| 19 | Claude subscription OAuth | stoke login-claude; subscription provider | Gateway-owned OAuth; rate/loop controls remain, but subscription traffic has no USD price to meter. |
| 20 | Claude → local bridge | claude-stoke-local--… alias | Messages translates to configured local/remote OpenAI-compatible providers; unsupported fields reject. |
| 21 | Claude → Codex bridge | claude-stoke-codex--… alias | Uses native Responses for configured Codex providers; ambiguous aliases fail closed. |
| 22 | Responses + Codex subscription | POST /v1/responses; stoke run codex | Native JSON/SSE passthrough; subscription plan limits remain and USD spend is omitted. |
| 23 | Opt-in Claude fallback | [subscription_fallback] | Off by default; only qualified subscription limit/rate errors trigger it, with local fallback explicitly enabled and priced. |
| 24 | CLI setup + launchers | stoke-cli setup; stoke run claude|codex | Owner-only setup and credential-isolating launchers; external client executables remain prerequisites. |
Release scope: main/nightly in this checkout; stable releases may not contain post-tag capabilities. Local means your machine, authenticated means gateway access, and subscription means quota-world rather than USD-world.
The matrix is evidence-oriented by design. Use the guides for task-shaped setup, then verify the exact source and smoke harnesses in the repository.
Discover exact Ollama model IDs and health from your running provider. See the two-machine guide.
Keep native Responses native, Ollama on Chat Completions, and configured Messages paths explicit. See Codex + Ollama.
Per-route tiers can refuse cloud fallback before dispatch. Read the security page and public configuration docs.
Stoke Cloud is a separate private pilot, not a hosted gateway claim. Its current status and boundaries are on the public explainer.