dsh-opencode-free-model: A Key-Free Free Model Lane for DeepSeek Harness
artorias-zj/dsh-opencode-free-model
Adds the key-free OpenCode Zen free model lane to DeepSeek Harness, exposing it in the model picker with automatic availability probing and region routing.
dsh-opencode-free-model is a plugin that brings the OpenCode Zen free model lane into the DeepSeek Harness model picker without requiring any API key. It removes the work of configuring credentials and adapting wire protocols yourself: as a Host-only plugin it registers two provider routes on the llm service, decodes all three wire protocols the lane speaks into one host block protocol, and uses a background probe to decide which models get advertised. After enabling it, an OpenCode Free group appears in the picker with a stable display-name order, while region-refused models sit in a separate group that can be hidden, making it a practical way to try many models at low cost.
How to Install
dsh plugin --profile web add github:artorias-zj/dsh-opencode-free-model- Category
- Models & Reasoning
- Platform
- DSH Plugin
- Author
- artorias-zj
- Distribution
- Plugin
dsh-opencode-free-model Key Features
dsh-opencode-free-model Repo Summary
What Does It Do?
OpenCode Free Model is a DSH plugin for DeepSeek Harness that puts the OpenCode Zen free model lane into your model picker with no API key required. It removes the hassle of configuring credentials and adapting wire protocols yourself: as a Host-only cordis plugin it registers two provider routes on the llm service, decodes all three wire protocols the lane speaks into the harness StreamChunk protocol, and uses a background probe to decide which models get advertised. It is maintained by artorias-zj, written in JavaScript, and was created on 2026-10-05.
Core Features
- Key-free access: the lane is keyed by a pooled credential, so the plugin holds and stores none of your secrets, and an OpenCode Free group appears in the picker once enabled.
- Three wire protocols: routing by model id sends requests to Chat Completions, Responses, or Messages endpoints, and all three SSE dialects decode into one host block protocol.
- Protocol decided by shape: the gateway's Content-Type is not trusted; the verdict comes from the body's own shape, and the bytes spent sniffing are replayed so no token is buffered.
- The fingerprint quartet: the free tier requires the request body to declare the tool names bash/glob/grep/read or it answers 403; a missing slot is filled by promoting a real tool before it is faked, and the response side restores the caller's own spelling.
- Availability probing and region routing: a background probe classifies every model as available, region-blocked, unavailable, throttled, or unknown, and region-refused models move to a separate route that can be hidden.
- Reasoning-cutoff continuation and effort budgets: a turn cut off with reasoning and nothing visible is continued once from its checkpoint with tools forced off, while light/balanced/deep map to real output budgets because the lane only honours max_tokens.
How to Use This Plugin?
After enabling this DeepSeek Harness plugin in DSH and restarting, an OpenCode Free group appears in the model picker; just select a model from it and start chatting, with no key to fill in. Models inside a group are sorted by display name with a stable, total order that does not jump between refreshes. If your egress is region-limited, refused models show up in a second group labelled with the reason, which can be hidden through configuration. Conversations map to one stable session, avoiding the per-session rate limiting that fresh sessions per request would trigger.
How to Troubleshoot This Plugin?
If a request returns 403 FreeTierError, the request body did not declare the tool names the free tier requires; the plugin fills the missing slots and retries. If you see 429 throttling, it usually means the session was unstable or the whole round was throttled; the plugin backs off exponentially and re-probes, so simply retry after waiting. If a model disappears from the list, it was most likely withdrawn upstream or classified as unavailable by the probe; re-probe or switch models following the official instructions.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: artorias-zj/dsh-opencode-free-model. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
