DeepSeek Harness community plugin

The core design of DeepSeek Harness (dsh for short)Yes, Everything is a Plugin (everything is a plugin)。

In dsh, model adapters, tool registration, session logs, Agent Loop, sandbox, storage, task scheduling, UI, and even permission policies can all exist as Cordis plugins.

Cordis is a lightweight plugin-based application framework that uniformly handles plugin registration, dependency resolution, and lifecycle management.

DeepSeek Harness is not an Agent with fixed, written-in-stone functionality, but rather an Agent infrastructure that can be continuously assembled and expanded.

Traditional LLM Agent structures are usually fairly fixed: Prompt, model, Agent, and tools are connected in sequence, with most capabilities encapsulated within the framework core.

传统 Agent 与 DeepSeek Harness 结构对比图

A more accurate way to understand it is: dsh is not an Agent that comes with many built-in features, but rather aA runtime that can continuously assemble Agent capabilities through plugins。

We don't need to modify dsh's core source code to change its behavior.

Common requirements and corresponding approaches are as follows:

RequirementsMethodCorresponding plugin examples
Switch to another interface Install the UI plugin dsh-web-ui、dsh-TUI
Adding visual capabilities Installing visual plugins modlens、dsh-vision-toolkit
Multi-agent collaboration Install the Agent Teams plugin dsh-agent-teams
Browser automation Install the Browser plugin dsh-browser、BrowserSkill
Context management Install the Context plugin dsh-context

Plugins can also be stacked on top of each other to create completely different working environments.

In dsh, model adapters, tool registries, session logs, Agent Loop, sandbox, storage, scheduling, UI, and even permission policies all exist in the form of Cordis plugins.

The diagram below shows dsh's overall plugin-based architecture. The host is only responsible for organizing capabilities; all capabilities themselves are provided by plugins:

DeepSeek Harness 一切皆插件架构图


Profile: determines which environment plugins run in

There is an obvious difference between installing plugins in dsh and installing ordinary npm packages or Python packages: after a plugin is installed, the environment it runs in is determined by the Profile.

The same dsh can load different plugin combinations depending on the usage scenario, and different Profiles do not interfere with each other.

The three commonly used Profiles are as follows:

ProfileFormApplicable scenarios
web Web workbench accessed via browser Daily interactive development, task board, remote access
tui Terminal full-screen interface SSH remote development, for users accustomed to the command line
headless Headless background operation Automation scripts, CI integration, scheduled tasks

For example, a typical Web Profile plugin combination:

Web Profile
├── dsh-web-ui          # Web 工作台
├── dsh-better-sidebar  # 侧边栏工作区
├── modlens             # 视觉能力
└── dsh-market          # 插件市场

End users may only keep:

TUI Profile
└── dsh-TUI             # 全屏终端界面

Plugin installation

dsh provides a unified installation entry point for plugins, which can be done with a single command.

# 安装插件到 web profile(--profile 指定目标环境,必填)
dsh plugin --profile web add <源>

# 安装插件到 tui 终端环境
dsh plugin --profile tui add <源>

