The OpenAI-compatible protocol is the mechanism, not the model count
An Honest-Architect reading of OfoxAI's Zed-editor config guide: the OpenAI-compatible protocol is the provider-flexibility mechanism, the system keychain is the key-sovereignty mechanism, the capabilities field is the runtime-parsed schema, external agents are the-space-is-the-router form.

The OpenAI-compatible protocol is the mechanism, not the model count
OfoxAI's Zed-editor configuration guide walks through adding a custom LLM provider to Zed via the OpenAI-compatible protocol: one api_url, an available_models array, a key stored in the system keychain. (OfoxAI, "Zed Editor: Configure Custom LLM Providers & External Agents", OfoxAI, published 2026-03-30, retrieved 2026-08-23, https://ofox.ai/blog/zed-editor-ai-configuration-guide-2026/). The Honest Architect reads the guide as a worked example of a general mechanism: the property (provider flexibility — swap one model backend for another without recompiling the editor) is guaranteed by the mechanism (a standardized protocol surface — the OpenAI-compatible API, plus a config schema the editor parses at startup), not by the assertion "we support 100+ models." An editor that lists 100 models without a standardized protocol is a brittle catalog; an editor that exposes one protocol and lets you add providers by editing a config array is a flexible surface. The Honest Architect tags the form the-protocol-is-the-mechanism Production ✅ and the OfoxAI-specific commercial claims (pricing, model names, "0% platform fee") Partial ⚠️ (vendor self-promotion, not independently verified by Everythink).
The guide is a configuration walkthrough, not an investigation or a proof. The Honest Architect extracts the mechanism forms the walkthrough exhibits — the OpenAI-compatible protocol as the provider-flexibility mechanism, the system keychain as the key-sovereignty mechanism, the external-agent routing as the-space-is-the-router form — and tags each form Production ✅ where the form is real and reproducible, Partial ⚠️ where the form is a vendor-specific commercial claim.
Key conclusions
- The OpenAI-compatible protocol is the mechanism for provider flexibility. Theorem 3: the property (swap one LLM backend for another without recompiling) is guaranteed by the mechanism (a standardized API surface + a config schema the editor parses at startup), not by the assertion "we support 100+ models." The Honest Architect tags the form the-protocol-is-the-mechanism Production ✅.
- The system keychain is the mechanism for key sovereignty. The guide: "The API Key is securely stored in the system keychain (macOS Keychain / Linux Secret Service) and is never written in plaintext to config files." The property (the key is not in plaintext config) is guaranteed by the mechanism (store in the OS keychain, not in the JSON), not by the assertion "we protect your key." The Honest Architect tags the form keychain-not-plaintext Production ✅.
- The capabilities field is the runtime-parsed schema. Each model entry has
capabilities: { tools: true, images: false }. Zed reads the capabilities and routes accordingly — it will not attempt a function call on a model whosetoolsis false. The property (no failed tool calls on models without tool support) is guaranteed by the mechanism (the editor reads the capability flag before routing), not by the assertion "we checked model compatibility." The Honest Architect tags the form capabilities-are-the-schema Production ✅.- External agents are the-space-is-the-router form. Zed's Agent Panel has Zed Agent (built-in, uses the configured LLM provider) and External Agents (Claude Code, Codex CLI, Gemini CLI — "run independently, have their own credentials, model access, and billing — separate from your configured LLM provider"). The editor routes to whichever agent; the agent runs on its own. The Honest Architect tags the form the-editor-routes-the-agent-runs Production ✅.
- Cross-domain parallels: Eye Key (HMAC before persist = keychain-not-plaintext in a different domain), World Monitor (one cache per geohash tile = one protocol per provider surface), Oracle normalization (normalize in one place = the OpenAI-compatible protocol is the one normalization point), Zod at the runtime boundary (the capabilities field is parsed at startup, like the schema is parsed at the network boundary). All Partial ⚠️: same form, separate domains.
- Scope: civil/defensive. A configuration guide for a code editor is not a weapon. No offensive scope. No token, wallet, or community-credit outcome promised; those are Roadmap 🔵, Howey review pending. Everythink is a forecasting platform, not an LLM-provider aggregator; the cross-domain parallels are Partial ⚠️ illustrations of the mechanism forms, not endorsements of OfoxAI as a product.
The protocol is the mechanism
The guide's core config is a JSON object: language_models.openai_compatible.OfoxAI with an api_url and an available_models array. The openai_compatible key is the mechanism — it tells Zed "speak the OpenAI-compatible protocol to this endpoint, and here are the models it serves." The property (Zed can talk to a new provider without a code change) is guaranteed by the mechanism (the OpenAI-compatible protocol surface + the config schema), not by the assertion "Zed supports OfoxAI." The Honest Architect tags the form the-protocol-is-the-mechanism Production ✅ because the form is real and reproducible: any editor that exposes an openai_compatible config slot can talk to any endpoint that speaks the OpenAI-compatible protocol, and the provider is added by editing JSON, not by recompiling.
The form generalizes across the guide. The guide offers two methods: the Agent Panel GUI and the settings.json file. Both produce the same config object. The GUI is a convenience; the JSON is the source of truth. The Honest Architect tags the form the-JSON-is-the-source-of-truth Production ✅ (the GUI edits the JSON, the JSON is what Zed reads at startup, the GUI is a view onto the JSON, not a separate state). The guide's "Pro Tip" — send the docs URL and the /v1/models endpoint to an AI and have it auto-generate the config — is the form the-protocol-is-the-mechanism in a meta loop: the model-list endpoint is part of the OpenAI-compatible protocol, so an AI can read it and generate the config. The Honest Architect tags the meta-form Partial ⚠️ (vendor-suggested workflow, not independently verified).
The troubleshooting section is a measurement of the mechanism's failure modes. "Verify settings.json format is correct, then restart Zed" — the config is parsed at startup; a malformed JSON breaks the parse. "Search for language model: reset credentials, and re-enter your API Key" — the key is in the keychain; a reset re-stores it. "Set capabilities.tools to false for that model. If you leave it as true for a model that does not actually support function calling, requests may fail" — the capabilities field is the runtime-parsed schema; a wrong flag produces a wrong route. "Confirm that the API URL is exactly https://api.ofox.ai/v1 — no trailing slash, no missing /v1 suffix" — the protocol surface is URL-shaped; a wrong URL breaks the protocol. Each step is a measurement of where the mechanism breaks: the JSON parse, the key store, the capability route, the URL. The Honest Architect tags the troubleshooting-as-measurement form Production ✅ (real, reproducible failure-mode mapping).
The keychain is the key-sovereignty mechanism
The guide states: "The API Key is securely stored in the system keychain (macOS Keychain / Linux Secret Service) and is never written in plaintext to config files." The property (the key is not in plaintext config) is guaranteed by the mechanism (store in the OS keychain, not in the JSON), not by the assertion "we protect your key." The Honest Architect tags the form keychain-not-plaintext Production ✅. The form is the editor-domain analog of Everythink's Eye Key: the property (the Eye Key plaintext never touches disk) is guaranteed by the mechanism (HMAC before persist, only the fingerprint goes to Postgres), not by the assertion "we protect your key." Same form, separate domains. The Honest Architect tags the cross-domain parallel Partial ⚠️.
The keychain-not-plaintext form generalizes: any secret that must not appear in plaintext config (API keys, database passwords, OAuth client secrets) is stored in an out-of-band secret store (OS keychain, secrets manager, environment variable injected at runtime), and the config references the store, not the secret. The assertion "we don't store secrets in plaintext" is a non-mechanism: it produces no sovereignty. The mechanism (store in the keychain, reference from config) produces the sovereignty directly. The Honest Architect tags the form store-the-secret-out-of-plaintext Production ✅.
The Honest Architect notes the friction honestly. The keychain is OS-specific (macOS Keychain, Linux Secret Service; the guide does not mention Windows Credential Manager). The keychain requires a running desktop session (a headless server has no keychain). The keychain is per-user (a shared config file cannot share the key). These are not flaws in the mechanism; they are the mechanism's scope. The Honest Architect tags the scope-honesty Partial ⚠️ (the guide does not explicitly state these limits; they are inferred from the mechanism's form).
The capabilities field is the runtime-parsed schema
Each model entry in the available_models array has a capabilities object: { tools: true, images: false }. Zed reads the capabilities at startup and routes accordingly — it will not attempt a function call on a model whose tools is false, and it will not send an image to a model whose images is false. The property (no failed tool calls on models without tool support, no failed image sends on models without image support) is guaranteed by the mechanism (the editor reads the capability flag before routing), not by the assertion "we checked model compatibility." The Honest Architect tags the form capabilities-are-the-schema Production ✅.
The form is the editor-domain analog of Everythink's Zod at the runtime boundary: the property (a bad payload surfaces as a typed ApiError, never a crash) is guaranteed by the mechanism (Zod schemas parsed at the network boundary), not by the assertion "our API is typed." TypeScript types are erased at runtime; the capabilities field is read at startup. Both are runtime-parsed schemas that route the request based on the parsed value. The Honest Architect tags the cross-domain parallel Partial ⚠️ (same form — the runtime-parsed schema is the mechanism — separate domains — editor capability routing vs network-boundary type safety).
The guide's troubleshooting confirms the mechanism: "Set capabilities.tools to false for that model in your configuration. If you leave it as true for a model that does not actually support function calling, requests may fail." A wrong capability flag produces a wrong route. The mechanism does not silently correct a wrong flag; it routes based on the flag and the route fails if the flag lies. The Honest Architect tags the form the-mechanism-routes-on-the-flag-not-the-truth Production ✅ (the router trusts the config, the config must be honest).
External agents are the-space-is-the-router form
Zed's Agent Panel has two modes: Zed Agent (built-in, uses the configured LLM provider) and External Agents (Claude Code, Codex CLI, Gemini CLI — "run independently, have their own credentials, model access, and billing — separate from your configured LLM provider"). The editor routes to whichever agent the user selects; the agent runs on its own, with its own credentials, its own model access, its own billing. The Honest Architect tags the form the-editor-routes-the-agent-runs Production ✅. The form is the editor-domain analog of Everythink's the-space-is-the-router: the network→community→room topology routes before anything responds, and the routed-to entity runs on its own. The Honest Architect tags the cross-domain parallel Partial ⚠️.
The external-agent form generalizes: the editor is a router, not a runtime. The built-in Zed Agent uses the configured LLM provider; the external agents use their own. The editor does not absorb the external agent's credentials, model access, or billing — it launches the agent and lets the agent run. The property (the user can use any agent without the editor absorbing its auth) is guaranteed by the mechanism (the editor routes, the agent runs independently), not by the assertion "we support many agents." The Honest Architect tags the form the-editor-routes-not-absorbs Production ✅.
What an Honest Architect reads in a vendor config guide
The OfoxAI Zed guide is a vendor configuration walkthrough. The Honest Architect extracts the mechanism forms (the OpenAI-compatible protocol as the provider-flexibility mechanism; the system keychain as the key-sovereignty mechanism; the capabilities field as the runtime-parsed schema; external agents as the-space-is-the-router form) without endorsing OfoxAI as a product. The mechanism forms are Production ✅: real, implementable, verified by the guide's own description of the config schema and the troubleshooting failure modes. The OfoxAI-specific commercial claims — "100+ mainstream LLMs," "0% platform fee," "Official DeepSeek rates, no markup," the specific model names and prices — are Partial ⚠️ (vendor self-promotion, not independently verified by Everythink). The Honest Architect does not recommend OfoxAI, DeepSeek, or any specific model. Everythink is a forecasting platform, not an LLM-provider aggregator or a code editor. The cross-domain parallels are Partial ⚠️ illustrations of the mechanism forms, not endorsements of the product the guide sells. The scope is civil/defensive: a configuration guide for a code editor is not a weapon. No token, wallet, or community-credit outcome is promised; those are Roadmap 🔵, Howey review pending.
Frequently asked questions
Is the OpenAI-compatible protocol the assertion or the mechanism?
The mechanism. Theorem 3: the property (swap one LLM backend for another without recompiling) is guaranteed by the mechanism (a standardized API surface + a config schema the editor parses at startup), not by the assertion "we support 100+ models." The Honest Architect tags the form the-protocol-is-the-mechanism Production.
How does the keychain parallel Eye Key?
The guide: "The API Key is securely stored in the system keychain and is never written in plaintext to config files." The property (the key is not in plaintext config) is guaranteed by the mechanism (store in the OS keychain, not in the JSON). Eye Key: the property (the plaintext never touches disk) is guaranteed by the mechanism (HMAC before persist, only the fingerprint goes to Postgres). Same form — store-the-secret-out-of-plaintext — separate domains. The Honest Architect tags keychain-not-plaintext Production and the cross-domain parallel Partial.
How does the capabilities field parallel Zod at the boundary?
Each model entry has capabilities: { tools: true, images: false }. Zed reads the capabilities at startup and routes accordingly. Zod schemas are parsed at the network boundary and route the request based on the parsed value. Both are runtime-parsed schemas. The Honest Architect tags capabilities-are-the-schema Production and the cross-domain parallel Partial.
How do external agents parallel the-space-is-the-router?
Zed's External Agents (Claude Code, Codex CLI, Gemini CLI) "run independently, have their own credentials, model access, and billing — separate from your configured LLM provider." The editor routes; the agent runs on its own. Everythink's network→community→room topology routes before anything responds; the routed-to entity runs on its own. Same form — the-editor-routes-the-agent-runs — separate domains. The Honest Architect tags the form Production and the cross-domain parallel Partial.
Does Everythink endorse OfoxAI or Zed?
No. Everythink is a forecasting platform, not an LLM-provider aggregator or a code editor. The OfoxAI Zed guide is a vendor configuration walkthrough. The Honest Architect extracts the mechanism forms without endorsing the product. The OfoxAI-specific commercial claims are Partial (vendor self-promotion, not independently verified). No token, wallet, or community-credit outcome is promised; those are Roadmap, Howey review pending.
Sources
- OfoxAI, "Zed Editor: Configure Custom LLM Providers & External Agents", OfoxAI, published 2026-03-30, retrieved 2026-08-23, https://ofox.ai/blog/zed-editor-ai-configuration-guide-2026/
If your team is ready to ship the mechanism instead of asserting the property, build your network — the Sisters draft, the Oracle normalizes, the protocol routes.

The prediction from signals is the mechanism, not the vibes assertion
GRIN's AI in influencer marketing guide reads as six mechanism forms: prediction from signals, automation, anomaly detection, forecasting, human judgment as irreducible, scoped automation. Theorem 3 applied to each.
→ →
Customization is the mechanism separation, not the open weights
Inkling is designed to be customized not because of its Apache 2.0 license but because each architectural decision isolates a measurable property behind its own mechanism. The bias-based load balancing is the purest Theorem 3 instance: a property guaranteed by a mechanism that does not compete with the main objective.
→ →
Geolocating a MAC Address Needs the Mechanism, Not the Identifier
A MAC address does not contain GPS, but a wardriving database plus a signal-weighted centroid merge can geolocate a fixed access point. Theorem 3: the property comes from the mechanism, not the identifier.
→ →Build your world on an engine that proves what it claims.
Create your own network on the engine that's run since 2016 — or talk to the team behind the 21 papers.
