Skip to content

Releases: x5427876/dsh-opencode-free

v0.3.7

Choose a tag to compare

@x5427876 x5427876 released this 22 Oct 14:21

Highlights

  • Fix: thinking-mode requests with tools to Zen's DeepSeek models were rejected because assistant messages without reasoning were sent without reasoning_content. Models whose models.dev record declares interleaved.field = "reasoning_content" now set pi-ai's requiresReasoningContentOnAssistantMessages flag (29 of 46 derived free models at release time, including deepseek-v4.1-flash-free).
  • thinkingFormat is unchanged, so no extra thinking or reasoning_effort parameters are sent.

Contributors

Thanks to Evgeny Khudoba (@xilec) for diagnosing the missing reasoning_content passback and contributing the fix and its tests in #39.

Compatibility and limitations

Supports DeepSeek Harness 0.2.1-rc.2 (exact). Node.js ^22.19.0 or >=24.0.0.

  • A live compat run covered only deepseek-v4.1-flash-free. The other models Zen serves were not re-run for this release.
  • For non-DeepSeek models that receive the flag, the extra empty reasoning_content field on assistant messages is unverified on their backends.

Validation

  • pnpm run check on macOS: typecheck, docs links, 305/305 tests, pack.
  • pnpm compat --dsh 0.2.1-rc.2 --tools --model deepseek-v4.1-flash-free: ok (L0 probe, L2 read and bash).
  • GitHub CI passed for the release commit (pnpm run check and pnpm pack --dry-run).
  • Request bodies captured against a local mock server: flagged models send reasoning_content: "", unflagged models do not.

Install

dsh plugin --profile web add dsh-opencode-free@0.3.7

v0.3.6

Choose a tag to compare

@x5427876 x5427876 released this 18 Oct 14:58

Highlights

  • Support DeepSeek Harness 0.2.1-rc.2 with exact host peer pins. The pi-ai peer range (^1.1.0) is unchanged; the schemastery peer range moves to ~3.18.5.
  • No plugin runtime behavior changed. The DSH provider packages the plugin imports (dsh-llm, dsh-llm-pi-ai and their peers) are identical between 0.2.1-alpha.5 and 0.2.1-rc.2 apart from package.json versions.

Compatibility and limitations

Requires DeepSeek Harness 0.2.1-rc.2 exactly and Node.js ^22.19.0 or >=24.0.0. For DSH 0.2.1-alpha.5, remain on plugin 0.3.5. All four runtime peers are required; do not ignore dependency warnings.

This is an unofficial plugin. Anonymous access has no third-party availability guarantee and remains subject to upstream admission and shared egress-IP quota.

The isolated macOS headless report (anonymous, --tools) exited 2: the run did not finish, so full acceptance is not met.

  • 8 of 9 official free conversational models passed L0, L1 and L2 read/shell.
  • glm-5.3-flash-free was upstream-down (HTTP 503) at the availability probe and during the request, so it is unverified. This is not a plugin fault.
  • Three official entries remain unclassified (test, claude-opus-5-5-backup, deepseek-v4-flash), which alone prevents full acceptance.

Headless runs do not establish Web or Desktop UI or compaction behavior, or other platforms.

Validation

  • macOS 25.6.0 arm64, Node.js 26.9.0, pnpm 11.19.0: pnpm run check passed type checking, build, all 302 offline tests, and package creation.
  • GitHub CI passed on Ubuntu at the release commit.
  • The compatibility run installs the packed tarball with DSH 0.2.1-rc.2 into an isolated DSH_HOME and sends real anonymous requests, as described above.

Install

Install the pinned npm package:

dsh --version
dsh plugin --profile web add dsh-opencode-free@0.3.6

Replace web with your target profile. Restart DSH after installation and select a model under OpenCode Zen Free. For existing installations, follow the installation guide.

See the documentation index.

v0.3.5

Choose a tag to compare

@x5427876 x5427876 released this 16 Oct 14:31

