My first merged open-source contribution: a streaming LLM provider
A merged Rust worker added OpenCode Go Chat Completions, SSE streaming, model discovery, tool calls, structured output, and router integration to iii.
Open public reference →
The contribution
My first merged open-source contribution added provider-opencode-go to iii-hq/workers. It lets the llm-router route Chat Completions requests to an OpenCode Go subscription.
Technical scope
I built the Rust worker around the existing provider scaffold, while removing OpenAI-only surfaces that the upstream API did not support. The worker handles SSE streaming, cancellation, live model discovery, curated capabilities, reasoning-effort mapping, tool calls, structured output, credential resolution, and provider re-registration.
Review and verification
The pull request was approved and merged after review. The final work included formatter and linter checks, 68 passing tests across unit, schema, golden, and integration coverage, a release build, stubbed end-to-end engine tests, and a live smoke test against the upstream subscription.
What I learned
A serious open-source contribution is more than adding a feature. It means adapting to project conventions, accepting review feedback, narrowing scope when an upstream API differs, documenting operational behaviour, and proving the worker works at the protocol boundary.

