MicroHEROX/dsh-unsloth-hands
dsh-unsloth-hands
Unsloth for DeepSeek Harness — a pure-client tool plugin that connects the DeepSeek Harness online model to a locally running Unsloth Desktop for repetitive text and vision (OCR) labor.
Install
npx @deepseek-ai/dsh plugin --profile <name> add dsh-unsloth-handsRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-unsloth-hands)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from MicroHEROX/dsh-unsloth-hands, cleaned of badges and images.
Unsloth for DeepSeek Harness
dsh-unsloth-hands — give your DeepSeek Harness agent a pair of local hands.
A third-party tool plugin for DeepSeek Harness that lets the online model (your main conversation model) hand repetitive, token-cheap labor to a local Unsloth Desktop (Unsloth Studio) server — plain text work and vision work (image analysis / OCR / comparison).
The main model stays where your deployment puts it. When it decides a job is better done locally, it calls:
unsloth_run— run one prompt on the local text model (batch rewrites, name translations, string munging, short summarization, extraction).unsloth_vision— send images to the local multimodal model (OCR, image analysis, multi-image comparison) with structured report templates.
The plugin is a pure client: it only connects to the Unsloth Desktop you are already running. Model selection, downloading, quantization and context settings all happen in the Unsloth app itself — the plugin never starts, owns, or stops any process, and never kills anything.
✨ What it does
- Two model-facing tools registered on the harness tool registry (
ctx.tools), following the officialdsh-toolscontract (defineTool, canonical JSON values, pure render/presenters,exec.signalforwarding). - Authenticated wire calls: every request carries
Authorization: Bearer sk-unsloth-…. The key comes from theapiKeyconfig or theUNSLOTH_API_KEYenvironment variable (create it in Unsloth Settings → API). - Friendly failure modes: before each call the plugin probes
/v1/models; if Unsloth Desktop is not running you get a clear, actionable error instead of a generic network failure. A wrong/missing key surfaces asAUTHwith a hint. - Text + vision wire support: non-streaming OpenAI-compatible chat-completions; images sent as the standard multimodal
contentarray. - Three image sources for the vision tool: local file paths,
data:/http(s):URLs, or the images attached to the current conversation (read through the harness attachment service). - Structured vision prompts — machine-verifiable report contracts:
analyze(8-section report),ocr(character-exact),compare(multi-image, 5-section) — plus a fidelity rule for the online model (relay verbatim, never invent, preserve uncertainty). - Live config: a
llm-unsloth:section in the harness user-settings document overrides the plugin config without a restart. - Safe by construction: nothing is ever spawned or killed — the plugin only talks HTTP to your Unsloth Desktop.
🚫 What it does NOT do
- Does not replace the harness LLM provider — the online model stays the main model; the local model is only reached through the two tools.
- Does not launch, configure, or stop Unsloth — you run Unsloth Desktop and load the model you want (quantization, context size, GPU settings) in its UI.
- Does not modify any DeepSeek Harness or Unsloth file; it is a pure add-on plugin.
- Does not bundle or host GGUF model files — Unsloth downloads and caches them for you.
- Does not stream responses (tool calls get the full answer in one round trip).
📋 Requirements
…


