huashenglian/dsh-omni-workstation ↗★ 7
dsh-omni-workstation
Omni-modal workstation plugin for DeepSeek Harness: analyze_image + 6 vision toolkit tools (zoom/sample_colors/image_diff/ocr/detect/show), generate_image, and generate_video (t2v/i2v async-task). Backed by an ordered multi-card list (OpenAI/Anthropic/Gemini protocols; Custom/Ollama plus 28 built-in fixed providers), Tabbed settings (VLM / Image Gen / Video / Mirror / Fallback), single-request failover, mirror model routing, JPEG->PNG re-encode fallback, and an auto-saving web settings page.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:huashenglian/dsh-omni-workstation说明文档
阅读完整 README ↗Configuration
All settings live in one JSON file, omni-vision.json. The settings page writes it, and in a terminal-only setup it is the only way to configure the plugin — there are no extra slash commands to memorize.
Where the file lives (highest priority first):
| # | Path | When it is used |
|---|---|---|
| 1 | $DSH_OMNI_WORKSTATION_CONFIG_DIR/omni-vision.json | test / advanced override only |
| 2 | ~/.dsh/omni-vision.json — or $DSH_HOME/omni-vision.json when DSH_HOME is set | recommended; used whenever it exists, and the default target for a new install |
| 3 | `~/.dsh/profiles/ | |
| /node_modules/dsh-omni-workstation/omni-vision.json` | legacy location (v2.5–v2.13); still honoured while no home file exists |
On Windows: C:\Users\\.dsh\omni-vision.json. Everything the plugin persists lives next to that file: omni-vision.json.bak (recovery copy), omni-vision.schema.json (editor completion), voice-library/ (cloned voice samples) and transcripts/ (STT output).
[!TIP]
- Hand edits apply without a restart. The plugin re-reads the file on the next agent step and re-registers tools accordingly.
- The boot log prints the resolved path and which modules are live, e.g.
[dsh-omni-workstation] config: /home/you/.dsh/omni-vision.json (home) | vlm=on(2 cards) toolkit=on …. Check it if you are unsure which file is in use.- A JSON syntax error is reported with the path and never overwrites your file — the plugin keeps running on the last good
.bak(in memory) until you fix it.- The file holds real API keys: never commit it. The plugin writes
"$schema": "omni-vision.schema.json"on every save, which gives editor autocomplete + validation; add that single line yourself only if you created the file outside the plugin (see configuration reference).- Moving a legacy config to the stable location:
cp ~/.dsh/profiles/web/node_modules/dsh-omni-workstation/omni-vision.json ~/.dsh/(PowerShell:Copy-Item ~/.dsh/omni-vision.json). The home file wins from then on.
Minimal hand-written config — one VLM card is enough to make analyze_image live:
{
"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
}
]
}