Take installing dsh-web-ui (open source addresshttps://github.com/zhu1090093659/dsh-web-ui) as an example:

dsh plugin --profile web add @linxin666/dsh-web-ui-all@latest

After installation and restart, we can view the installed plugins in the plugin list in Settings:

Then we can view the plugin's features in the left list and try installing skins:

A complete installation process is usually:

选择 Profile
    ↓
安装插件
    ↓
检查依赖 / README
    ↓
重启对应服务
    ↓
验证插件是否加载

To uninstall a plugin, simply click the uninstall button in the plugin list in the Settings menu:

Click confirm to uninstall and complete the uninstallation:

Next, let's introduce some plugins that are currently open source. For more community plugins, you can follow:https://github.com/topics/dsh-plugin。


UI enhancements and workbench

This type of plugin solves the "interface isn't good enough" problem, upgrading dsh from a command-line tool to a complete workbench close to an IDE.

Among these, dsh-web-ui and DSH-better-sidebar are the most popular combination in the community; the former rounds out the Web interface's feature set, while the latter provides a persistent sidebar.

PluginIntroductionInstallation command
dsh-web-ui Web UI complete package: task board, Git graph, right panel, remote mobile, desktop pet, real-time Token statistics, skin center dsh plugin --profile web add github:zhu1090093659/dsh-web-ui
DSH-better-sidebar Full sidebar workbench: file tree / editor, terminal, Git, subagents, supports third-party plugins registering new tabs dsh plugin --profile web add dsh-better-sidebar
dsh-TUI Claude Code-style full-screen terminal TUI: streaming thinking, double-press Esc to trace back, status bar, model switching dsh plugin --profile tui add @deepseek-harness-tui/dsh-tui
dsh-at-file Enter @ in the input box to quickly search and reference workspace files / directories dsh plugin --profile web add github:omdsh-dev/dsh-at-file

dsh-web-ui doesn't just simply swap in a new interface; it fills in workbench capabilities such as task board and Git graph around the Agent workflow.

DSH-better-sidebar solves the "workspace organization capability" problem, suited for users who want to turn dsh into an "AI IDE."

The usage of dsh-at-file is very intuitive: enter @ in the input box to search and reference workspace files:

请分析 @example-demo/src/main.py

比较 @example-demo/src/api 和 @example-demo/src/service

For coding agents, this interaction method is much more natural than manually copying file contents.

For terminal users, dsh-TUI is more recommended. It provides streaming output and message tracing in the terminal, with an experience close to Claude Code.


Vision and multimodality

dsh can use plugins to "bolt on" visual processing capabilities to what was originally a text-centric Agent.

modlens's core idea is to convert images into structured visual evidence, then hand it over to a text model for processing.

With the same paste of a webpage screenshot, what you get is not "this is a webpage screenshot," but a combination of OCR text, layout information, coordinates, and semantic labels.

PluginIntroductionInstallation command
modlens Pure text models instantly become multimodal: paste an image and output structured OCR, layout, and semantic evidence dsh plugin --profile web add @liustack/modlens
dsh-vision-toolkit Complete vision toolbox: intent Q&A, long screenshot OCR, UI reproduction, grounding, pixel diff dsh plugin --profile web add @anionex/dsh-vision-toolkit
dsh-vision-router Free vision chain and pixel-level tools, supporting local Ollama / LM Studio dsh plugin --profile web add dsh-vision-router

This type of plugin is suitable for tasks such as OCR, webpage screenshot analysis, document understanding, and image content extraction.

If your main work involves frontend development, UI replication, or screenshot analysis, dsh-vision-toolkit is more practical than OCR alone.

Users who want full local deployment of vision capabilities can pay special attention to dsh-vision-router.


Skins, themes, and desktop pets

This type of plugin may not improve the Agent's core capabilities, but it best demonstrates how thorough "everything is a plugin" really is: even skins and desktop pets are plugins.

PluginIntroductionInstallation command
dsh-deep-whale Whale Girl skin series (Deep Sea Maid Workshop, etc.), supporting light / dark modes dsh plugin --profile web add github:Small-tailqwq/dsh-deep-whale
whale-girl / dsh-pet series Draggable, feedable, interactive desktop pet little whale (multiple community repositories) Install according to each repository's README

If you feel the Agent workbench is too serious, this type of plugin is essentially the entertainment proof of "pluginization."


Multi-agent and workflows

If UI plugins solve "how to use dsh," then multi-Agent plugins solve "how to get multiple Agents working together."

The idea behind dsh-agent-teams is very intuitive: the current session acts as the team leader, breaking tasks down among multiple sub-Agents that can continue the conversation.

dsh-agent-teams 多 Agent 协作示意图

PluginIntroductionInstallation command
dsh-agent-teams Current session becomes team leader: create sub-Agents that can continue chatting, tasks with dependencies, automatic scheduling, real-time panel dsh plugin --profile web add @nanmicoder/dsh-agent-teams
dsh_workflow Workflow layer that can be generated, saved, restored, observed, and governed dsh plugin --profile web add "github:dsh-external/dsh_workflow#main"

The division of labor between the two can be understood this way: agent-teams solves "multiple Agents working together," while workflow solves "fixing the Agent workflow in place and executing it repeatedly."

Combined, they can form a complete execution chain:

需求
 ↓
Leader Agent(任务拆分)
 ├── Frontend Agent
 ├── Backend Agent
 ├── Test Agent
 └── Review Agent
 ↓
Workflow(流程固化、反复执行)
 ↓
最终结果

At this point, dsh begins to shift from "AI helps me write code" toward "AI Agent organizes multiple execution units on its own to complete tasks."


Browser and automation

Once agents truly enter production environments, being able to read and write code alone is usually not enough. They also need to open web pages, read pages, click and input, and execute tasks while carrying a login state.

Unlike headless browser solutions, dsh-browser directly drives the local Chrome, preserving all existing login states and cookies, so agents don't have to log in from scratch every time.

PluginIntroductionInstallation command
dsh-browser Control real Chrome (preserving login / cookies), control web pages with structured text The repository provides a one-click installation script (including browser extension)
BrowserSkill Tencent's open-source real logged-in browser automation solution (CLI + extension) Install according to the repository instructions

Browser plugins are suitable for tasks that require a login state, such as website automation, backend operations, data collection, and web testing.

This type of plugin usually also involves additional components such as browser extensions. It's recommended to install via the official script or README, rather than manually piecing together commands.


Memory, context, and session migration

The longer you use an Agent, the real problem often isn't that the model isn't smart enough, but that the context gets increasingly messy.

This type of plugin revolves around "context": either bringing in sessions from elsewhere, or making the composition of the current context clear to see.

PluginIntroductionInstallation command
dsh-chat-import from Claude Code / Codex / ChatGPT / Cursor / Gemini waitNone损Import历史Session dsh plugin --profile web add dsh-chat-import
dsh-context Context composition, Token trends, compression / trimming visualization panel dsh plugin --profile web add dsh-context

If you've already heavily used other Coding Agents, migration plugins like dsh-chat-import will be very valuable.

For long-running coding agents, the importance of context management will keep increasing.

Agent effectiveness largely depends on "model capability + context quality + tool capability + task state," rather than simply looking at model benchmarks.


Plugin discovery and management

As the number of plugins grows, a new problem arises: where to find plugins.

dsh-market includes a built-in plugin marketplace in the settings page, supporting search, categorization, and one-click install/update; dsh-find-plugin goes further by letting you find plugins directly in a session using natural language.

PluginIntroductionInstallation command
dsh-market / dshmarket Plugin marketplace built into the settings page: search, categorization, one-click install / update dsh plugin --profile web add dshmarket
dsh-find-plugin Search plugins by natural language within a session, returning descriptions and install commands dsh plugin --profile web add dsh-find-plugin

For example, if you directly ask "is there a plugin that can analyze webpage screenshots," it will return the plugin name, feature description, and installation command.

If you plan to use dsh long-term, it's recommended to research the plugin market first, rather than manually searching through dozens of GitHub repositories at the start.

"Finding plugins" is itself a plugin, which is a direct reflection of the Everything is a Plugin design philosophy.


Other practical plugins

Besides the core categories above, the community also has some projects that are quite popular and not easy to categorize.

PluginIntroductionInstallation command
deepseek-harness desktop version Desktop client, one-click launch Download and install
DeepSeek Harness plugin featured list Collected a list of selected plugins Install following the plugin documentation
archify Generate beautiful, verifiable architecture diagrams / flowcharts (in Skill form) Install using the repository's Skill installation method
dsh-plugin-subscriptions Log in via OAuth and reuse existing ChatGPT / Claude / Grok subscriptions in dsh (community repository) Install according to the repository README

The desktop client suits users who don't want to deal with the command line and runtime environment themselves, while archify is useful for users who often have agents analyze code repositories and design system architectures.

Subscription-type plugins involve account authorization and third-party services, with security risks significantly higher than ordinary UI plugins. Don't install them just based on keywords like "free model" or "free subscription." Be sure to first review the source code, permission scope, and actual authorization process.


Contextual recommendation

dsh's advantage isn't "the more plugins, the stronger," but freely combining them according to your own workflow.

Don't install a dozen plugins right away. You can set things up according to the following groups of typical scenarios.

Use CaseRecommended combinationCoverage capability
Starter combo for beginners dsh-web-ui + DSH-better-sidebar + dsh-market + modlens Workbench + sidebar + plugin market + vision
Terminal users dsh-TUI Fullscreen terminal interface, streaming thinking, message backtracking
Multi-agent development dsh-agent-teams + dsh_workflow Task splitting, automatic scheduling, workflow solidification
Migrating from other tools dsh-chat-import + dsh-at-file + dsh-context Historical session import, quick file referencing, context management

Getting started suggestions:First install dsh-market, then use the marketplace to install the remaining plugins as needed, and leave subsequent update management to it as well.

First get the core workflow running smoothly, then gradually add other capabilities.


Precautions for installing third-party plugins

The biggest advantage of the dsh plugin ecosystem is also its biggest risk: plugins have very large expansion capabilities.

A UI skin plugin and a browser automation plugin are clearly not on the same level of security. Before installing, at least do the following four checks.

Look at the source code first

In particular, prioritize reviewing plugins involving Shell, browser, OAuth, API Key, file system, and network permissions.

Don't just look at the marketing claims in the README.

Check the license

Confirm what License the project uses.

When preparing for commercial use, secondary development, or enterprise internal deployment, be sure to confirm license restrictions in advance.

Check dependencies

Focus on checking npm / Python dependencies, browser extensions, and external services.

A project that looks like just a UI plugin, but introduces a large number of unnecessary dependencies, is worth being wary of.

Pin the version or commit

dsh is still in a phase of rapid iteration, and community plugin APIs may also change. In production environments, it's not recommended to always track latest or main.

# 不推荐:始终追踪 main 分支
github:dsh-external/dsh_workflow#main

# 推荐:固定到具体 commit(具体语法以插件管理器当前版本为准)
github:xxx/xxx@a1b2c3d

This can avoid the situation where "it runs today, but after the plugin author updates it, it suddenly breaks tomorrow."

If you want to continue exploring more plugins, you can start with the following channels:

ChannelDescription
GitHub topic:dsh-plugin Browse community open-source plugin repositories by topic
awesome-dsh-plugin Community-maintained curated plugin list
dshhub.dev、dsh.so Community plugin directory site

Architecture ideas behind pluginization

If you only see dsh as "DeepSeek built an Agent tool similar to Claude Code," you're actually underestimating it.

Traditional Agents encapsulate Model, Tool, Memory, Loop, and UI within themselves, while the Harness is only responsible for "organizing capabilities" without hard-coding any abilities.

This means that what the community will truly compete on in the future may not be who wrote a prettier chat window, but who can provide better underlying capability plugins:

Capability dimensionDescription
Agent LoopSession loop and execution strategy
Coding AgentCode understanding and generation
Browser AgentWeb operations and automation
MemoryLong-term memory management
Context EngineeringContext organization and compression
Multi-AgentMulti-intelligent-agent collaboration
WorkflowWorkflow orchestration and governance
EvaluationEffect evaluation
SandboxSecure isolated execution
Tool RouterTool routing
Model RouterModel routing

What ultimately takes shape may not be a single Agent product, but rather an Agent Plugin Ecosystem.


Gradually build your own agent runtime

The most suitable way to use dsh is not "install, open, done," but progressive construction.

安装 Harness
    ↓
选择 Profile
    ↓
安装基础插件
    ↓
搭建自己的工作台
    ↓
增加工具
    ↓
增加 Agent
    ↓
增加 Workflow
    ↓
增加 Memory / Context
    ↓
形成自己的 Agent Runtime

Previously, choosing an AI coding tool meant choosing among Claude Code, Codex, and Cursor; after pluginization, the thinking has begun to shift: the underlying Runtime can be fixed, while capabilities are assembled by yourself.

One person can choose a Web UI, another can choose a TUI; some focus on using the browser, others focus on multi-Agent, and one can even develop plugins to integrate tools, workflows, or Agents.

The core runtime is responsible for connecting capabilities, plugins for providing capabilities, Profile for organizing capabilities, and developers ultimately for defining their own agents.

If this ecosystem continues to develop, dsh may ultimately become more than just an "AI coding tool"—it may be more like a composable Agent Operating Environment (agent runtime environment).

And this is precisely what makes "Everything is a Plugin" most worth studying.

other extensions