Plugin System

Everything is a Plugin

The core philosophy of DeepSeek Harness (harness.vin) is "everything is a plugin". Built on the Cordis plugin kernel, models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and UI are all provided by plugins — freely replaceable and recombinable for a highly flexible AI Agent architecture.

Plugin Types

M

Model Plugin

Connect different large language models (LLMs) such as DeepSeek and OpenAI. Model plugins power agent conversation and reasoning, with flexible model switching.

T

Tool Plugin

Provide tool-calling capabilities including file operations, network requests, and code execution. Tool plugins define the actions and function-call interfaces an agent can invoke.

S

Sandbox Plugin

Offer secure, isolated code execution environments so agent-generated code never affects the host system.

R

Trajectory Plugin

Record complete session trajectories — every input, output, tool call, and state transition — with replay and debugging support.

U

UI Plugin

Provide user interface components including web UI, chat windows, and code editors. UI plugins define how users interact with agents.

C

Storage Plugin

Manage agent state storage, session history, and file system persistence across multiple storage backends.

Cordis Plugin Architecture

Cordis Kernel

DeepSeek Harness is built on the Cordis plugin system, which provides plugin loading, unloading, dependency management, and lifecycle control — the foundation of the everything-is-a-plugin architecture.

Config-Layer Composition

Choose plugin combinations via configuration files. Create different agent types without touching source code — one plugin set composes multiple run modes.

Dependency Injection

Plugins collaborate through dependency injection. A plugin can declare dependencies on others, and the Cordis kernel loads and initializes them in the correct order.

Hot Plugging

Load and unload plugins at runtime for real-time agent capability extension — no service restart required.

Plugin Development Example

A plugin is a TypeScript module that exports an apply function. Register capabilities through ctx, declare inject dependencies, and extend your AI Agent.

// Create a custom DeepSeek Harness plugin
import type { Context } from '@deepseek-ai/cordis';

export const name = 'my-tool-plugin';

// Loads once the injected tools service is ready
export const inject = ['tools'];

export function apply(ctx: Context) {
  ctx.tools.register({
    // Tool definition: name, description, and invocation
    // ...register your tool here
  });
}

How plugins are distributed and discovered

There is no separate plugin marketplace: official plugins are npm packages, and community plugins are discovered through a GitHub topic.

Official plugins: the @deepseek-ai scope

Every official plugin ships on npm as @deepseek-ai/dsh-*, for example dsh-tool-fs, dsh-session and dsh-sandbox. Install and upgrade follow the normal npm flow.

Browse on npm

Community plugins: the dsh-plugin topic

Community plugins are third-party npm packages or local plugin directories. Adding the dsh-plugin topic to your repository is the official way to make a plugin discoverable.

Browse the topic

Official docs and repository

The complete plugin-development guide, profile configuration and API reference live in the official docs — this page is an overview and index.

Open the docs

Official plugin library

Official plugins ship as npm packages under the @deepseek-ai scope. Below is a synced overview by capability — open the full library for versions and descriptions.

Browse the full library290 official plugin packages · snapshot 2026-09-12

Related Docs

FAQ

What is the DeepSeek Harness plugin system?

Built on the Cordis plugin kernel — models, tools, skills, sessions, sandboxes, and more are all plugins, freely replaceable and recombinable.

How do I develop a custom plugin?

A plugin is a TypeScript module that exports an apply function: register tools, services, and events through ctx, declare inject dependencies, and extend tools, models, sandboxes, and more.

Where can I find DSH plugins?

Browse community plugins on the GitHub Topics dsh-plugin page, or check official plugins in the DeepSeek Harness GitHub repository.

Do plugins support hot plugging?

Yes. DeepSeek Harness loads and unloads plugins dynamically at runtime for real-time capability extension.

What is the difference between official and community plugins?

Official plugins are published by DeepSeek on npm under the @deepseek-ai/dsh-* scope. Community plugins are maintained by third parties, usually named with a dsh- prefix, and are discovered through the GitHub dsh-plugin topic.

How do I publish my own plugin?

Publish the plugin as an npm package and add the dsh-plugin topic to its GitHub repository — that is how both the community and the official docs discover plugins.

Join the DSH plugin ecosystem

DeepSeek Harness remains in developer preview and is still being tested by developers building agent harnesses. Its core plugins and APIs will continue to evolve. We look forward to exploring the limits of intelligence with developers worldwide using open-source infrastructure that is reusable and composable.