dsh-office-cli: Securely expose official WeCom, DingTalk, and Feishu office CLIs using a DSH tool.

## Introduction If you have built agents on DeepSeek Harness (DSH), you have likely encountered requirements such as letting the agent send a WeCom message, check a Feishu document, or create a DingTalk approval. The official CLIs possess these capabilities, but allowing the model to execute commands directly in the shell exposes authentication commands, credential parameters, and arbitrary paths to the model, making it difficult to control permission boundaries. Below, I introduce dsh-office-cli, a plugin that safely exposes the three official office CLIs (WeCom, DingTalk, and Feishu/Lark) through a single native DSH tool. ## What is it? dsh-office-cli is maintained by meliwanx and is released under the MIT license. When...

Read More
dsh-webui-background: Provides a configurable background image for DeepSeek Harness Web UI

dsh-webui-background is an MIT open-source plugin (v0.1.0-rc.3) maintained by lx963, providing a configurable background image for the DeepSeek Harness Web UI. It follows the "everything is a plugin" philosophy, avoiding modifications to static files such as `website/public` and instead installs via combination packages and client plugin extension points. Core features include an embedded "Web UI Background" tab in the settings page, supporting upload, drag-and-drop, and preview for PNG, JPEG, GIF, and WebP formats (up to 20 MiB per file, format identified by content); light/dark mode masks can be adjusted separately and take effect immediately upon saving; the background can be disabled or deleted to restore defaults; settings and images are saved independently per Harness profile without mutual interference; Remote...

Read More
frida-dsh-plugin: Integrating Frida as a policy-constrained tool into DeepSeek Harness

# Introduction When integrating dynamic analysis capabilities into an agent, the common practice is to provide it with a shell to call `frida` commands or write temporary scripts on its own. The drawbacks of this approach are that Sessions and script handles are scattered across multiple commands, making it difficult to guarantee proper cleanup; injection operations also lack policy boundaries, meaning target scope and approval timing can only be constrained via prompts. DeepSeek Harness (DSH) adopts the philosophy of "everything is a plugin," handing capabilities to the model through structured tools and policy configurations. The `frida-dsh-plugin` implements this philosophy by breaking Frida down into 9 tools: the default mode is read-only, injection operations go through the Harness approval chain, and resources are automatically cleaned up at the end of the session. Below is an introduction to its features, installation, and typical usage.

Read More
dsh-tool-vision-read: A DSH plugin that enables text-only agents to "see" images

# Preface In agent development, a common gap arises: the model router for the main agent does not declare image inputs and is a pure text model. When users provide an image path for description, the agent cannot handle it—requiring manual switching to a session with vision capabilities or the agent manually viewing the image and relaying the information. The philosophy behind DeepSeek Harness (hereinafter referred to as DSH) is "everything is a plugin." This specific capability gap is ideally suited to be patched by a small plugin. Below, we introduce `dsh-tool-vision-read`, maintained by Mappedinfo. It registers a `vision_read` tool to route the image reading step to a dedicated vision model, enabling a pure text agent to obtain a textual description of the image with a single call.

Read More
dsh-skill-mcp-center: Move DSH Skills and MCP management to the Settings page

## Preface If you frequently use DeepSeek Harness (`dsh`), you have likely run into operations like these: checking whether a specific skill is actually effective requires digging through the `system` / `user` / `workspace` / `runtime` directories layer by layer; temporarily disabling an MCP server requires modifying the configuration file and restarting; and verifying if an MCP server is connected or checking how many tools are currently down offers no built-in interface. DSH's philosophy is "everything is a plugin," and these interface-level needs can be resolved through plugins. The `dsh-skill-mcp-center` introduced below is a management center plugin written by Max-Null to address this. ## What is this `dsh-skill-mcp-center`

Read More
dsh-plugin-center: Manage community plugins in the DSH Web interface

dsh-plugin-center is a plugin management center for DeepSeek Harness (dsh) developed by Max-Null, available as the npm package @max-null/dsh-plugin-center and licensed under the MIT License. It integrates plugin management functions into the dsh Web interface, resolving issues such as scattered plugin information and the need to return to the command line for individual confirmations. Core functions include: viewing metadata, source, and compatibility scope of installed plugins; browsing the two community markets, awesome-dsh-plugin and Oh-My-DSH; one-click installation, update detection, and batch updates; What's New notifications for new versions upon startup; and compatibility marking for plugins whose peer dependencies do not match the current DSH. The interface colors use v...

