Foreword¶
DeepSeek Harness (DSH) decomposes agent capabilities into composable plugins and comes with a set of conservative reference configurations. For those who write code daily, this means you still need to select your own profile, connect to MCP, configure LSP, handle security boundaries for web scraping, and decide which upstream capabilities should be enabled by default.
oh-my-dsh (OMD), maintained by amplifthq, positions itself as a curated distribution of DSH: it overlays a set of verified default selections and extended capabilities on top of the upstream “everything is a plugin” architecture using an overlay approach, rather than forking the upstream repository. DeepSeek Harness is currently in developer preview; OMD locks in tested upstream versions to avoid silently tracking breaking changes.
What Is This¶
In one sentence: oh-my-dsh is an out-of-the-box curated distribution of DeepSeek Harness, an overlay, not a fork.
- Maintainer: amplifthq
- Category: Model Reasoning
- License: MIT
- Current Version: v0.1.7 (SkillHub directory listing)
- GitHub Stars: 11, Forks: 1
The core problem it solves is: assembling DSH’s plugin framework and reference combinations into a directly usable coding environment—complete with formal profiles, lazy MCP reuse, LSP navigation, safe editing, SSRF-hardened web scraping enabled by default, and curated skill distillation capabilities. User state is stored in ~/.dsh/, and the upstream architecture and each default selection can still be overridden by profiles or cordis.patch.yml.
Core Features¶
The following capabilities are summarized based on publicly available documentation, all sourced from the project’s README and package.json exports.
Out-of-the-Box Coding Profiles¶
After setup, two isolated profiles are installed in ~/.dsh/profiles/:
omd: Interactive Web UIomd-headless: One-shot terminal tasks
By default, the workspace-write + ask permission model is used, which does not silently acquire full host permissions. Web scraping is enabled by default via an SSRF-hardened provider; the startup directory is automatically registered as a workspace.
Code Intelligence and Editing¶
Built-in language servers are provided for TypeScript/JavaScript, Python, JSON, HTML, CSS/SCSS/Less, and YAML. When available in the PATH, it also automatically integrates rust-analyzer, gopls, clangd, and sourcekit-lsp.
Related extensions include:
- Upstream
@filediscovery, as well as line-range snapshots with anchors (e.g.,@path:12-40) hash_edit: Safe multi-line replacement with line-by-line anchoring and file version guardingsemantic_refactor: Previewable, reversible multi-file LSP semantic renaming
Reusing Existing Agent Configurations¶
OMD reads compatible configurations in place without copying or rewriting original files, such as AGENTS.md, CLAUDE.md, .cursorrules, skills in various tool directories, and MCP server definitions in Claude/Cursor/Codex. MCP remains lazy during the discovery phase and only starts after explicit session activation.
Project-level MCP, hooks, and imported skills require trusting the Git root directory first:
cd path/to/repository
omd trust add .
``
## Approval Gating and Capability Layering
OMD categorizes capabilities into four layers: Core, Bundled Optional, Curated Integrations, and User Growth. Operations such as MCP activation, plugin loading, skill saving, and debug launching follow a unified `prepare → inspect → approve → commit → verify` process, implemented only after approval by `proposal_control`.
`plugin_control` can load reviewed plugins by ID (the current curated library includes `dsh-skill-badge` and `dsh-pkg-info`). `plugin_forge` allows agents to write small DSH plugins, which are persisted to `forged-plugins/` after source code approval before being mounted. `skill_control prepare_save` can distill verified workflows into persistent `SKILL.md` files.
## Other Extensions
- `kernel`: Session-level persistent JavaScript/Python state
- `web-guard`: Default-enabled SSRF-hardened web scraping
- Optional DAP debugging (`OMD_ENABLE_DEBUG=1`)
- `eval_control`, `opt_control`: Evaluation and optimization proposal workflows
- `capability_search`: Read-only capability discovery plane
# Installation and Activation
The SkillHub directory page lists this plugin as "installable," version v0.1.7. The official recommendation is to use the portable installation script, which requires no system Node.js, npm, or root permissions. It supports macOS arm64 and Linux x64 (glibc); native Windows is not supported and requires the linux-x64 portable package within WSL2.
## Portable Installation (Recommended)
The installation script always follows the latest non-prerelease GitHub Release:
```sh
curl -fsSL https://github.com/amplifthq/oh-my-dsh/releases/latest/download/install.sh | sh
omd setup
omd
To pin a released version, set OMD_VERSION on the same installer URL:
OMD_VERSION=v0.1.7 curl -fsSL https://github.com/amplifthq/oh-my-dsh/releases/latest/download/install.sh | sh
The bootstrap script installs to ~/.local/share/oh-my-dsh/ and creates a command symlink at ~/.local/bin/omd. The initial omd setup may take several minutes.
npm Installation (For Developers)¶
Requires local Node.js ^22.19.0 or >=24.0.0:
npm install --global oh-my-dsh
omd setup
omd
If you don’t want to install globally:
npx oh-my-dsh@latest setup
npx oh-my-dsh@latest
The portable and npm channels share ~/.dsh/ user state, but each profile’s node_modules is owned by only one channel at a time.
Typical Usage¶
After installation and setup, common entry points include:
omd # Launch Web UI
omd headless "Fix failing test" # Run a task and exit
omd setup # Install or upgrade both profiles
omd update # Portable: Check stable channel and install new version
omd rollback # Portable: Switch back to the retained previous version
omd doctor --verify # Verify current version file digest (portable)
omd config # Output the final Cordis composition
omd usage # Summarize token usage from saved sessions
omd preset list # View curated MCP presets
omd preset enable context7 # Add preset to the lazy MCP directory
omd trust add . # Trust the current repository's project integration
omd dsh --help # Directly invoke the underlying dsh CLI
Models can be configured on the Web Models page with DeepSeek or upstream multi-provider adapters. Examples of web-scraping-related environment variables:
OMD_DISABLE_WEB_FETCH=1 omd # Completely disable the fetch tool
OMD_WEB_FETCH_ALLOW_PRIVATE=1 omd # Allow access to private/intranet addresses (trusted networks only)
The portable version supports foreground updates and rollbacks without touching user data in ~/.dsh/:
omd update
omd rollback
omd doctor --verify
Use Cases and Considerations¶
Who Is This For¶
- Users who want to use DSH directly but don’t want to assemble profiles, MCP, and security defaults from scratch
- Developers who need enhanced capabilities like LSP, safe editing, approval gating, and skill distillation while retaining the upstream plugin architecture
- Users with existing Claude/Cursor/Codex configurations who prefer lazy reuse over migration
Prerequisites¶
-
Permission Model: OMD runs with the current dsh process permissions. Once activated, plugins run in the same process as the harness, with full environment variables, file system, and network access. Before installation, review the source code and MIT license, and understand that
proposal_controlapproval is a trust decision. -
Platform Limitations: There is no native Windows portable package; install the linux-x64 version within WSL2 using a glibc distribution (e.g., Ubuntu), and place project paths in the Linux file system (
~/...) to avoid performance and symlink issues from/mnt/c/. -
Upstream Preview Status: DeepSeek Harness is in developer preview. v0.1.7 precisely locks upstream
@deepseek-ai/dsh*0.1.0-rc.7; OMD does not silently track breaking upgrades. -
Ecosystem Relationships: The DSH community directory SkillHub is an independent site with no official affiliation with DeepSeek / High-Flyer;
oh-my-dshlikewise has no affiliation or endorsement from DeepSeek. -
Uninstallation: Uninstalling the portable version requires manually deleting
~/.local/share/oh-my-dshand~/.local/bin/omd; profiles, sessions, and skills in~/.dsh/are not automatically removed.
Conclusion¶
oh-my-dsh realizes DSH’s plugin framework as a directly usable coding environment: an overlay rather than a fork, balancing efficiency and security with default selections and approval gating, and supporting updates, rollbacks, and file verification. If you’re evaluating an out-of-the-box solution within the DSH ecosystem, you can start by checking versions and installation steps on the directory page and GitHub repository.
- SkillHub Directory Page: https://www.skillhub.cn/plugins/amplifthq/oh-my-dsh
- GitHub Repository: https://github.com/amplifthq/oh-my-dsh