keman-ai/dsh-opencode-zen
Install it and configure nothing. Zen's free models accept anonymous calls, so once the plugin boots, a group of working models simply appears in the model picker.
catalog descriptioncatalog 简介 / catalog description:Bring OpenCode Zen's free models to DeepSeek Harness — zero config, no API key, catalog discovered live from upstream
Project Overview项目介绍
This is a DeepSeek Harness plugin that adds OpenCode Zen's free large language models. No signup or API key required, it fetches available free models at runtime and supports tool calls and full agent loops. Use it when you want to test LLMs with zero configuration and no cost. Note that the free shared quota is rate-limited.
这是DeepSeek Harness的插件,接入OpenCode Zen的免费大语言模型。无需注册、无需API密钥,运行时自动拉取可用免费模型,支持工具调用和完整代理循环。适合零配置零成本试用大模型的场景,注意免费共享配额有速率限制,匿名调用更容易触发限额。
请帮我了解并安装插件:【dsh-opencode-zen】【https://github.com/keman-ai/dsh-opencode-zen】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add -w github:keman-ai/dsh-opencode-zen
把 keman-ai/dsh-opencode-zen 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH OpenCode Zen
Bring OpenCode Zen's free models to
DeepSeek Harness.
No signup, no API key, no balance to top up.
English · 简体中文
If this is useful to you, a Star goes a long way
Install it and configure nothing. Zen's free models accept anonymous calls, so once the plugin boots, a group of working models simply appears in the model picker.
Model picker
├─ nemotron-3-ultra-free 1M context
├─ nemotron-3.5-lightning-free 256K context, 256K output too
├─ laguna-s-2.1-free 256K context
├─ deepseek-v4-flash-free 200K context, 128K output
├─ big-pickle Zen's own anonymous evaluation model
├─ mimo-v2.5-free 200K context
└─ hy3-free 190K context
All seven support tool calls and reasoning content, enough to run a full agent loop — not a chat-only cut-down.
The list is not hardcoded; it is fetched at runtime: models.dev decides which are free and how large, Zen's model endpoint decides which still exist, and the plugin takes the intersection. Free models are offered for a limited time, so any hardcoded list is guaranteed to go stale.
Install
Not published to npm — install from GitHub:
dsh plugin --profile web add -w github:keman-ai/dsh-opencode-zen
Then restart dsh once, and the opencode-zen group appears in the model picker.
Three notes:
-wis not optional. The profile directory ships apnpm-workspace.yaml, so pnpm treats it as a workspace root; without the flag you getERR_PNPM_ADDING_TO_ROOT.- No build-script authorisation needed. The repository ships its build output and has
no
preparescript, so pnpm runs no build for a git source. You do not needallowBuilds, nor a build toolchain on your machine. --profileis whichever you already use (weborheadless). This is an LLM provider; it does not depend on the web GUI.
To confirm it really entered the Loader tree:
dsh --profile web --dump-config | grep -A 1 opencode-zen
# - id: opencode-zen
# name: dsh-opencode-zen
To hack on it, install locally:
git clone https://github.com/keman-ai/dsh-opencode-zen
cd dsh-opencode-zen && pnpm install && pnpm build
dsh plugin --profile web add <absolute path to that directory>
Do I need an API key
No. Anonymous calls draw on Zen's shared free quota. It is rate-limited by source —
plenty for trying things out, though sustained volume will hit FreeUsageLimitError.
For a private quota, grab a key at opencode.ai/zen:
export OPENCODE_API_KEY=<your key>
The variable name matches opencode's own, so if you already use opencode, one key serves both. You can also store it in the credentials service from dsh's Models page; the plugin reads that first.
When the quota runs out, the plugin does not just say Rate limit exceeded — it tells you
whether you are anonymous or keyed, and what to do next.
Configuration
All optional. An empty config gives the behaviour described above.
plugins:
dsh-opencode-zen:
apiKeyEnv: OPENCODE_API_KEY # credential reference (an env var name)
baseURL: https://opencode.ai/zen/v1
catalogUrl: https://models.dev/api.json
catalogTtlMs: 3600000 # catalog TTL, one hour by default
catalogTimeoutMs: 8000 # catalog request timeout
maxTokens: 32000 # output cap; the model's own lower cap wins
defaultContextWindow: 128000 # assumed when the catalog has no entry
Known limits
- The free quota is shared, and anonymous calls hit the limiter most easily. That is Zen's policy; all the plugin can do is state the reason clearly.
- Reasoning is not sent back. OpenAI-compatible
chat/completionshas no request field to carry the previous turn's thinking, so reasoning blocks are displayed, not replayed. - Text only. All seven models take text alone; an image in a tool result is replaced with a one-line placeholder rather than dropped silently.
- Paid models are excluded. Zen also offers Claude, GPT and others, but this plugin
exists so that things run with zero configuration — mixing paid models into the same
list makes it unclear which choice costs money. To use them, add an
llm-deepseekentry pointing at the same endpoint.
Development
pnpm install
pnpm check # type check
pnpm test # unit tests
pnpm build # bundle to lib/
lib/ is committed on purpose. This package is not published to npm; everyone
installs from a git source, and whether pnpm can build a git source depends on the other
machine's toolchain and allowBuilds grants. Shipping the output removes that variable —
commit the pnpm build output along with your code changes.
| File | Responsibility |
|---|---|
src/index.ts |
Plugin entry: config validation, credential resolution, provider registration on ctx.llm |
src/adapter.ts |
LlmAdapter implementation: requests, error mapping, model metadata |
src/stream.ts |
State machine turning SSE deltas into the harness block sequence |
src/discovery.ts |
Two-source merge, caching and fallback for the free catalog |
Related
- OpenCode Zen — the model gateway itself; keys come from here
- DeepSeek Harness — the host
- dsh-skin-market — skin marketplace plugin by the same people
- dsh-skin-pack — the official skins, all in one repository
License
MIT © 2026 Science Roam Limited
If this is useful to you, a Star goes a long way
crafter-station/petdex
whiteguo233/OpenBiliClaw
edison7009/EchoBird
V1ki/dsh-plugin-subscriptions
Nwflower/dsh-chat-import
KelaoHu/dsh-lowtide
corrinehu/dsh-workbuddy-connect