DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Bundle — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
B

@dsh-polyglot/bundle

Bundle

dsh-polyglot — DSH 的模型切换器:一个通用的兼容 OpenAI 的 ctx.llm 适配器、精选的免费/低价 DeepSeek 提供商预设,以及免费层受到速率限制时的自动提供商回退

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Jesse-njx/dsh-polyglot#4c939d75be7c24dcd74de219eb24f4a2355faad9
README兼容性版本

兼容性与来源证明

Bundle 以 @dsh-polyglot/bundle 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/28

版本

0.1.0stable
2026/8/28

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
已声明 sideEffects: false
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 3
周下载
0
最近提交
2026/8/28
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 models-usage 分类下经过校验的插件。

Usage Stats@ychris12138/dsh-usage-statsdsh Web GUI 的令牌使用热力图、提供商余额和订阅配额Codex Connectdsh-codex-connect用于 DeepSeek Harness 的 ChatGPT OAuth 和 Codex 模型。Ui Usage Billing@kenz1117/dsh-ui-usage-billingDeepSeek Harness 的用量计费仪表板:侧边栏成本指标和完整的仪表板模态窗口,依据当前多提供商目录定价,并汇总会话日志中的实际用量。Codex Subscriptiondsh-codex-subscription通过 OAuth 在 DeepSeek Harness 中使用 ChatGPT 和 Codex 订阅,支持配额管理、安全重置、网页搜索、图像和快速模式

README

dsh-polyglot

The model switch for DSH. Point DeepSeek Harness at any OpenAI-compatible endpoint — with curated presets for free and cheap DeepSeek providers and automatic fallback when a free tier rate-limits you.

