Repository navigation
Releases
v0.3.4 — routing-cell failover
Why
The connection loaded fine, but long conversations could not send a single token. The OpenCode Zen Go gateway pins every request carrying the same x-opencode-session to one backend cell, and a cell short on prefill capacity answers 429 [prefill_cap_refused] in about a second. Retrying the same session id kept hitting the same cell, so the whole conversation failed while a new one worked.
Measured against the live gateway with one identical body:
| Attempt | Body | Result |
|---|---|---|
| stuck session id ×3 | 250k chars | 429 prefill_cap_refused in 1.2–2.2s, 3/3 |
| three random ids | 250k chars | served 2/3 (one transient overloaded), 11–16s |
| fresh id | 700k chars | served in 62s |
| stuck session id | 700k chars | refused in 3.7s |
What changed
One refusal now advances that conversation to <sessionId>#r<n>; the host's existing retry then lands on another cell, and later requests keep using the derived id so the new cell keeps its prompt cache.
- healthy conversations keep their original id and cache affinity;
- transient
[overloaded]answers do not rotate; - rotations are bounded at 32 per session and tracked for at most 256 sessions;
READMEdocuments the behaviour and the per-providerretryPolicyknob for longer backoff.
Validation
27 tests pass, including three new ones: a refusal rotates once, a healthy stream never rotates, and an always-refusing endpoint stops at #r32. npm ci accepts the lockfile and the release tag agrees with 0.3.4.
v0.3.3 — DSH 0.2.2 compatibility
Why
DSH desktop upgraded to 0.2.2-rc.1, which the old engines.dsh: >=0.2.1-rc.1 <0.2.2-0 range rejected. The loader marked the bundle incompatible-version, inserted no rows, and the whole second Go connection disappeared from the app after the upgrade.
What changed
engines.dshand the DSH peer ranges now read>=0.2.1-rc.1 <0.2.3-0, so0.2.1-rc.xand0.2.2-rc.xboth load.@deepseek-ai/schemasterypeer widened to>=3.18.5 <3.20.0; DSH 0.2.2 ships 3.19.0.- Tests now run against
@deepseek-ai/dsh-llm-pi-ai@0.2.2-rc.1; every public symbol this plugin imports still exists and behaves the same. - The fake host context used by the interleave test implements the cordis 4.1
waterfallhook that the native pi-ai adapter now calls while preparing request headers.
Plugin behavior, routes, stored credentials, saved model selections and manual-only model refresh are unchanged.
Validation
24 local tests pass against the 0.2.2-rc.1 packages (including the real PiAiAdapter header path and 38-model protocol matrix); npm ci accepts the refreshed lockfile; package-lock.json and the release tag agree on 0.3.3.
v0.3.2 — trusted npm publishing
Adds the GitHub Actions publish.yml workflow for npm Trusted Publishing (OIDC). Formal GitHub Releases now run version checks and all tests before publishing to npm latest. No npm token is stored in the repository or GitHub secrets.
This patch validates the trusted publisher binding; plugin behavior, saved model selections, credentials and manual-only model refresh are unchanged.
Validation: 24 local tests pass, matching/mismatched release-tag checks pass, and the distribution archive passes privacy checks.
v0.3.1 — npm distribution
Publishes OpenCode Go · 2 to npm as dsh-opencode-go-second@0.3.1.
Install with dsh plugin --profile desktop add dsh-opencode-go-second. The package repository metadata enables the community catalog to discover npm releases; the listing update removes the fixed GitHub tarball. Subsequent npm versions do not require a new catalog PR.
DSH compatibility remains 0.2.1-rc.1 / 0.2.1-rc.2. Saved model selections, credentials, provider isolation and manual-only model refresh are unchanged.
Validation: 24 offline tests pass; the 16-file distribution archive passes privacy checks and installs with the rc.1 host adapter deduplicated. No paid inference was performed.
v0.3.0 — DSH 0.2.1 compatibility
Updates OpenCode Go · 2 for DeepSeek Harness 0.2.1-rc.1 and 0.2.1-rc.2.
- Moves compatibility metadata to the new engines.dsh field and accepts the tested 0.2.1 release candidates.
- Updates the official DSH adapter peers to the 0.2.1 line and pi-ai to 1.1.0. Official packages are reused from the host.
- Includes the new native stream idle watchdog; a regression test covers a stalled transport that ignores abort.
- Preserves manual model refresh, saved model selections, independent credentials and per-conversation session headers.
Validation: all 24 offline tests pass on both DSH 0.2.1-rc.1 and 0.2.1-rc.2. The release tarball installs against the rc.1 host without duplicate adapter packages. Backend import, client registration, bundle contents and privacy scans pass. Desktop rc.1 hot activation and the saved model settings UI were checked. No paid inference was performed.
For DSH 0.2.0-rc.2, retain plugin v0.2.2.
v0.2.2
Adds distribution packaging and installation documentation for the independent OpenCode Go · 2 connection in DeepSeek Harness.
- Includes backend, settings UI, bundle patch, and model metadata in a prebuilt tarball.
- Declares official DSH packages as peer dependencies; verified with DSH 0.2.0-rc.2 and Node.js >=22.19.0.
- Preserves manual model refresh only, with no scheduled or startup refresh.
- Existing native providers and the first OpenCode Go connection are not modified.
Validation: 23 offline tests passed; the release tarball installed in a clean directory, and backend imports, client registration, bundle patch, and model data were checked. Real model availability depends on the OpenCode account and upstream service.
The archive excludes credentials, deployment records, logs, backups, local analysis output, and development-only migration tooling.