Read More
dsh-desktop: A Windows companion plugin for DeepSeek Harness providing system tray, desktop window, and auto-start

# Introduction For developers using the DeepSeek Harness (DSH) Web profile on Windows, the daily workflow is roughly as follows: open the terminal, execute `dsh web`, wait for the service to start, and then switch to the browser to access it. There is no system tray icon, no desktop shortcut, and everything resets after a computer restart. To create a traditional "desktop client," one would need to maintain an additional chain for downloading, installing, and updating. dsh-desktop changed its approach: turning the desktop experience into a Web plugin. DSH's philosophy is "everything is a plugin," and the desktop is no exception—it is provided as a Web plugin, requiring no separate installation of an independent desktop client, and no administrator privileges are required throughout. After installing the plugin, restart the Web profile...

Read More
dsh-subagent-setting: Unified configuration of subagent default model in web settings page

## Introduction If you run multi-subagent task flows in DeepSeek Harness (DSH), you might encounter a specific issue: the default configurations for a subagent's provider, model, and reasoning effort are scattered across configuration files. To switch to a different default model, you must manually edit the YAML file and then verify that every subagent has adopted the new values. `dsh-subagent-setting` brings this to a web settings page: select the default provider, model, and reasoning effort on the interface, and newly created subagents will take effect immediately. You can also choose to apply this to existing subagents.

Read More
dsh-wallpaper-engine: One-click transfer of local Wallpaper Engine library to DSH interface background

# Introduction If you use DSH (DeepSeek Harness) and have Wallpaper Engine installed, you have likely encountered this issue: you have collected hundreds of wallpapers in the Workshop, but DSH's web interface background remains the default one, and the two are disconnected. Manually exporting images and modifying configurations is cumbersome, and dynamic wallpapers (videos, 3D scenes) cannot be used directly. `dsh-wallpaper-engine` solves this specific problem: it reads your local Wallpaper Engine library to provide a wallpaper selection panel in the DSH interface. You can select and apply a wallpaper with a single click, and it can also sync the DSH dark/light theme based on the wallpaper's brightness. # What is this

Read More
dsh-filemenu: Adds a right-click menu to DeepSeek Harness Web UI

dsh-filemenu is a DeepSeek Harness (DSH) plugin developed by ltsone9 (MIT license). It adds a right-click context menu to the Web UI, condensing the workflow of "Copy Path -> Switch Window -> Paste and Open" into a single click. It supports session-generated files, inline file references, and tool cards.

Read More
dsh-archived-sessions: Centralized management of archived sessions in DSH Web

dsh-archived-sessions is a DSH Web plugin developed by lwklbb (MIT licensed, v0.2.1, requires Node.js ≥ 20) designed to resolve issues caused by local session accumulation, such as difficulty in locating sessions and unclear disk usage. Upon installation, it adds an "Archived" section to the left sidebar.

Read More
luxueliu-reasoning-efforts: Enable gateway models in DSH to select reasoning intensity; one-click level adjustment after upgrade

## Introduction In DSH, the reasoning effort selector only takes effect for ds-series models. If a model connects via a local LLM gateway with manual declarations—for instance, aliases such as gemini3.x, grok, kimi-*, or glm5.x—it neither displays the effort selector nor allows switching the thinking intensity during the conversation. Previously, users could only manually supplement effort declarations for individual models in `~/.dsh/settings.yaml`. However, after a DSH upgrade or when the interface rewrites the settings, these configurations would drift, necessitating repeated rewriting. Below, I introduce the luxueliu-reasoning-efforts plugin. It consolidates the tier configuration into a single source of truth, providing checks and...

Read More
dsh-schedule: Local Schedule Plugin for DeepSeek Harness

# Introduction When using an agent workbench like DSH, a specific problem often arises: To-dos discussed in conversations—such as "run a test another day" or "review a plan next week"—are scattered across various sessions. You tend to forget them once you close the window. While external to-do tools can record them, they are not connected to the agent, and the agent cannot schedule them for you. `dsh-schedule` solves exactly this problem: it integrates schedule management directly into the DSH web interface and exposes it to the model as an agent tool. While you can operate within the dashboard, the agent can also assist with scheduling within the conversation. Below, we introduce its features, installation methods, and typical usage. # What is it? `dsh-schedule` is a local scheduling plugin for DeepSeek Harness (DSH), acting as...

