DSH Hub

MicroHEROX/dsh-unsloth-hands

dsh-unsloth-hands

BundleVision1 GitHub stars· updated 2026-08-21

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-hands

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-unsloth-hands DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-unsloth-hands.svg)](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 official dsh-tools contract (defineTool, canonical JSON values, pure render/presenters, exec.signal forwarding).
  • Authenticated wire calls: every request carries Authorization: Bearer sk-unsloth-…. The key comes from the apiKey config or the UNSLOTH_API_KEY environment 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 as AUTH with a hint.
  • Text + vision wire support: non-streaming OpenAI-compatible chat-completions; images sent as the standard multimodal content array.
  • 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

Related plugins