daruma
Daruma — resilience plugin for DeepSeek Harness: fails over to another model/channel when a flaky third-party API kills a long task.
一句话定位
Daruma — resilience plugin for DeepSeek Harness: fails over to another model/channel when a flaky third-party API kills a long task.
安装方式
在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。
$ dsh plugin --profile web add daruma@0.2.1
兼容的 DSH 版本
未声明
作者与热度
SISCHOI · ★ 121 · 更新于 2026-11-04
关于这个插件
daruma
English · 中文 Daruma — automatic failover & backup channels for DeepSeek Harness
DeepSeek Harness (DSH) is a great place to run long agent tasks — until a third-party API subscription hiccups. Rate limits (429), server errors (500), network jitter, provider-side model stalls, moderation gatekeeping: any of them kills a long-running task mid-flight. Daruma catches the failure and fails over to another channel, so the session keeps going without you. Screenshots
The daruma control lives at the right end of the composer tool row, next to the model selector; clicking it opens the backup-channel picker.
What it does Automatic failover. When the current model/channel trips after repeated failures (or hits a terminal error like QUOTA / INVALID_CREDENTIAL / CONTEXT_WINDOW_EXCEEDED), daruma switches the *next* request to another channel in your configured chain. The in-flight generation continues on the new channel — no lost sessions. The switch is recorded in the audit log below, not as a row inside the conversation: a plugin session event of an unknown type makes current harnesses refuse to load that session. Circuit breaker with persistent, self-healing state. Each channel carries a health record (failures, cooldown) persisted to ~/.dsh/daruma/channel-health.json. A tripped channel stays cooled down across restarts — and the first successful request closes the circuit again, so recovered channels never linger as zombie COOLDOWN entries. Backup channel UI. A compact status dock next to the model selector shows overall health and your current backup. The backup panel lists candidate models per provider and lets you set/clear the backup channel manually — picked from real traffic, no synthetic speed tests. The same picker is also a Backup channel section in Settings, beside the other
Daruma rides three of DSH's native extension points: The host exposes no request-success event, so success is *inferred*: an agent whose previous model request never tripped agent/request-error is considered healthy at its next step boundary or turn close. Install
Also listed in the community awesome-dsh-plugin market (searchable via dshmarket). Configure
Add a failover chain to your profile's cordis.patch.yml: ⚠️ Every chain channel must exist in your settings.yaml providers. A channel whose provider is missing there gets armed on failover, burns one budget slot, and fails again — the chain effectively loses a link. (This bit the author once: a removed provider left a dead channel first in line.) ⚠️ Test profiles must isolate stateFile. If you point a mock/test profile at the default file, mock channels pollute your production health records. Set stateFile (and the co-located logFile follows) to a profile-local path — see docs/e2e-test.md.
When the primary starts returning 429, daruma trips it and continues on the next channel. Then either click the channel-status dock next to the model selector, or open Settings → Backup channel → pick a backup channel from the candidate list; the backup is tried before the configured chain. Auditing failovers
Every decision lands as one JSON line in ~/.dsh/daruma/failover-log.jsonl — one boot line per plugin start (aligning restart boundaries), then one line per failover / give-up:
相似插件
dsh-computer-use-win
Windows computer use for DeepSeek Harness: an MCP stdio server + PowerShell UIA backend, bridged into DSH via @deepseek-…
Invoice-Downloader
电子发票整理与报销准备工具:从邮箱批量收集 PDF/OFD/XML 发票,OCR 识别、分类归档并生成 Excel 汇总;提供 Windows/macOS 桌面版与 DSH 插件。
dsh-industry-research
Industry and company research domain pack for DeepSeek Harness: methodology skills, an industry-chain structure model (i…