Saltar al contenido principal
H

dsh-omni-workstation

huashenglian/dsh-omni-workstation

Estación de trabajo omnimodal para DSH: analyze_image sobre una cadena ordenada de conmutación por error VLM de varias tarjetas, un conjunto de seis herramientas de visión (zoom, muestreo de color, diferencia de píxeles, OCR, detección de elementos y visualización en línea) que comparten el mismo resolutor de imágenes, generate_image mediante los protocolos OpenAI/DashScope/ComfyUI, generate_video asíncrono con varias tarjetas y un constructor /build-video-tool, y speak/clone_voice TTS en siete proveedores, todo gobernado por una única página de ajustes con autoguardado.

Instalar

dsh plugin --profile web add github:huashenglian/dsh-omni-workstation

README

dsh-omni-workstation

dsh-omni-workstation cover

version license platform

English | 中文

An omni-modal workstation plugin for DeepSeek Harness (dsh). It gives the AI eyes, a brush, a camera and a voice: image analysis backed by an ordered multi-card VLM failover chain, a 6-tool local vision toolkit, image generation (incl. ComfyUI workflows), multi-card async video generation with an AI tool builder, and TTS / voice cloning across 3 cloud + 4 local providers — all configured from one auto-saving settings page (English / 中文).

Feature Overview

ModuleToolHighlights
VLManalyze_imageOrdered API card list, single-request failover, per-card timeout, JPEG→PNG fallback, 28 built-in providers, mirror models, dynamic multimodal adaptation
Vision Toolkitzoom_image · sample_colors · image_diff · ocr_image · detect_elements · show_image4 tools are pure-local (zero tokens); shared image resolution + card chain; artifact paths only
Image Gengenerate_imageOpenAI / DashScope / ComfyUI protocols, multi-workflow management with role mapping, reference-image support, auto verify reminder
Videogenerate_video (+ per-card names)Multi-card (limit 10), 7 protocols, /build-video-tool AI builder with custom-adapter runtime
Voicespeak · clone_voiceMiMo / MiniMax / Doubao + IndexTTS / GPT-SoVITS / VoxCPM / TTS-WebUI; zero-registration inline & persisted cloning

Every module has its own switch — turning one off unregisters its tools completely (0 token cost) while keeping your configuration.

Why a plugin instead of a Skill or a fixed script

ApproachTypical painWhat this plugin does
Long Skill text (official-API recipes)A big instruction dump every turn — expensive tokensConfig lives only in the settings page / omni-vision.json; tool schemas inject only when a module is on
Fixed scripts (hand-written API calls)Locked in a project folder; you must restate path and usage each timeTools register into the harness — the AI finds and reuses them automatically
Changing config / switching modelsEdit scripts or re-paste the Skill bodyChange a field in Settings; it takes effect immediately

In short: less context, ready to use, config without code.

Custom tools (video)

Today you can AI-build a custom video tool: type /build-video-tool in chat. The plugin injects a build guide (card limit, existing tools, hard constraints); the AI collects the platform details and writes a new card plus a callable tool — no hand-written script, no re-pasting API docs.

build-video-tool chat example

[!TIP] Card limit defaults to 10; the command errors out when the cap is hit. Custom tools run on the custom-adapter runtime — see the video docs.

Settings Panel

VLM tab Image Gen tab

Video tab Voice tab

Settings → Omni Workstation — four tabs (VLM / Image Gen / Video / Voice) plus a global settings tab. Every edit auto-saves and takes effect immediately; no Save button.

Requirements

  • dsh CLI (DeepSeek Harness) with a web profile installed
  • pnpm on PATH (or use npx --yes pnpm@<version>)

Install

The plugin is a bundle: it carries its own cordis.patch.yml and self-activates — one command, no manual patch editing.

# From a local directory
dsh plugin --profile web add ./dsh-omni-workstation

# From GitHub
dsh plugin --profile web add github:huashenglian/dsh-omni-workstation

# From a packed tarball (pnpm pack / npm pack)
dsh plugin --profile web add ./dsh-omni-workstation-0.1.0.tgz

dsh plugin add installs the dependency and appends the bundle to dsh.profile.bundles automatically.

[!NOTE] Do not add a manual - insert: - id: omni-workstation row to the profile cordis.patch.yml — the bundle already inserts it. A second insert throws duplicate loader entry id: omni-workstation at boot.

Manual alternative: put the package under $DSH_HOME/profiles/web/plugins/dsh-omni-workstation/, add "dsh-omni-workstation": "file:./plugins/dsh-omni-workstation" to the profile package.json dependencies and "dsh-omni-workstation" to the dsh.profile.bundles array, run pnpm install, then restart dsh web.

Quick Start

  1. Restart dsh web and open Settings → Omni Workstation.
  2. On the VLM tab, click Add Model (or edit the default card): pick a provider, paste your API key, fetch and pick a model.
  3. Send the AI an image (or a local path) and ask about it — the analyze_image tool is now live.

All configuration lives in a single JSON file, omni-vision.json, stored inside the plugin installation directory (git-ignored; contains real API keys — never commit it). The settings page reads and writes this file; you can also edit it directly while dsh web is stopped:

{
  "retryCount": 3,
  "vlmEnabled": true,
  "apis": [
    {
      "id": "c_yyy",
      "name": "VLM API",
      "provider": "custom",
      "protocol": "openai-completions",
      "endpoint": "https://api.example.com/v1",
      "apiKey": "sk-...",
      "model": "gpt-4o",
      "timeoutMs": 120000
    }
  ]
}

How It Works

The package is dual-face:

  • Host half (lib/index.js) — a cordis plugin: registers tools on the global tools registry and /omni/* web routes; loads and persists omni-vision.json; provider-gated tool registration re-syncs on config changes.
  • Client half (lib/client.js) — the browser module (loaded via the dsh.client entry): registers the Settings → Omni Workstation section and its locale namespace (settings.omni-workstation).

Documentation

Uninstall

dsh plugin --profile web remove dsh-omni-workstation

This removes the dependency and the bundle entry. Your omni-vision.json config file is left untouched.

License

MIT

Plugins relacionados