dsh-llm-gate
Manifest valid★ 1Per-provider concurrency gate for DeepSeek Harness LLM requests
dsh-llm-gate
Per-provider concurrency gate for DeepSeek Harness model requests.
If a provider can only serve a fixed number of requests at once (e.g a local llama-server with --parallel 1), every extra request is deferred by the server with nothing sent back. The client cannot tell "waiting for a slot" from "dead", and Node HTTP layer times out after 300 seconds with terminated. In practice this happens when there is overlap between a subagent and the main agent or compaction and the agent.
This plugin holds surplus requests inside dsh instead. A request waits in a FIFO queue before any HTTP request is made so no timeout is running while it waits. When a slot frees, the next request is dispatched.
Install
dsh plugin --profile web add dsh-llm-gate
Then configure the providers to gate in ~/.dsh/profiles/web/cordis.patch.yml:
- id: llm-gate
config:
providers:
llamacpp:
maxConcurrent: 1
maxQueued: 16
queueTimeoutMs: 3600000
The provider key is the route name from your llm-pi-ai.providers (or other adapter) settings. Providers not listed are not gated. Restart dsh web and open a new session.
Check the composed config with dsh --profile web --dump-config.
Settings
| Setting | Required | Meaning |
|---|---|---|
maxConcurrent | yes | Requests allowed in flight to this provider. For llama.cpp, match --parallel. |
maxQueued | no | Requests allowed to wait. Beyond this, a request fails at once with QUEUE_FULL. Default: unlimited. |
queueTimeoutMs | no | Longest a request may wait for a slot before failing with QUEUE_TIMEOUT. Default: wait indefinitely. |
Queue failures end the turn with the code shown. They are not retried by dsh-llm-retry.
What you will see
The plugin prints a line to the dsh terminal only when a request has to wait:
llm-gate: llamacpp session=a61e6e40 queued (depth 1)
llm-gate: llamacpp session=a61e6e40 dispatched after 5730ms
purpose=compaction or purpose=session-title is added for auxiliary requests. Requests that get a slot immediately print nothing.
Notes
- This gate serializes requests so it does not make a single-slot server faster. For parallelizing, give llama.cpp more slots (
--parallel 2 --kv-unified) and raisemaxConcurrentto match. - Waiting time is not counted by the adapter's
streamIdleTimeoutMsbecause the adapter is not called until the slot is acquired. You still needstreamIdleTimeoutMslarge enough for your prompt processing time (see thellm-pi-aiprovider settings). - A queued request is cancelled through its abort signal. Dropping the stream without aborting leaves the request queued until a slot frees, at which point it dispatches and is closed immediately.
- Requires the
llmservice; hooks thellm/streamwaterfall, so it covers every model request in the host: agents, subagents, compaction, and title generation.
License
MIT
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
Comments
Loading…
From the same category
by tt-a1i
Agent skill for beautiful, verifiable architecture, workflow, sequence, data-flow, and lifecycle diagrams—self-contained HTML with motion and crisp export.
★ 69.8k
↓ 3.5k/wk
MIT
JavaScript
Sep 22, 2026
dsh plugin --profile web add @tt-a1i/archify-dshby Devin-AXIS
Enterprise-grade, local-first Agent Workbench for people and agent teams. A unified multi-engine workspace for Codex Harness, DeepSeek Harness, and OpenCode, with unified plugins and Skills, multi-age
★ 6.6k
↓ 440/wk
NOASSERTION
TypeScript
Sep 22, 2026
dsh plugin --profile web add deepseek-idesignby Q00
Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,
★ 6.1k
MIT
Python
Sep 21, 2026
by omdsh-dev
开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,
★ 3.7k
↓ 49.5k/wk
MIT
TypeScript
Sep 22, 2026
dsh plugin --profile web add dsh-better-sidebarby whiteguo233
本地私有、开源的自进化跨平台 AI 内容发现 Agent:先理解你,再主动从 B站、小红书、抖音、YouTube、X、知乎、Reddit、微博等平台与开放 Web 寻找内容。(支持 deepseek harness 插件) | Local-first open-source cross-platform AI content discovery agent: understands you, th
★ 3.3k
MIT
Python
Sep 22, 2026
by chuspeeism
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3.2k
Apache-2.0
JavaScript
Sep 21, 2026