Highlights

  • Support DeepSeek Harness 0.2.1-alpha.5 with exact host peer pins. The pi-ai (^1.1.0) and schemastery (~3.18.5-alpha.2) peer ranges are unchanged from 0.3.4.
  • No plugin runtime behavior changed. This release moves the supported host version and fixes two problems in the compatibility run used to verify it: it now accepts the provider-prefixed endpoints (/inference/openai/v1, /inference/systemone/v1) that the official model documentation now lists, and it compares tool paths through their real paths, so a symlinked workspace (macOS /var) no longer fails read and workdir checks.

Compatibility and limitations

Requires DeepSeek Harness 0.2.1-alpha.5 exactly and Node.js ^22.19.0 or >=24.0.0. For DSH 0.2.1-alpha.3, remain on plugin 0.3.4. All four runtime peers are required; do not ignore dependency warnings.

This is an unofficial plugin. Anonymous access has no third-party availability guarantee and remains subject to upstream admission and shared egress-IP quota.

The isolated macOS headless report (anonymous, --tools) exited 1: full acceptance is not met.

  • 8 of 11 official free conversational models passed L0, L1 and L2 read/shell.
  • beam-free was reported missing from the catalogue because models.dev had not yet listed it when the run started. A separate single-model run passed L0 to L2 (report).
  • nemotron-3.5-lightning-free and glm-5.3-flash-free passed L1 and L2 but their availability probe timed out in the full run and again when rerun on its own, so L0 is unverified for both.
  • Four official entries remain unclassified (muse-spark-1.2-contributor-free, test, claude-opus-5-5-backup, deepseek-v4-flash), which alone prevents full acceptance.

Headless runs do not establish Web or Desktop UI or compaction behavior, or other platforms.

Validation

  • macOS 25.6.0 arm64, Node.js 26.9.0, pnpm 11.19.0: pnpm run check passed type checking, build, all 302 offline tests, and package creation.
  • GitHub CI passed on Ubuntu at commit 1e12698.
  • The compatibility run installs the packed tarball with DSH 0.2.1-alpha.5 into an isolated DSH_HOME and sends real anonymous requests, as described above.

Install

Install the pinned npm package:

dsh --version
dsh plugin --profile web add dsh-opencode-free@0.3.5

Replace web with your target profile. Restart DSH after installation and select a model under OpenCode Zen Free. For existing installations, follow the installation guide.

See the documentation index.

v0.3.4

Choose a tag to compare

@x5427876 x5427876 released this 15 Oct 02:25

Highlights

  • Support DeepSeek Harness 0.2.1-alpha.3 with exact host peer pins and pi-ai ^1.1.0.
  • Move Zen requests and availability checks to /inference/v1, with time-encoded session IDs retained per DSH session in memory.
  • Adapt anonymous read/shell declarations and Windows pwsh calls while preserving host constraints, caller tool choices, and keyed requests. Calls to unavailable admission-only tools are rejected before host dispatch.
  • Tighten compatibility acceptance: obtain official dynamic targets each round, require successful L0, and verify host tool-call/result evidence for L2. Reports retain allowlisted diagnostics rather than raw events.
  • Streamline bilingual documentation and archive historical material. Make the channel-sweep regression test independent of CI scheduling delays.

Compatibility and limitations

Requires DeepSeek Harness 0.2.1-alpha.3 exactly and Node.js ^22.19.0 or >=24.0.0. For DSH 0.2.1-alpha.2, remain on plugin 0.3.3. All four runtime peers are required; do not ignore dependency warnings.

This is an unofficial plugin. Anonymous access has no third-party availability guarantee and remains subject to upstream admission and shared egress-IP quota.

The isolated Windows headless report records L0/text/read/pwsh success for 8 selected models. Four official entries remain unclassified, so the run exited 2: full acceptance is incomplete. That evidence predates the compat wrapper refactor. Web, Desktop, compaction, and other platforms remain unverified by that run. No new live inference check was performed for this release preparation.

Validation

  • Windows, Node.js 24.13.0, pnpm 11.19.0: pnpm run check passed type checking, build, all 275 offline tests, and package creation; pnpm pack --dry-run also passed.
  • GitHub CI passed on Ubuntu with Node.js 22.19.0 at commit 31fd49e.
  • The CI timing failure was reproduced with a delayed error-body read; the controlled-expiry test passes both normally and with that delay. No production behavior changed in that fix.

