Foreword¶
DeepSeek Harness (dsh) makes models, tools, storage, policies, and interfaces all pluggable components. Agent sessions, tool calls, and permission policies are driven by a unified set of services. While an official Web UI is provided, many developers prefer the interactive experience of a terminal—similar to TUI workflows like Codex CLI or Claude Code—when writing code locally, viewing diffs, or running reviews within a repository.
This introduces the community plugin DSH-Code (maintainer UNLINEARITY). It layers on top of the official @deepseek-ai/dsh-base as an out-of-tree bundle, sharing the Agent, Session, tools, commands, skills, permissions, sandbox, context compression, and plugin services with the Harness Web UI. The interface switches to a terminal TUI, while runtime behavior is still governed by the DSH process and configuration. The plugin is categorized as a “Client” in the SkillHub directory and had approximately 27 stars on GitHub as of the data collection time.
What Is This¶
DSH-Code is a terminal coding interface for dsh (Claude-Code-style TUI bundle). Instead of launching a separate Agent runtime, it reads the Harness’s live registry, bringing persistent sessions, model management, Agent Presets, subagents, plan mode, and coding-related commands into the terminal.
Compared to “installing a standalone CLI tool and maintaining your own session and toolchain,” DSH-Code directly integrates with DSH’s Cordis composition and Session event projection: resuming a session synchronously restores the Agent Preset and model selection; /plugin shows the current loader state rather than a local copy.
Core Features¶
Sessions and Workflows¶
/newto create a new session;/resume,--continueto restore by directory, time, or ID;/forkto branch from a historical node while preserving the original session.- Supports persistent titles, Markdown export (
/export), context occupancy, and token statistics. - Up/Down to recall input;
/historyto search past prompts. @to reference workspace files or existing sessions; PNG, JPEG, WebP, GIF files are automatically attached as images./diffto view changes per file;/reviewto inspect Git diffs in read-only mode; supports tool approval, plan review, and supplemental instructions during task execution.
Agent, Models, and Extensions¶
- Each session can select an Agent Preset:
standard,code,minimal,cordis, or user-defined; switch with/mode, or specify at startup with--mode. /modelmanages providers, API keys, OAuth/device code login, endpoints, and available models; the TUI can be used for non-model functions even if no model is configured./effortadjusts reasoning effort;/permissionswitches permission presets;/subagentspecifies the subagent model.- Automatically loads commands and skills from DSH;
/helpshows entry points;/pluginchecks extension status. - When switching models or reasoning effort, the input box can play Wave, Aurora, or Pulse animations (official DeepSeek models and other high-intensity models have different trigger conditions—see README for details).
Integration with DSH¶
The Host plane holds the registry, persistence, queries, permissions, and sandbox; each session receives an isolated Agent scope, with the Agent Preset combining tools, prompts, skills, context compression, and subagent capabilities. Prompts, streaming output, tool calls, model selection, and presets are all written to Session events, with restoration and export sharing the same record.
Installation and Setup¶
Requires Node ^22.19 || >=24 and the preview dsh CLI (current version line: @deepseek-ai/dsh@0.1.1-rc.2). dsh-code@1.0.1 is built for this version, with Harness dependencies locked to 0.1.1-rc.2. Please keep the global dsh and dsh-code in sync to avoid mixing host and plugin candidate versions.
Use the same commands for both initial installation and updates:
npm install -g @deepseek-ai/dsh@0.1.1-rc.2 dsh-code@1.0.1
npm install -g pnpm
dsh plugin --profile cli add dsh-code@1.0.1
pnpm ignores packages published less than 24 hours ago; on the first day after release, use the exact version dsh-code@1.0.1; after 24 hours, the version can be omitted. npm does not have this limitation.
Typical Usage¶
After installation, the following three commands are equivalent, with subsequent arguments passed through as-is:
dsh --profile cli
deepseek
dsh-code
Examples with arguments:
dsh --profile cli --mode code # Use the code Agent Preset
dsh --profile cli --continue # Resume the latest session in the current directory
dsh --profile cli --resume abc123 # Resume by ID or unique prefix
deepseek --resume abc123 # Alias also supports argument forwarding
Once in the TUI, common built-in commands include:
| Command | Purpose |
|---|---|
/mode [preset] |
View or select an Agent Preset |
/model |
Switch models, manage providers and login |
/diff [--staged\|ref] |
View Git diff for the workspace or a specified ref |
/review [--staged\|ref] |
Read-only review of Git changes |
/fork [event-seq] |
Create a branched session from a specified event position |
/export [path] |
Export the current session as Markdown |
/help |
View shortcuts, built-in commands, and user skills |
For shortcuts: Tab completes commands and @ references; Ctrl+O views full history and tool details; Esc interrupts a running turn; Ctrl+D exits. See /help for the complete list.
Use Cases and Notes¶
Who it’s for: Developers who are using or planning to use DeepSeek Harness and want to handle coding, diffs, reviews, and session management in the terminal; those who need to share the same Agent, tools, and persistent sessions with the Web UI.
Before use, note:
- DeepSeek Harness is still in developer preview; the plugin interface may change with upstream updates. DSH-Code states it will continue to evolve accordingly.
- The plugin runs with the current
dshprocess’s permissions. Before installation, please review the GitHub source code and the MIT license. - SkillHub (directory page) is a community plugin directory and has no official affiliation with DeepSeek / High-Flyer.
- For installation, native module, or plugin loading issues, refer to the common issues and troubleshooting in the repository.
Conclusion¶
DSH-Code connects DSH’s Agent runtime, persistent sessions, and plugin ecosystem to a terminal TUI, covering workflows from session management and model switching to /diff and /review—without building a separate toolchain. If you’re already using dsh --profile cli, installing the bundle allows you to enter the same set of services directly via deepseek or dsh-code.
- Directory page: https://www.skillhub.cn/plugins/UNLINEARITY/dsh-code
- GitHub: https://github.com/UNLINEARITY/dsh-code