dsh-qwen38-local-qol
DeepSeek Harness QoL plugin for the local Qwen3.8 line (27B, Flash-Next): per-request thinking budgets on llama.cpp, NInfer, TabbyAPI, and oMLX dialects, vision + tools, and a compaction backend whose summaries stop burning the output cap on thinking.
What it is
DeepSeek Harness QoL plugin for the local Qwen3.8 line (27B, Flash-Next): per-request thinking budgets on llama.cpp, NInfer, TabbyAPI, and oMLX dialects, vision + tools, and a compaction backend whose summaries stop burning the output cap on thinking.
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/Yunado/dsh-qwen38-local-qol.git#66550d95598164c67b0a7822fc492a32f3817b14'
DSH versions accepted
^0.2.0-rc.2
Author and traction
Yunado · ★ 25 · Updated 2026-11-08
About this plugin
dsh-qwen38-local-qol
[English](#dsh-qwen38-local-qol) · [中文](#中文)
[](https://awesome-dsh-plugin.com/p/Yunado/dsh-qwen38-local-qol/) · [](https://dsh-plugin.org/plugins/yunado/dsh-qwen38-local-qol) · [](https://dshfind.com/zh/plugins/Yunado/dsh-qwen38-local-qol?ref=badge) · [](https://github.com/Yunado/dsh-qwen38-local-qol/blob/main/LICENSE)
[](https://www.dsh.so/artifact/dsh-qwen38-local-qol/) · [](https://www.dsh.so/artifact/dsh-qwen38-local-qol/) · [](https://www.dsh.so/artifact/dsh-qwen38-local-qol/) · [](https://www.dsh.so/artifact/dsh-qwen38-local-qol/)
A QoL plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) for running Qwen3.8 locally, with no core patches and no pi-ai patchfile.
- Model support: Qwen3.8-27B · Qwen3.8-Flash-Next
- Serving engines: llama.cpp
llama-server· NInfer · TabbyAPI (ExLlamaV3) · oMLX (Apple Silicon MLX) - Note: the llama.cpp lane is the standard OpenAI-compatible
/v1API - any server speaking it is expected to work there (Strata, Unsloth Desktop, LM Studio).
Install
dsh plugin --profile web add github:Yunado/dsh-qwen38-local-qol#v0.3.8
Recommended: pin a release tag (newest tag listed on [Releases](https://github.com/Yunado/dsh-qwen38-local-qol/releases)); drop the #tag fragment to track main, the bleeding edge.
Restart dsh web: the plugin's bundle patch declares the qwen38 agent preset (full roster with the qol compaction backend) and points the profile default at it when no default is configured - nothing is generated on disk at boot. New sessions use it automatically; existing sessions keep the preset they were created with.
You can also pin a specific release: add a tag to the spec (#v0.3.8 or any past release). See [Releases](https://github.com/Yunado/dsh-qwen38-local-qol/releases) for what each tag pins and how to upgrade from it. Pinning a tag is the recommended setup - main is the bleeding edge (unreleased fixes and experiments land there first); move off a tag only when you actually want the newest changes.
DSH compatibility
| DSH host | Plugin | Status |
|---|---|---|
| 0.2.2-alpha.2 and newer (production runs 0.2.2-alpha.2) | #v0.3.8 | tested (production, first on #v0.3.4); v0.3.3 and older presets fail to mount there: upstream merged list_agents into the control plugin and dropped the @deepseek-ai/dsh-tool-subagent-control/list-agents export the qwen38 roster row referenced
| 0.2.1-alpha.1 - 0.2.2-alpha.1 (production ran 0.2.1-rc.2) | #v0.3.3 | tested (production, 0.2.1-alpha.1 and 0.2.1-rc.2); older plugin tags fail every turn there, the host removed the built-in {{cwd}} prompt variable |
| 0.2.0-rc.2 | #v0.3.2 or #v0.3.3 | tested (production); v0.3.3 only removes content on top, no new host requirements |
| 0.1.7-alpha.1 - 0.2.0-rc.1 | #v0.3.3 | should work - same seam batch, not exercised |
| 0.1.6-alpha.2 and older | #v0.2.0 | supported line |
main targets the 0.2.2-era preset roster; stay on #v0.2.0 with older hosts.
Upgrading from v0.2.0 (host first, then plugin):
# 1) update the DSH host to 0.2.0-rc.2 or newer (normal host update). # 2) re-pin the plugin (profile dir; Windows: %USERPROFILE%\.dsh\profiles\web): cd ~/.dsh/profiles/web npm pkg set 'dependencies.dsh-qwen38-local-qol=github:Yunado/dsh-qwen38-local-qol#v0.3.8' pnpm install rm -rf ~/.dsh/.agent-presets/qwen38 # optional: old boot-generated preset (superseded, inert) # 3) restart dsh web. Sessions already on qwen38 keep working (same id, new # declaration). For new sessions: if a different preset is your default, # pick Qwen38 on the Agent presets page. Then open Settings -> Qwen3.8 # Local and fill the line config once (the old settings.yaml section is # not read by the new storage).
What it supports
- Per-request thinking budgets. The llama.cpp line sends the selected per-effort budget on every request (
reasoning_effort+reasoning_budget_tokens, overrides the server's--reasoning-budget); the NInfer engine reads its single thinking budget from the server startup flag (--default-thinking-budget); the settings tab shows that as a note on the NInfer line (no input), whiledefaultThinkingBudgetstays valid as a headless/env config field; the TabbyAPI line accepts both natively; the oMLX line (Apple Silicon MLX) accepts native top-levelthinking_budgetandchat_template_kwargs.enable_thinking, so per-effort budgets ride every request. - A compaction backend. The summarizer's prefill is trimmed (recent reasoning only, images downgraded to text placeholders, tool results capped), and each compaction call's output cap is derived per call from the trimmed prefill and the active line's window (never below the line's full output cap, raised when the window affords it, and a prefill that cannot fit either is refused before the call with the geometry numbers named), running thinking-off. Checkpoints stop getting truncated at the token cap on small windows, and a geometrically hopeless summary run is never started. The trigger point is a live slider in the settings tab (default 80% of the window).
- Vision in tool results. Image blocks nested in tool results (for example
read_imageoutput) ride the wire instead of being dropped: a resolved image travels inside a multimodal tool message (a content array with animage_urlentry); an unreadable one degrades to the same text placeholder as the user side, so the model sees that an image was there but its pixels were not. - A settings tab that configures all lines, live.
The settings tab
DSH settings → Qwen3.8 Local:
Per-line memory (connection, window numbers, budgets, trim knobs, and the compaction trigger percent). The status dot is green when qwen38 is the default preset, amber when a different preset is the default, gray when the preset is missing. Changes apply live and persist to the profile's plugin config (Cordis patch; hot volatile
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| dsh-our-free-model | Ebony-Vinyl | 68K | 2.1.0 | 2026-11-10 |
| next-ai-draw-io | DayuanJiang | 36.9K | 0.4.10 | 2026-11-09 |
| MemOS | MemTensor | 12.3K | 0.0.0 | 2026-11-09 |
| bisheng | dataelement | 12.2K | 0.0.0 | 2026-11-10 |
| webnovel-writer | lingfengQAQ | 7.9K | 0.0.0 | 2026-11-07 |