Read More
dsh-deepseek-status: Display balance and peak and valley pricing in the official DeepSeek session header

# Introduction When using DSH to run official DeepSeek sessions, there are two things I need to repeatedly switch away to check: first, how much API balance remains, which requires opening the platform usage page elsewhere; and second, whether I am currently in the peak billing period. DeepSeek API uses peak-valley pricing, where peak rates (full price) and off-peak rates (half price) differ, so it is best to know this before scheduling batch tasks. Neither task is complicated, but switching away from the session to check each time interrupts the workflow. `dsh-deepseek-status` directly embeds these two statuses into the session header: balance, recharge link, and peak-valley pricing status—three capsules that are immediately apparent. Below, I will introduce its features, installation method, and a few usage notes. # What is this? `dsh-deepseek-status` is a DeepSeek status tool.

Read More
dsh-plugin-context-manager: A DSH plugin that automatically records conversations, injects memory, and folds real context.

# Introduction Running long sessions in DeepSeek Harness (DSH) often presents two common challenges: First, the limited context window means that once early conclusions are squeezed out, the model "forgets" them; Second, when switching to a different session, previously recorded key points cannot be carried over. The common solution is to inject summaries into the system prompt, but this only affects auxiliary prompt blocks, while the real dialogue history continues to grow, leading to increasing token consumption. The `dsh-plugin-context-manager` introduced below addresses these two issues: it automatically records every round of dialogue, injects memory and prioritized cross-session notes into each model request, and directly collapses the real dialogue history visible to the model to reduce token usage. # What is dsh-plugin-context-manager

Read More
lwklbb/dsh-worktrees: Integrate Git worktree management into the DSH settings panel

# Introduction When developing with DSH, you often need to handle multiple branches of the same project simultaneously: keeping the main line on `main`, opening a branch for features, and another for fixing production issues. While Git worktrees solve this pain point by checking out multiple branches of the same repository into different directories, using the command line requires remembering paths and arguments, and managing scattered paths across the disk can be cumbersome. The `dsh-worktrees` introduced below brings this functionality into DSH's settings panel. # What is this? `dsh-worktrees` is a DSH plugin maintained by lwklbb, released under the MIT license, with the current version being 0.1.0. Its positioning can be summarized in one sentence: centralized management of Git worktrees in the DSH settings panel.

Read More
dsh-cinematic-workflow: Authorial Cinematic Workflow Plugin (Manual Gating)

# Introduction Running media tasks in DSH (DeepSeek Harness) often leads to stage loss of control: if you instruct the model to perform a rough cut of a travel film, it might process the analysis, editing, color grading, and final cut all in one go, without any intermediate checkpoints for your confirmation. Relying on a prompt like "ask me before each step" is unreliable in multi-stage, long workflows. `dsh-cinematic-workflow` is designed to address this specific issue. It implements a cinema-grade travel film director workflow as a DSH plugin and embeds manual gating directly into the code: the only entry point for advancing stages is the human. Below is an introduction to its positioning, workflow structure, and usage. # What is it `dsh-cinematic-workflow` is a tool oriented towards DeepSeek...

Read More
dsh-workstate: Verifiable Work State Checkpoints and Secure Handover for DeepSeek Harness

# Introduction When using an AI coding agent to run long tasks, a common situation arises where the task needs to be paused halfway through, or the context needs to be handed over to another agent or developer for continuation. The standard handoff method involves simply passing along chat logs or work notes. The recipient receives descriptive text that requires manual reconstruction to understand exactly which step the task is on, which decisions have been made, and which validations have passed. Furthermore, it is impossible to confirm whether the workspace is still in the same state as it was at the time of handoff. dsh-workstate solves exactly this problem. It captures the agent's current work into a machine-readable state package. Before resuming, it first validates whether the workspace still matches, and then injects the state. # What is dsh-workstate? dsh-workstate is designed for...

Read More
dsh-turn-marks: Add a Claude Code-style session message bar to DSH Web UI.

# Introduction When debugging agents using DeepSeek Harness (DSH), a single conversation often involves dozens of turns. To review a previously sent instruction, you must scroll through the conversation flow; the longer the history, the harder it is to locate the specific point. Claude Code and Codex desktop applications feature a row of "turn marks" along the left edge of the conversation—one for each message—which allows you to jump to that point with a single click. This interaction is currently missing in the DSH Web UI. The dsh-turn-marks introduced below fills this gap: it adds a row of message bars to the left edge of the conversation without modifying native components, providing jump functionality, previews, and position indicators. # What is this dsh-turn-marks is a DSH Web plugin maintained by magicOF2.

