DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-local-llm

p

dsh-local-llm

Discovered

Detect, probe and register local OpenAI-compatible LLMs (LM Studio, Ollama, vLLM, llama.cpp) as DeepSeek Harness model providers

dsh-local-llm

Detect, probe and register local OpenAI-compatible LLM servers as DeepSeek Harness model providers.

Works with LM Studio, Ollama, vLLM, llama.cpp server, SGLang, KoboldCpp, text-generation-webui, Jan and LocalAI — anything speaking the OpenAI chat-completions protocol.

Why this exists

Pointing the Harness at http://127.0.0.1:1234/v1 looks trivial and then fails in two specific ways:

1. The context window is too small. The Harness system prompt plus tool schemas is roughly 30,000 tokens before you type anything. A server loaded with the common default of 8192 tokens rejects every request:

request (30228 tokens) exceeds the available context size (8192 tokens)

2. The server rejects the developer role or reasoning_effort. Many local chat templates do not understand these OpenAI extensions and answer with a 400.

Both are detectable before writing configuration. This plugin probes for them and writes only the switches the endpoint actually needs.

Settings panel

The bundle also adds Settings → Local LLM: enter a host and ports, scan, and each endpoint appears as a card showing its vendor, loaded/max context window, and tool-calling support. Pick a model and click Register as provider — no hand-written YAML.

The panel talks to the Host through two same-origin routes registered on ctx.webServer (/local-llm/scan, /local-llm/register), because a plain-JS Client module cannot call Host services directly.

Tools

local_llm_scan

Probe well-known ports for reachable servers.

ArgumentTypeDefaultMeaning
portsinteger[]1234, 11434, 8000, 8080, 5000, 3000, 7860, 8888Ports to probe
hoststring127.0.0.1Host to probe
probebooleanfalseRun capability probes
apiKeystring—Bearer token for servers that require one

With probe: true each endpoint is additionally checked for:

  • loaded context window (via LM Studio's native /api/v0/models, which reports loaded_context_length separately from max_context_length)
  • tool calling — a real round trip with a get_weather schema, verifying the model emits tool_calls with parseable arguments
  • developer role and reasoning_effort acceptance

Endpoints that would fail are flagged with warnings.

local_llm_register

Write a working provider entry into the llm-pi-ai config.

ArgumentRequiredMeaning
providerIdyesRoute name, lowercase-hyphenated (local-lmstudio)
baseUrlyesOpenAI-compatible URL including /v1
modelIdyesModel id exactly as the server reports it
displayNamenoLabel in the model selector
contextWindownoUse the loaded context, not the model maximum
maxTokensnoOutput cap, defaults to 8192
apiKeynoLocal servers ignore the value; the client still needs the header
supportsDeveloperRolenofalse writes compat.supportsDeveloperRole: false
supportsReasoningEffortnofalse writes compat.supportsReasoningEffort: false
supportsImagesnoDeclares input: ["text", "image"]
dryRunnoReturn the config without applying it

Changes take effect on the next model request — no restart.

Install

git clone https://github.com/philo-max/dsh-local-llm

Then install the directory as a bundle in the Harness profile. The plugin mounts itself through cordis.patch.yml; no manual profile editing is required.

Configuration

- id: local-llm
  name: 'dsh-local-llm'
  config:
    host: 127.0.0.1
    ports: [1234, 11434, 8000, 8080]
    probe: true
    timeoutMs: 5000

All fields are optional.

Worked example: LM Studio

local_llm_scan { probe: true }
{
  "baseUrl": "http://127.0.0.1:1234/v1",
  "vendor": "lmstudio",
  "models": ["gemma-4-12b-it-qat-uncensored-heretic-v3"],
  "context": { "loadedContext": 32768, "maxContext": 262144 },
  "tools": { "supported": true },
  "compat": { "supportsDeveloperRole": true, "supportsReasoningEffort": true }
}
local_llm_register {
  providerId: "local-lmstudio",
  baseUrl: "http://127.0.0.1:1234/v1",
  modelId: "gemma-4-12b-it-qat-uncensored-heretic-v3",
  contextWindow: 32768
}

Note contextWindow: 32768 uses the loaded value. Declaring the 262144 maximum would let the Harness build requests the server then rejects.

Gotchas worth knowing

Sliding-window models need far less VRAM than they appear to. Gemma 4 keeps 40 of 48 layers on a 1024-token sliding window, so KV cache stays small: 128k context measured 7.7 GB of VRAM on an 8 GB laptop GPU. LM Studio's --estimate-only assumes full attention and overestimates by 2–3×. Trust a real load over the estimate.

Reasoning models can spend the whole budget on the chain of thought. A Gemma 4 12B test with max_tokens: 200 returned an empty content because all 200 tokens went to reasoning_content. Give at least 1000–2000 output tokens or you will see blank replies.

GGUF cannot be abliterated. Directional ablation needs full-precision weights; a .gguf is already quantized. Download the original safetensors if you intend to modify a model.

License

MIT

Comments

Loading…

Similar plugins

dsh-llm-lmstudio

by Viktirr

LM Studio (OpenAI-compatible local server) adapter plugin for DeepSeek Harness

Manifest valid

★ 0

TypeScript

Sep 6, 2026

dsh plugin --profile web add dsh-llm-lmstudio

by songzhiyin

Registers a local LLM provider that routes model calls to an OpenAI-compatible endpoint or the Ollama native API, with a connection-test card in the Models settings page and no account sign-in.

Models & ProvidersManifest valid

★ 3

MIT

JavaScript

Oct 14, 2026

dsh plugin --profile web add dsh-local-model

by PerryLink

Local-model (Ollama) integration for DeepSeek Harness: discover, pull, remove, and inspect local models, route requests to them by task type or keyword with automatic fallback to the cloud, and get a

Models & ProvidersManifest valid

★ 23

↓ 1.4k/wk

Apache-2.0

TypeScript

Oct 27, 2026

dsh plugin --profile agent add dsh-local-ai

by Vmarcelo49

Use local models via Llama.cpp on your deepseek harness

Manifest valid

★ 0

MIT

JavaScript

Sep 5, 2026

dsh plugin --profile web add dsh-local-models

by 173787247

Probes Windows-host Ollama, LM Studio, vLLM, and llama-server from WSL, compares ctx, and reports /v1/models apiReady versus TCP.

Tools & CapabilitiesDevelopment & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 30, 2026

dsh plugin --profile web add dsh-wsl-hostsvc

by robbywang25

DeepSeek Harness plugin for local MLX-LM models with loopback-only defaults and optional managed server startup

Development & InfrastructureModels & ProvidersManifest valid

★ 0

MIT

TypeScript

Sep 6, 2026

dsh plugin --profile web add dsh-llm-mlx