oh-my-dsh

by llmpolska

0 模型与账号接入github收录于 08-21

面向 DeepSeek Harness 的分级模型路由:think/build 模型分级、视觉委派(视觉模型只负责描述图片,工作模型负责执行操作)、图片生成,以及高影响操作守卫。

Tiered model routing for DeepSeek Harness: think/build model tiers, vision delegation (the vision model only describes images; the working model acts), image generation, and a high-impact guard.

安装

dsh plugin --profile web add github:llmpolska/oh-my-dsh

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

Tiered model routing plugin for DeepSeek Harness — split every session into think and build model tiers, delegate image understanding to a vision model (it only describes — your coding model does the work), and generate images from an ordinary chat model. Configured from a settings tab, no YAML editing.

License: MIT Release Stars

Works on every DSH surface: DSH Desktop, the standalone web profile (dsh web), and the terminal (dsh --profile tui).

Why oh-my-dsh?

Running every step of a coding session on a frontier model is expensive and slow. oh-my-dsh gives the agent tiers: a strong (think) model for planning, architecture and hard debugging, a cheaper (build) model for day-to-day implementation, an automatic vision delegation layer for images (the vision model describes, the working model acts), and an image-generation path — all without switching sessions manually and without YAML configuration.

Features

  • Think / Build tiers — plan mode runs on the strong model, execution on the cheap one (auto mode; per-session override with /omd strong|cheap).
  • Vision delegation (omp-style) — paste a screenshot of a website and say "build this frontend": the vision model describes it in the background and the working tier answers from that description. The image stays in the chat, the session model never switches, and later turns never fail with unsupported content.
  • Image generation — omd_image tool and /omd image <prompt> generate images with a configured chat model (e.g. gpt-5.6-luna on opencode-go, gpt-image-2 via Codex), saved under ./oh-my-dsh-images/.
  • High-impact guard — rm -rf, sudo, force pushes and credential/secret file edits are denied while the build tier executes until the session escalates to think.
  • Failure auto-escalation — repeated model-step errors temporarily escalate to the think tier.
  • Advisor / Reviewer — omd_advisor and omd_review consult the think tier on demand, before risky decisions and high-risk merges.
  • Subagent tiering — omd_worker dispatches bounded task packets to a chosen tier.
  • System prompt section — every session gets a prompt section describing the tiers, the /omd command mapping and the routing rules.
  • Settings tab — providers, models, reasoning efforts, guard and escalation tuning from the "oh my dsh" tab in DSH Desktop settings.

Installation (easy)

Requirements: DeepSeek Harness Desktop (or the dsh CLI) and an internet connection — the dsh plugin command manages pnpm itself, nothing else to install.

Quickstart — install straight from the GitHub repo (no local download)

Install into every surface you use (each profile is independent):

# DSH Desktop app (the profile the desktop app boots — the settings tab lives here)
dsh plugin --profile desktop add github:llmpolska/oh-my-dsh#v0.1.0

# Standalone web app (dsh web / --profile web)
dsh plugin --profile web add github:llmpolska/oh-my-dsh#v0.1.0

# Terminal (TUI)
dsh plugin --profile tui add github:llmpolska/oh-my-dsh#v0.1.0

The #v0.1.0 suffix pins the exact release tag. The package has no build step (no prepare script), so pnpm installs it directly — no allowBuilds configuration is needed. The command also activates the plugin as a profile layer automatically.

Restart

Fully restart DSH Desktop (Cmd+Q → relaunch) or restart the dsh process. The plugin's host half loads at profile boot — a window refresh is not enough.

On boot the plugin:

  1. registers the oh-my-dsh settings namespace and the /omd configuration endpoint,
  2. installs the oh-my-dsh agent preset into $DSH_HOME/.agent-presets and adopts it as the default preset (only when the default is still standard),
  3. installs the vision-describe wrapper on the api-proxy (the image gate is passed via a brief vision header, the turn stays on the working tier, and a background vision description is queued) and the history scrub on llm.streamWithRegistration (image parts are replaced by the description for text-only models),
  4. adopts first-boot defaults: think/build take your session default model, vision takes the first image-capable model of that provider. Everything stays editable in the tab.

New sessions get the preset (existing sessions keep theirs — create a new session to get /omd and the omd_* tools).

Alternative: install from a local tarball (offline / development)

cd oh-my-dsh
pnpm pack                        # produces oh-my-dsh-0.1.0.tgz
dsh plugin --profile desktop add ./oh-my-dsh-0.1.0.tgz
dsh plugin --profile web add ./oh-my-dsh-0.1.0.tgz
dsh plugin --profile tui add ./oh-my-dsh-0.1.0.tgz

A local path install (dsh plugin add /path/to/oh-my-dsh) links the checkout as-is — after changing lib/, just restart the app.

Which surface does what

Surface Settings tab /omd + omd_* tools Vision describe Image generation
DSH Desktop ✅ ✅ ✅ ✅
dsh web (web profile) ✅ ✅ ✅ ✅
TUI / headless — (no settings UI) ✅ (agent plane activates process-wide) — (no image prompts) ✅

