Boomerangz/dsh-openrouter-live ↗★ 0
dsh-openrouter-live
OpenRouter provider for DeepSeek Harness with a live model list: every model OpenRouter serves, with context sizes, reasoning levels and image input read from its /models endpoint. 适合需要使用OpenRouter提供的各类模型,并获取上下文大小、价格等实时信息的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Boomerangz/dsh-openrouter-liveConfiguration
Every field is optional. Set fields in the profile's patch layer, ~/.dsh/profiles/ /cordis.patch.yml, under the plugin's entry id openrouter-live:
- id: openrouter-live
config:
models: ['deepseek/*', 'anthropic/claude-*', 'openai/gpt-5*']
extraBody:
provider:
sort: throughput
| Field | Default | Meaning |
|---|---|---|
models | [] | Glob patterns over model ids. An empty list lists every model. Ids outside the filter still work when typed. |
toolsOnly | true | List only models whose OpenRouter entry accepts tools. Agent turns need tools. |
priceInName | true | Append input/output prices per 1M tokens to model names, such as DeepSeek: DeepSeek V4.1 Flash ($0.15/$0.60), because the pickers show names but not descriptions. The price then also appears in the composer's model button. |
apiKeyEnv | OPENROUTER_API_KEY | Credential reference: a credential-store entry or environment variable. |
provider | openrouter-live | Route id. Give each instance its own id to run several side by side, for example one with a *:free filter. |
displayName | OpenRouter (live) | Provider name in the picker. |
baseURL | https://openrouter.ai/api/v1 | API root. |
modelListTtlMs | 600000 | How long one fetched model list is reused. |
maxTokens | 32768 | Output cap for requests that set none. A lower model limit wins. |
defaultContextWindow | 262144 | Context size assumed for an id the list does not describe. |
streamIdleTimeoutMs | 300000 | Longest silence inside a response stream before failing with TIMEOUT. |
maxRequestImageBytes | 20971520 | Base64 image budget per request. Older images are offloaded beyond it. |
requestImagePixelBudget | 4194304 | Pixel budget of one request image. |
requestImageMaxBytes | 1048576 | Encoded-byte target of one request image. |
appTitle / appUrl | DeepSeek Harness / unset | OpenRouter app attribution headers (X-OpenRouter-Title, HTTP-Referer). |
extraBody | {} | Fields merged into every request body, such as provider routing. Fields the plugin sets take precedence. |
costLedgerPath | $DSH_HOME/openrouter-live/costs.jsonl | Spend ledger file. An empty string keeps spend in memory for the current process only. |
costCommand | cost | Slash command that reports spend. Leave it empty on a second instance that shares the ledger, so the command is registered once. |
costIndicator | true | Serve the Web UI spend indicator's data route (/openrouter-live/spend). Disable it on a second instance, which would otherwise claim the same route. |
retryPolicy | harness default | The harness's provider retry policy for this route: {mode: normal, maxRetries, retryableCodes, backoff} or {mode: always}. |