DeepSeek Harness plugin

dsh-llm-opencode

OpenCode Zen provider adapter for DSH harness LLM seam

Jump to install

Source facts

Repository
bobowsh/dsh-llm-opencode
Latest update
Aug 20, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/bobowsh/dsh-llm-opencode
Plugin: dsh-llm-opencode
Author: bobowsh

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-llm-opencode

![npm version](https://www.npmjs.com/package/dsh-llm-opencode) ![License: MIT](https://opensource.org/licenses/MIT) ![DSH Plugin](https://github.com/topics/dsh-plugin)

OpenCode Zen free model provider adapter for DeepSeek Harness (DSH).

Registers the opencode-zen provider route in DSH's LLM seam, giving your coding agent access to OpenCode Zen's free-tier models — no API key required for free models, no credit card, no setup friction.

Free Models

ModelIDContextMax OutputNotes
DeepSeek V4 Flash Freedeepseek-v4-flash-free200K128KDeepSeek's V4 Flash, SWE-bench ~79%
Nemotron 3 Ultra Freenemotron-3-ultra-free1M128KNVIDIA's flagship, huge context
MiMo V2.5 Freemimo-v2.5-free200K32KXiaomi's coding model
Big Picklebig-pickle200K128KStealth general-purpose model

> Free models are served through OpenCode Zen's public gateway. Availability may change; the adapter auto-discovers models tagged free from the /models endpoint.

Install

# From npm (prebuilt, recommended)
dsh plugin --profile web add dsh-llm-opencode

# Or from GitHub directly
dsh plugin --profile web add "github:bobowsh/dsh-llm-opencode#main"

Quick Start

1. Install the plugin into your DSH profile (see above). 2. Open DSH Web Settings → Models → select OpenCode Zen as your provider. 3. Pick a free model (e.g. deepseek-v4-flash-free) and start coding — no API key needed.

> Paid models require an API key. Set OPENCODE_API_KEY in DSH credentials (Settings → Credentials) or as an environment variable.

How It Works

This plugin implements the LlmAdapter interface from @deepseek-ai/dsh-llm and registers a single provider route opencode-zen. When DSH routes a request to this provider:

1. Serialization — harness messages are translated to OpenAI-compatible chat completions (text-only; images are rejected with UNSUPPORTED_CONTENT). 2. Streaming — SSE responses are parsed via eventsource-parser and translated into harness StreamChunk events (block-start, text-delta, reasoning-delta, tool-call-delta, usage, finish). 3. Identity — requests carry User-Agent: opencode/1.0.0 and related headers to satisfy OpenCode Zen's client identity check (the default deepseek-harness/... user-agent is rejected by the gateway). 4. Credentials — resolves the API key from DSH's credential store (env var OPENCODE_API_KEY) or the ambient environment. Free models work without a key; paid models require one. 5. Model discovery — registers a discovery handler that fetches /models from the gateway and filters for free-tagged entries.

Configuration

The adapter is configurable through DSH's settings system (llm-opencode section in settings.yaml). Changes take effect immediately without restart.

SettingDefaultDescription
baseURLhttps://opencode.ai/zen/v1Gateway endpoint
apiKeyEnvOPENCODE_API_KEYCredential store key for the API token
maxTokens128000Default max output tokens per request
defaultContextWindow1000000Fallback context window for unknown models
streamIdleTimeoutMs300000Max idle time (ms) before stream is considered dead
models(built-in catalog)Override the model catalog
retryPolicy(built-in)Retry behavior for transient errors

Example settings.yaml snippet

llm-opencode:
  baseURL: "https://opencode.ai/zen/v1"
  maxTokens: 64000
  models:
    - id: deepseek-v4-flash-free
      name: DeepSeek V4 Flash Free
      contextWindow: 200000
      maxTokens: 128000

See [settings.example.yaml](settings.example.yaml) for a full annotated example.

Bundle Patch

The included cordis.patch.yml registers the llm-opencode plugin row into the DSH bundle loader, so the plugin is auto-loaded when installed into a profile.

Development

npm install
npm test
npm run lint

Requirements

  • DeepSeek Harness >= 0.1.0-rc.7
  • @deepseek-ai/cordis ^4.0.1 (peer dependency)

License

MIT © bobowsh