DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Opencode — DSH Plugin for DeepSeek Harness
← Plugins

@viztor/dsh-opencode

Opencode

OpenCode on DeepSeek Harness — session affinity, Zen/Go gateway origin headers, and free-tier tool fallback for OpenCode models.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @viztor/dsh-opencode@0.5.1
READMECompatibilityVersions

Compatibility and provenance

Opencode is published as @viztor/dsh-opencode and currently resolves to version 0.5.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/1/2026

Versions

0.5.1stable
10/1/2026
0.3.4
stable
9/30/2026
0.3.2stable
9/30/2026
Show 1 more versionCollapse versions
0.3.0stable
9/30/2026

Related plugins

Loading related plugins…

Latest
0.5.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
46.1 kB
Files
10
Surface
web
License
MIT
Source
npm
Weekly downloads
0
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in developer-tools.

Client Ui Git Graph@linxin666/dsh-client-ui-git-graphExternal dsh web GUI plugin: a blank-session git branch selector + Git graph, with real host-side git operations and guards, as a dsh profile bundleSsh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panelCc Safety Netcc-safety-netA coding agent CLI hook - block destructive commands and secret file access

README

OpenCode on DeepSeek Harness

Run free OpenCode models — Zen (muse-spark-1.3-contributor-free, space-bunny-free) and Go (deepseek-v4.1-flash) — inside DeepSeek Harness without 403 FreeTierError or 400 MissingSessionID errors.

Why this exists: OpenCode's gateways only serve requests carrying a valid x-opencode-session, and the Zen gateway additionally demands CLI origin proof (User-Agent, client headers, ses_… IDs) plus read/bash tool definitions on free-tier calls. DeepSeek Harness strips the user agent, uses UUID session IDs the gateways reject, and can send tool-less requests — so calls fail. This plugin restores what's needed at the network layer, only for OpenCode traffic (opencode and opencode-go routes, zen/v1 and zen/go/v1 URLs). Everything else (DeepSeek, OpenAI, GitHub, tools) passes through byte-for-byte untouched.

Install

Recommended — from npm:

dsh plugin --profile web add @viztor/dsh-opencode

Or declare it in your profile's package.json:

{
  "dependencies": {
    "@viztor/dsh-opencode": "^0.3.0"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@viztor/dsh-opencode"
      ]
    }
  }
}

Then run pnpm install in your profile directory.

Configure (no YAML needed)

Open DSH Web → Settings → Plugins → OpenCode Integration, flip toggles, hit Save:

SettingDefaultWhat it does
Inject User-AgentonRestores the OpenCode CLI User-Agent DSH strips
User-Agent OverrideemptyCustom string instead of the canonical CLI one
Inject Origin HeadersonAdds x-opencode-client: cli + x-opencode-project: global
Inject Core ToolsonAdds fallback read/bash schemas to free-tier /responses calls
Providersopencode, opencode-goWhich route IDs get the treatment

The Defaults above live in code (resolveConfig in src/index.ts — e.g. DEFAULT_PROVIDERS, toggles defaulting to on, empty override meaning "use canonical"). cordis.patch.yml pins the same values explicitly so a deployment's effective config reads in one place; the UI clearing a field falls back to the file value, then the code default. Single source of truth stays in code — the file mirrors, never contradicts.

Headless / declarative config

For servers or cordis.patch.yml overlays:

- id: dsh-opencode
  name: "@viztor/dsh-opencode"
  config:
    providers: [opencode, opencode-go]
    injectUserAgent: true
    userAgent: ""
    injectOriginHeaders: true
    injectCoreTools: true
    debug: false

Full option reference (types, debug/debugFile): see cordis.patch.yml header comments.

Troubleshooting

SymptomLikely causeFix
403 FreeTierError on free modelsHeaders stripped or tools missingKeep all three inject toggles on
400 MissingSessionIDNo session header attachedPlugin must be in bundles; check it loaded
Paid/other providers misbehavingShouldn't happen — they're never touchedFile an issue with a redacted log

Compatibility

Last verified: 2026-10-01 — refreshed on every release (see Contributing).

ComponentVerified version
Plugin@viztor/dsh-opencode@0.3.0 (npm + GitHub Packages)
HostDSH Web profile (dsh-profile-web, patchReload: live)
RuntimeNode 24+
Gatewayzen/v1 (/responses + chat completions) and zen/go/v1 (chat completions)
Modelsmuse-spark-1.3-contributor-free, space-bunny-free, deepseek-v4.1-flash (Go)
Checksvp check clean, 44/44 deterministic tests, registry install resolves

Links

  • Contributing — dev setup, conventions, release process
  • Changelog — what changed in each version
  • License — MIT (nobu121 & viztor)

Attribution

Evolved from nobu121/dsh-opencode-session by @nobu121, which pioneered the x-opencode-session approach for OpenCode Go. This project extends it to OpenCode Zen free-tier compatibility, deterministic session hashing, configurable headers, and a Web settings UI.