What claude-code-router is to Claude Code, dsh-polyglot is to DSH — except DSH's ctx.llm is a sanctioned extension seam, so there is no request interception: the generic adapter and the router are both real LlmAdapter registrations.

  • One generic adapter. A single OpenAI-compatible ctx.llm adapter parameterized by {baseUrl, apiKey, model, headers?, quirks?}. Streaming, tool calls, and usage extraction are all handled; per-provider deviations (reasoning field names, strict tool schemas, cache-folded usage) are small declarative quirks flags, never per-provider code.
  • A router with fallback. On 429 / quota-exceeded / 5xx (or a missing key), the failing provider is marked cooling-down (exponential backoff, honoring Retry-After) and the request is retried on the next provider in the chain. Free tiers rate-limit constantly — automatic failover is the whole product.
  • Provider presets as data. presets/*.json — community PRs add providers without touching the adapter. Each preset carries verifiedAt and free-tier notes so rot is visible.
  • Usage you can see. Every attempt lands in the append-only session log as polyglot/served; /polyglot usage tallies per provider with token counts and estimated cost from preset pricing.

Quick start

Install the bundle into a profile (a DSH profile is an ordered stack of plugin-bundle patch layers):

dsh plugin --profile web add @dsh-polyglot/bundle

The bundle's patch registers the polyglot plugin with the recommended default chain — "code all day for free until something rate-limits, then degrade gracefully to cheapest-paid":

nous-portal → opencode-zen → deepseek-official (5M grant) → kilo

Configure keys through the credentials seam (the web Models page writes them), or export the env names each preset declares:

export NOUS_PORTAL_TOKEN=...      # nous-portal (bearer, manual token for v0.1)
export OPENCODE_API_KEY=...       # opencode-zen
export DEEPSEEK_API_KEY=...       # deepseek-official (new accounts: 5M free tokens, 30 days, no card)
export KILO_API_KEY=...           # kilo (paid fallback rung)

Pick the virtual provider polyglot in the model selector. A provider without a configured key is skipped automatically — the chain degrades, it never fails hard.

Day-to-day commands

CommandWhat it does
/modelshow chains and the active one
/model <chain>switch the active chain mid-session (logged as polyglot/chain)
/polyglotstatus: active chain, entries, provider cooldowns
/polyglot usageper-provider tally from the session log: calls, ok/failed, tokens, est. cost
/polyglot presetsfree-tier posture of the active chain's presets

Configuration

Override chains and cooldown from your profile patch:

# your profile's cordis.patch.yml (or --patch overlay)
- patch:
    - id: polyglot
      config:
        chains:
          default:
            - preset: nous-portal
            - preset: opencode-zen
            - preset: deepseek-official
              model: deepseek-v4-flash
            - preset: kilo
          paid:
            - preset: deepseek-official
              model: deepseek-v4-pro
        cooldown:
          baseMs: 30000        # initial per-provider cooldown after a failure
          maxMs: 900000        # ceiling (also honors provider Retry-After)
          factor: 2            # exponential growth per consecutive failure
          jitterRatio: 0.1     # symmetric jitter around each delay

Per-entry overrides: provider (route name), model, baseUrl, apiKeyEnv, headers, quirks — the custom preset is the escape hatch for vLLM/Ollama/SGLang localhost and any other OpenAI-compatible endpoint (Qwen/GLM/Kimi official APIs included).

Quirks reference

FlagDefaultMeaning
reasoningField'reasoning_content'wire delta field carrying reasoning text; null disables reasoning entirely
maxTokensField'max_tokens'output-cap wire field (max_completion_tokens for newer hosts)
usage'standard''deepseek' subtracts cache hits folded into prompt_tokens; 'none' when the host reports none
streamOptionstruesend stream_options: {include_usage: true}
strictToolSchemasfalseadd strict: true to tool schemas
thinkingFieldfalsesend thinking: {type} (DeepSeek spelling)
reasoningEffortFieldtruesend reasoning_effort for high/max efforts

Preset registry

All figures were re-verified 2026-08-14 against provider docs; these move weekly — every preset carries verifiedAt, and a CI job pinging each baseUrl with a 1-token request is the planned trust loop.

PresetWhat you getCost / limitsNotes
deepseek-officialV4-Flash, V4-Pro$0.14/$0.28 per M (Flash); 5M free tokens new accounts, 30 days, no cardBaseline; prices trending up
opencode-zendeepseek-v4-flash-free (+ Qwen 3.6 Plus, MiniMax M3, MiMo…)Free, no card, 200k context; rate limits undocumentedCommercial terms unclear — flagged in the preset notes
nous-portaldeepseek/deepseek-v4-flash:freeFree, OAuth-gated, hard rate ceiling that returns errorsThe poster child for fallback; put it first in a chain
kiloV4-Pro, V4-Flash, V3.1 TerminusPay-as-you-go at no markup over provider ratesGood paid-fallback rung
openrouter:free DeepSeek variants + everything elseFree variants throttled; paid at listed ratesWidest catalog, one key
customanything OpenAI-compatible—vLLM/Ollama/SGLang localhost; Qwen/GLM/Kimi official endpoints
groq / together / fireworksDeepSeek hostingfast but pricierLatency upgrades, not savings

How it works

profile ──> provider route "polyglot" (the router meta-adapter)
              │  chain: nous-portal → opencode-zen → deepseek-official → kilo
              ▼
        ctx.llm.stream({provider: "nous-portal", ...})
              │  adapter per real route (OpenAiCompatAdapter, one per preset)
              ▼
        POST {baseUrl}/chat/completions   (SSE, usage, tools)

The router forwards the first attempt that completes. A fallback-eligible failure that arrives before any content flowed — the free-tier ceiling case — swaps to the next provider seamlessly; a failure after content flowed cannot be unwritten and surfaces as a normal error finish. Which provider actually served each turn is durable in the session log (polyglot/served), so /polyglot usage is a pure fold over the log, not plugin-side accounting.

ToS note

Free tiers are often gated for evaluation use (OpenCode Zen's commercial terms are undocumented). Preset notes surface this at configure time — dsh-polyglot does not silently launder usage.

Development

pnpm install
pnpm typecheck    # strict TS
pnpm build        # tsc → lib/
pnpm test         # 56 tests: mock OpenAI-compat server with scripted 429/500/
                  # stream scenarios, golden wire assertions per quirk, and
                  # end-to-end cordis mounts proving fallback + session events

Roadmap

  • v0.2 — per-role chains (planner → paid V4-Pro, executor/summarizer → free Flash); OAuth device flow for Nous Portal; preset auto-update check; provider benchmark/arena integration.
  • Non-goals — proxying non-chat modalities; silent key laundering.