The plugin is one codebase: the client half (settings tab) is web-platform, the host half (endpoint, vision wrapper) mounts where a web server exists, and the agent plane (roles, tools, guard, scrub) activates through the preset on web surfaces or process-wide in the TUI, where no preset roster exists.

Usage

Slash commands

/omd status
/omd strong | cheap | auto | off          # per-session tier (think/build aliases work too)
/omd plan                                  # auto + plan mode + think header
/omd models                                # list registered providers and models
/omd set <think|build|vision> <provider> <model> [off|high|max]
/omd subagent <inherit|cheap|strong>
/omd advisor <question>                    # one think-tier consultation
/omd review <focus>                        # think-tier review
/omd image <prompt>                        # generate an image (saved under ./oh-my-dsh-images)

The automatic vision description (visionAuto) is toggled in the settings tab; the describing model is set with /omd set vision <provider> <model>.

Tools

omd_status, omd_route, omd_configure, omd_advisor, omd_review, omd_worker, omd_image.

How the vision delegation works

  1. You send an image → the message appears immediately in the chat, image intact.
  2. The vision model describes the image in the background (one vision call; the description is cached keyed by the image's sha256).
  3. The turn runs on the working tier (think/build): its first request waits for the description, then answers from it — the vision model never runs a turn.
  4. Later turns: the image part in history is replaced by the description for text-only models, so nothing ever fails with unsupported content.

The settings tab

Open DSH Desktop → ⚙ Settings → oh my dsh:

  • Routing: mode (auto/strong/cheap/off), subagent policy, escalation tuning, guard toggle.
  • Think tier: provider + model + reasoning effort.
  • Build tier: provider + model + reasoning effort.
  • Vision tier: picker limited to image-capable models, auto-describe toggle.
  • Image generation: provider picker (registered providers — the plugin derives the base URL and reuses the provider's API key) + model id (e.g. gpt-5.6-luna), size, output directory, and the "image output modalities" toggle. The "custom endpoint" option is the manual fallback (base URL + API key env var/inline key).

For developers

  • lib/index.js — host half: /omd endpoint, vision describe wrapper, preset install.
  • lib/agent.js — agent plane: tier routing, guard, escalation, omd_* tools, prompt section, llm.streamWithRegistration history scrub.
  • lib/client.js — the "oh my dsh" settings tab (plain JS, served by the shell).
  • lib/config.js — settings schema and shared state (incl. the vision description store).

Tests

node --test "tests/**/*.test.mjs"   # 25 unit tests for the guard and tier decisions
node --check lib/index.js && node --check lib/agent.js && node --check lib/client.js

Uninstall

dsh plugin --profile desktop remove oh-my-dsh
dsh plugin --profile web remove oh-my-dsh
dsh plugin --profile tui remove oh-my-dsh
# optionally: delete $DSH_HOME/.agent-presets/oh-my-dsh and the `oh-my-dsh` section
# in $DSH_HOME/settings.yaml, then set the agent-presets default back to standard.

Keywords

deepseek-harness · dsh-plugin · dsh · llm · model-routing · tiered-routing · coding-agent · vision-model · image-generation · open-source · plugin

License

MIT


Built and maintained by LLM Polska — plugins, tools and automations for DeepSeek Harness. https://llmpolska.pl

原始 README: https://github.com/llmpolska/oh-my-dsh/blob/main/README.md ↗

同类插件

查看全部 →
模型与账号接入Anionex

agent-vision-toolkit

为纯文本模型"看图“设计更好的视觉工具箱和技能,支持多图理解,图片问答,前端UI还原、GUI 自动化等,并可选无缝接入多个主流agent,直接识别粘贴图片| A vision toolkit and skill designed for text-only llms — image Q&A, long-screenshot OCR, frontend UI restoration, and GUI automation, with optional seamless integration for Codex, Claude Code, Pi, Oh My Pi, and OpenCode

查看详情
928github+08-16
模型与账号接入toby-bridges

api-relay-audit

从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。

查看详情
791github+08-21
模型与账号接入ZJU-LLMs

OpenStory

✨ OpenStory 现已支持 DeepSeek Harness 插件! 现在可以通过 dsh-openstory 将 OpenStory 多智能体推演接入 DeepSeek Harness,让 agent 直接启动模拟、查看角色、下达指令并逐回合推进故事。查看 DSH 插件配置与使用指南。

查看详情
377github+08-17
模型与账号接入pulseaiclub

phi

pi的编码代理 ∞ 提供者、子代理、hashline编辑和权限门

查看详情
89github+08-16
模型与账号接入anysearch-team

anysearch-dsh

DeepSeek Harness(DSH)的 AnySearch 网络搜索提供方与高级搜索工具。

查看详情
79github+08-17
模型与账号接入kuangre123

codex-switch

Codex Switch 是一个 macOS 工具,一键配置 Codex 的自定义 API,同时保留官方 OpenAI 登录。保存后 Codex 的模型选择器里只会出现你选的那个 provider 的模型。也支持 Claude Code 的官方 / 自定义 API 切换。Codex Switch is a lightweight helper for configuring multiple coding-agent API routes. For Codex, it keeps Official OpenAI and a custom API provider configured in parallel, registers the custom model in Codex's mod

查看详情
67github+08-16