Infer × OpenCode · check 1.18.16
Send OpenCode straight to Responses.
Generate the custom provider block checked with OpenCode 1.18.16. The tested path used @ai-sdk/openai and landed on /v1/responses without a Chat Completions translation layer.
Configuration generator
Choose the selector OpenCode should request.
The generated file names Infer's Responses provider and maps a readable OpenCode model ID to the exact Infer selector sent on the wire.
Verify the selected model is operational, the account email is verified, and the wallet has service credit.
Waiting for the current Infer catalog…
Merge these keys with the existing file. Do not replace unrelated providers, agents, tools, or permissions.
Domain-owned Agent Skill
Give OpenCode the same operating boundary.
The skill checks Infer’s current catalog and status before recommending a selector. It preserves existing configuration, keeps the key in the environment, and stops before a paid run when the selected model is unavailable.
DO_NOT_TRACK=1 npx -y skills@1.5.22 add https://infer.flow7.org --skill infer-opencode-provider -g -a opencodeOpen Agent Skills CLI 1.5.22 supports OpenCode’s global skills directory. This command disables the CLI’s optional usage telemetry and verifies Infer’s published SHA-256 before installation. Installing the skill does not create an account, fund a wallet, or make an unavailable model callable. Inspect the discovery record.
OpenCode-native HTTP catalog
Load both skills from Infer’s domain.
OpenCode 1.18.16 reads HTTP skill catalogs through skills.urls. Infer’s public catalog requires neither an account nor an API key and currently contains codex-provider-doctor and infer-opencode-provider.
{
"skills": {
"urls": [
"https://infer.flow7.org/.well-known/skills/"
]
}
}
Merge this object with the existing file. Keep unrelated providers, agents, tools, permissions, and instructions.
env -u INFER_API_KEY \
OPENCODE_DISABLE_PROJECT_CONFIG=1 \
OPENCODE_DISABLE_EXTERNAL_SKILLS=1 \
OPENCODE_DISABLE_CLAUDE_CODE=1 \
OPENCODE_DISABLE_AUTOUPDATE=1 \
OPENCODE_DISABLE_MODELS_FETCH=1 \
OPENCODE_DISABLE_LSP_DOWNLOAD=1 \
OPENCODE_DISABLE_DEFAULT_PLUGINS=1 \
OTEL_SDK_DISABLED=true \
OPENCODE_CONFIG_CONTENT='{"share":"disabled","skills":{"urls":["https://infer.flow7.org/.well-known/skills/"]},"experimental":{"openTelemetry":false}}' \
opencode --pure debug skill
The catalog check needs no INFER_API_KEY. It fetches the public index and listed files, then prints the skills OpenCode discovered; it does not call Infer’s Responses endpoint.
Current stable OpenCode has no skill-install command. Adding skills.urls makes 1.18.16 fetch and cache the catalog while loading configuration; debug skill lists the result. This stable check does not validate OpenCode’s separate V2 skill registry documentation. Read the 1.18.16 URL schema, HTTP discovery source, and listing command.
Install boundary
Configuration first. One bounded run second.
- 01
Merge the generated JSON.
OpenCode accepts project configuration in
opencode.jsonand global configuration under~/.config/opencode/. The output uses the stable singularproviderschema checked for 1.18.16. - 02
Keep the key outside the file.
export INFER_API_KEY="your-infer-key"The JSON contains
{env:INFER_API_KEY}, not a credential. Do not paste a real key into the file, a ticket, or a command transcript. - 03
Check status before one bounded run.
Wait for the chosen selector to report operational. Then test the actual stream and tools the workload depends on.
Dated verification record
Local protocol evidence plus a bounded live run.
Checked August 11, 2026 with official OpenCode 1.18.16. The original wire/tool record remains local; a later production run added live Responses, SSE, receipt, and affinity evidence. Read the captured request field record.
/v1/responses, and an isolated Infer demo response completed as an SSE text stream with usage.x-session-affinity header supplied the same session key for its title and main requests after the Infer compatibility bridge.rcpt_a6c71c8185c857a13ebd68e5 and rcpt_af1f0ca4362fc87d813adb7c totaled $0.013617.relay.session_id or top-level session_id wins over the affinity header. The header cannot override it.Run one real OpenCode workload.
Create an account, verify the email, add service credit, and start with a bounded task. Status remains the callability source.