Install

Install the pinned npm package:

dsh --version
dsh plugin --profile web add dsh-opencode-free@0.3.4

Replace web with your target profile. Restart DSH after installation and select a model under OpenCode Zen Free. For existing installations, follow the installation guide.

See the documentation index.

v0.3.3

Choose a tag to compare

@x5427876 x5427876 released this 12 Oct 11:10

Highlights

  • A request over the context window now reaches auto-compaction. Zen refuses it with a generic [invalid_request_error] invalid request that neither pi-ai's overflow patterns nor the host's detector recognised, so compaction never ran and every later message failed the same way (#7, fixed in #8).
  • When the refusal is that bare message and the max_tokens sent is below the one requested, the plugin appends input exceeds the context window of this model to the upstream wording. Any other refusal keeps the upstream message.
  • Thanks to @tkhs101 for the diagnosis and the fix design in #7.

Compatibility and limitations

Requires DeepSeek Harness 0.2.1-alpha.2 and pi-ai ^1.0.2. No peer change from 0.3.2.

The translation only fires when pi-ai's clamp lowers max_tokens. When the clamp does not bind, the old behaviour remains. Anonymous access remains subject to upstream admission and quota limits.

Validation

  • pnpm run check passed: type checking, all 235 offline tests, and packaging.
  • Live (anonymous, macOS): one oversized request (about 3.3M characters) to space-bunny-free came back 400 with the clamp bound (max_tokens 101552 of 524288), and the error ended with the appended clause. Both pi-ai's isContextOverflow and the host's isContextWindowExceededError accept that message (checked offline).
  • Not verified: a full compaction-and-retry inside a running DSH session. The compat run was not repeated for this release.

Install

dsh plugin --profile web add dsh-opencode-free@0.3.3

Replace web with your target profile. A tarball is also attached to this release.

See CHANGELOG.md for details.

v0.3.2

Choose a tag to compare

@x5427876 x5427876 released this 10 Oct 03:15

Highlights

  • Targets DeepSeek Harness 0.2.1-alpha.2. The peer pins move to @deepseek-ai/dsh-llm and @deepseek-ai/dsh-llm-pi-ai 0.2.1-alpha.2.
  • DSH 0.2.1-alpha.2 moves pi-ai from ^0.87.1 to ^1.0.2, so the plugin's pi-ai peer moves with it. Plugin behaviour is unchanged.

Compatibility and limitations

Requires DeepSeek Harness 0.2.1-alpha.2 and pi-ai ^1.0.2. The peer pin is exact, so DSH 0.2.1-alpha.1 is no longer supported by this release; stay on 0.3.1 for it.

Anonymous access remains subject to upstream admission and quota limits.

Validation

  • pnpm run check passed: type checking, all 217 offline tests, and packaging.
  • A live compat run against DSH 0.2.1-alpha.2 (pnpm compat --dsh 0.2.1-alpha.2 --tools, anonymous, macOS, headless profile) exited 0: 10 models ok through the read and shell tool round-trips; exo-free and ling-3.0-flash-fin-free were reported upstream-down; none rate-limited or unverified. The report is in docs/compat-reports/. The web profile was not verified.

Install

dsh plugin --profile web add dsh-opencode-free@0.3.2

Replace web with your target profile. A tarball is also attached to this release.

See CHANGELOG.md for details.

v0.3.1

Choose a tag to compare

@x5427876 x5427876 released this 03 Oct 16:14

Highlights

  • Targets DeepSeek Harness 0.2.1-alpha.1. The peer pins move to @deepseek-ai/dsh-llm and @deepseek-ai/dsh-llm-pi-ai 0.2.1-alpha.1 and @deepseek-ai/schemastery ~3.18.5-alpha.1.
  • Plugin behaviour is unchanged: DSH 0.2.1-alpha.1 keeps pi-ai ^0.87.1, and dsh-llm only drops its internal INVARIANT error code.

Compatibility and limitations

Requires DeepSeek Harness 0.2.1-alpha.1 and pi-ai ^0.87.1. The peer pin is exact, so DSH 0.2.0-rc.2 is no longer supported by this release; stay on 0.3.0 for it.

Anonymous access remains subject to upstream admission and quota limits.

Validation

  • pnpm run check passed: type checking, all 217 offline tests, and packaging.
  • A live compat run against DSH 0.2.1-alpha.1 (pnpm compat --dsh 0.2.1-alpha.1 --tools, anonymous, Windows) exited 0: 11 models ok through the read and shell tool round-trips; deepseek-v4-flash-free and ling-3.0-flash-fin-free were reported upstream-down (Model / Endpoint is unavailable); none rate-limited or unverified. The report is in docs/compat-reports/.

Install

dsh plugin --profile web add dsh-opencode-free@0.3.1

Replace web with your target profile. A tarball is also attached to this release.

See CHANGELOG.md for details.

v0.3.0

Choose a tag to compare

@x5427876 x5427876 released this 02 Oct 01:46

Highlights

  • Free model metadata now follows models.dev, with caching and an offline fallback.
  • A model visibility panel controls which models appear in the picker.
  • Availability probes show progress and per-model outcomes, retain inconclusive models, and persist their report across restarts.
  • Successful probe channels are applied immediately and restored from cache.
  • Transport, anonymous admission, attachment handling, and probe lifecycle fixes are included.

Compatibility and limitations

Requires DeepSeek Harness 0.2.0-rc.2 and pi-ai ^0.87.1. No peer dependency range change in this release.

Probes send real inference requests against the shared per-egress-IP quota. Automatic rounds run at most once per local day; manual rounds have a five-minute minimum interval. Anonymous access remains subject to upstream admission and quota limits.

Validation

  • PR CI passed on the repository's Node 22.19.0 runner.
  • The release candidate passed type checking, all 175 offline tests, and packaging locally on Node 26.9.0.
  • Offline reproductions verified slow-gate polling and working-channel chat while a later probe remains pending.
  • Live upstream chat was not rerun against this release commit.

Install

dsh plugin --profile web add dsh-opencode-free@0.3.0

Replace web with your target profile. A tarball is also attached to this release.

Thanks to @tkhs101 for the contribution in #2.

v0.2.1

Choose a tag to compare

@x5427876 x5427876 released this 29 Sep 10:53

Highlights

  • Support DeepSeek Harness 0.2.0-rc.2. DSH rc.2 moves dsh-llm-pi-ai to pi-ai ^0.87.1, which hands providers a normalized transcript: tools and the system prompt now live in system messages. The anonymous read/bash tool gate (Windows pwsh → bash mapping and placeholder tools) now works on that shape. Without this, Windows anonymous requests carried no tools and hit 403 FreeTierError again.
  • The compaction prompt swap also handles the transcript shape.
  • The free-model list follows pi-ai 0.87: mimo-v2.5-free is replaced by mimo-v2.6-flash-free.
  • Verified on DSH 0.2.0-rc.2 (headless, installed from this tarball, no key): the free models reply and read/pwsh tool calls complete.

Breaking changes

  • Requires DeepSeek Harness 0.2.0-rc.2 exactly and pi-ai ^0.87.1. Stay on 0.2.0 for DSH 0.2.0-rc.1.

Compatibility

  • DeepSeek Harness 0.2.0-rc.2

Install

dsh plugin --profile web add dsh-opencode-free@0.2.1

v0.2.0

Choose a tag to compare

@x5427876 x5427876 released this 28 Sep 15:22

Highlights

  • Support DeepSeek Harness 0.2.0-rc.1. Verified on a local DSH 0.2.0-rc.1 web profile without a key: the free models chat normally, and read and pwsh tool calls complete.
  • README is now English first, with a Traditional Chinese edition (README.zh-TW.md). Both ship in the package.

Breaking changes

  • Requires DeepSeek Harness 0.2.0-rc.1 exactly. Stay on 0.1.4 for DSH 0.1.7-rc.2.

Compatibility

  • DeepSeek Harness 0.2.0-rc.1

Install

dsh plugin --profile web add dsh-opencode-free@0.2.0