ChatGPTClaudeGrok / X / CursorGemini

opencode2dsh: A DSH plugin that adds keyless free models to DeepSeek Harness

fishbottle7/opencode2dsh

Tools & CapabilitiesVerified
Listed on 2026-09-21
Page last updated 2026-11-12

Registers a native LlmAdapter in DeepSeek Harness that streams from OpenCode Zen's anonymous free lane, so DSH users get free models with no API key, no signup and no sidecar.

opencode2dsh is a DSH plugin that wires OpenCode Zen's anonymous free model lane into DeepSeek Harness. It removes the need to register an account, paste an API key, or host an extra local process, so a matching group simply appears in the model picker after install and restart. The plugin registers as a native adapter, keeps its request headers identical to the official CLI, and keeps the catalog usable through a three-tier fallback of live list, offline cache, and static list, with thinking-level selection for reasoning models.

How to Install

install
npmdsh plugin --profile <your-profile> add @opencode2dsh/dsh-plugin

Replace --profile with the profile name you actually run (see ls ~/.dsh/profiles/): usually web in the browser UI, desktop or desktop-NNN in the desktop app.

Category
Tools & Capabilities
Platform
DSH Plugin
Author
fishbottle7
Distribution
Plugin

opencode2dsh Key Features

Zero key, zero setupNative adapter, no sidecarCLI-identical request headersSelectable thinking levelsLive catalog with fallbacks
Listed on dsh-plugin.org

opencode2dsh Repo Summary

What Does It Do?

opencode2dsh is a DSH plugin for DeepSeek Harness that turns OpenCode Zen's anonymous free model lane into a native provider inside the DSH model picker. It removes the usual friction of free LLM access — no API key, no registration, no extra local process to host. The plugin registers a native LlmAdapter that streams straight from the free lane, and its outbound requests look identical to traffic from the OpenCode CLI. It is maintained by FishBottle7 under the MIT license and written in TypeScript.

Core Features

  • Zero credential, zero setup: the anonymous lane needs no key and no account, so you install, restart, and start chatting with models listed under the opencode2dsh group.
  • Native adapter, no sidecar: a single plugin package registers an LlmAdapter with no child process, no bundled binary, and no local port, streaming directly into DSH sessions.
  • CLI-identical disguise: each conversation derives the OpenCode CLI user agent plus its session, request, and project header set, so requests leave your machine looking like official CLI traffic.
  • Selectable thinking levels: reasoning-capable free models expose an effort picker in the DSH model selector, using declared ladders where metadata provides them and Off/Minimal/Low/Medium/High otherwise; Off actually stops thinking upstream, and no selection keeps the provider default.
  • Live catalog with a fallback chain: the live upstream list is intersected with free-by-metadata models, falling back to an offline cache and then a verified static list.
  • Self-healing with proper error surfaces: fast startup retries, periodic catalog refresh, and a written health snapshot for diagnostics, while upstream rate-limit, auth, timeout, and transport failures arrive in DSH as classified finish reasons with retries owned by DSH.

How to Use This Plugin?

After enabling it in DSH with a web profile and restarting, open the model picker and choose a model from the opencode2dsh group — there is nothing to log into. Defaults work out of the box; to change behavior, override options in the profile's cordis.patch.yml: mode selects adapter (default, native streaming) or sidecar (the legacy local-agent mode, not bundled), providerId sets the provider name shown in DSH, and refreshSeconds controls catalog refresh cadence (300 seconds by default, with pricing metadata refreshed every 24 hours). The environment needs Node.js 20 or newer and outbound HTTPS access to OpenCode Zen and the model metadata service; to verify, restart and check that the group appears in the model picker.

How to Troubleshoot This Plugin?

Upstream rate-limit, auth, timeout, and transport failures surface in DSH as classified finish reasons, so use those classifications to tell a network problem from an upstream limit, and let DSH own the retries. If the model list is empty or stale, the live catalog fetch is failing and the plugin has fallen back to its offline cache and static list — check that outbound HTTPS to OpenCode Zen and the model metadata service is reachable. The plugin writes a health snapshot for diagnostics, so consult that snapshot per the official instructions when something looks wrong.

This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: fishbottle7/opencode2dsh. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.

Install, update, and uninstall this plugin in the Plugin Market of DeepSeek Harness's DSH Plugin Hub
ChatGPTClaudeGrok / X / CursorGemini

DSH Plugin FAQ