reactive-resume
reactive-resume
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:keman-ai/dsh-opencode-zen
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
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.
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:
-w is not optional. The profile directory ships a pnpm-workspace.yaml, so pnpm
treats it as a workspace root; without the flag you get ERR_PNPM_ADDING_TO_ROOT.prepare script, so pnpm runs no build for a git source. You do not need
allowBuilds, nor a build toolchain on your machine.--profile is whichever you already use (web or headless). 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>
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.
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
chat/completions has no request
field to carry the previous turn's thinking, so reasoning blocks are displayed, not replayed.llm-deepseek
entry pointing at the same endpoint.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 |
MIT © 2026 Science Roam Limited
If this is useful to you, a Star goes a long way
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: openai-compatible。