Read More
dsh-multi-root: Mounting VS Code-style multi-root workspaces for DSH Web GUI

# Introduction When developing agents using the DSH Web GUI, a common frustration is that there is only one workspace: code resides in one directory, datasets in another, and references in a third. To enable the agent to operate across these directories, you must either manually move files into the same workspace or simply prevent the agent from accessing them. `dsh-multi-root` addresses this problem. Below is an introduction to the plugin: it adds a `Roots` (multi-root) panel to the sidebar, allowing an arbitrary number of independent folders to be mounted as workspace roots. Then, through a set of controlled host-side tools, it enables the agent to list/read/write/glob across these roots—drawing inspiration from VS Code.

Read More
dsh-plugin-token-usage: Cross-session statistics of DSH token usage

`dsh-plugin-token-usage` is a DSH plugin (v0.2.0, MIT) maintained by lovedheart, designed to track token usage across sessions. It uses `~/.dsh/sessions` session logs as the single source of truth, bucketing and aggregating by (date, provider, model), covering all persistent sessions including subagents and historical data prior to installation. It achieves precise tracking through persistent watermarks and deduplication.

Read More
dsh-llm-key-rotation: Automatically rotate keys and retry when DeepSeek Harness quota is exhausted

Introduction: If you have been running the same LLM provider in DeepSeek Harness (DSH) for a long time, you have likely encountered this situation: a task is interrupted halfway, the request returns QUOTA or 429, the entire workflow is forced to stop, requiring manual key replacement, process restart, and context restoration. A common approach in the community is to write scripts to monitor logs and perform manual intervention, but such solutions are detached from Harness's own request flow and cannot handle the task of "retrying immediately after switching keys". The `dsh-llm-key-rotation` plugin written by m1khal3v integrates this step into Harness's recovery chain: it automatically switches to the next key in the configuration chain and retries immediately upon request failure, without the need to restart.

Read More
dsh-automode: Adding an auto mode with deterministic guardrails to DeepSeek Harness

To enable an agent to execute tasks continuously, there are typically only two permission options available: using a conservative preset that halts for manual confirmation at every write operation, or switching directly to danger-full-access. While the latter is faster, it grants the agent unrestricted autonomy without any safeguards if issues arise. DeepSeek Harness (DSH) permission presets—read-only, workspace-write, and danger-full-access—exist at these two extremes, lacking a middle tier that is "loose but has gatekeepers for dangerous actions." The dsh-automode introduced below fills this gap: it is a DSH plugin that provides a Claude Code-style auto mode, allowing...

Read More
deepseeh-harness-ultra-slash: A separate group of plugin commands in the DSH / menu

# Introduction People using DeepSeek Harness (hereinafter referred to as DSH) largely rely on the `/` menu in the chat input box. DSH's philosophy is "Everything is a plugin." When many plugins are installed, finding commands becomes a practical issue. Another high-frequency need occurs mid-conversation: you think of a new instruction you want the model to process in the next step but do not want to interrupt the ongoing dialogue. The loadingvx Ultra Slash plugin handles both of these simultaneously: it separates plugin commands into a separate group in the `/` menu, distinct from DSH's built-in commands, and provides four commands: `/steer`, `/new`, `/skill`, and `/docs`, as well as the ability to assign short names to frequently used `/steer` content. The following introduces its features, installation, and...

Read More
dsh_PromptRecall: Recall historical prompts in DSH Web input box using ↑/↓

dsh_PromptRecall is a DSH Web GUI input history plugin that mimics Codex interaction. Maintained by liguanyu (MIT license, version 1.0.0), it addresses the lack of terminal-like history functionality in web input fields. Once installed, it requires no configuration; pressing `↑`/`↓` while the input field is empty allows browsing historical prompts, which are persisted across sessions and restarts. If the draft is non-empty, the cursor is in the middle of the text, a selection is active, or a modal is open, the direction keys are returned to the editor. Pressing Esc clears the draft and saves it to history, allowing for later retrieval. The history is designed in two layers: the persistent layer is a JSONL file located in the DSH main directory (with a limit of approximately 10 MB for plain text only), and the local layer is the recall list for the current session (with a limit of 200 entries or 256 KB).

Read More