dsh-infron-provider
Infron models in DeepSeek Harness.
Adds one infron provider route to DeepSeek Harness: the gateway's OpenAI-compatible streaming API, its
live model catalog, and a Models-page card for the API key and the models you want to expose.
Install
dsh plugin --profile web add github:gintasz/dsh-infron-provider
No npm package is needed. The plugin declares no runtime dependencies: the harness packages it extends
resolve from the running installation. An npm copy, if you ever want the in-app Plugin Hub listing, installs
with dsh plugin --profile web add dsh-infron-provider.
Restart the app, then open Settings → Models → Infron, paste the key, and press Save. Leave the model list on All models from the gateway, or select a subset. The composer then offers an Infron group.
Configure
Every field is live; edits apply to the next request without a restart.
| Field | Default | Meaning |
|---|---|---|
apiKeyEnv |
INFRON_API_KEY |
Credential reference resolved through the credential seam |
baseURL |
https://llm.onerouter.pro/v1 |
OpenAI-compatible root; INFRON_BASE_URL overrides it per launch |
models |
[] |
Empty serves the live catalog; a list serves exactly those entries |
reasoningEffort |
medium |
Route default; off sends no reasoning hint |
catalogRefreshMinutes |
360 |
Background catalog refresh; 0 disables it |
streamIdleTimeoutMs |
300000 |
Longest tolerated gap between stream events |
maxTokensField |
max_tokens |
Switch to max_completion_tokens for strict gateways |
retryPolicy |
normal, 5 retries | Passed to the harness retry executor |
Models that report no capacity fall back to defaultContextWindow (131072) and defaultMaxTokens (32768).
The card writes through the settings service, so the profile patch stays the source of truth. The key is
separate: it is stored write-only under apiKeyEnv and never enters cordis.patch.yml. An exported
INFRON_API_KEY works too.
What it does
- Streams text and reasoning deltas, and validates streamed
tool_callsbefore completion. - Sends images to vision models; text-only models get the harness placeholder text.
- Reports prompt, completion, and cached-prompt tokens per step.
- Aborts with the turn and bounds a stalled stream with an idle watchdog.
- Fetches
GET /v1/modelsat mount, on a configurable interval, and on demand from the card. Only streamableLLMrows with anopenaiendpoint are advertised. - Surfaces effort as the gateway hint
reasoning: { effort }.
Limits
- OpenAI Chat Completions only; routes that publish just an Anthropic or Responses endpoint are not served.
- No provider replay state: assistant content is sent provider-neutrally.
- Tool-result images become a following user message, because a
toolmessage only carries text. - The Models card keys on the loader entry id
llm-infron; renaming that entry hides the card.
Develop
Tests import the harness packages this plugin extends, so point the checkout at a DSH installation first:
mkdir -p node_modules
ln -sfn /path/to/dsh/node_modules/@deepseek-ai node_modules/@deepseek-ai
node --test test/
License
MIT. See LICENSE.
No comments yet. Be the first to write one.