DeepSeek Harness (DSH) is an agent harness, not a new AI model. It supplies a way to run an agent and compose its behavior. In Alejandro AO's walkthrough, the surprising part is how far that composition goes: tools, model connections, prompts and even the agent loop can be supplied through plugins. That makes DSH unusually adaptable, but also makes plugin provenance and permissions part of the design job.
DSH is the application; Cordis is its composition framework. A plugin registers a capability in a shared context, declares the services it needs, and can have its registrations removed when it unloads. Start with a harmless plugin in a disposable workspace before you let an agent alter its own setup.
Watch Alejandro Build and Load the Plugins
The video uses both DSH's Electron desktop app and its locally served Web UI. Alejandro first asks Creator mode to make a greeting tool, then writes small plugins himself. His model-provider example uses GLM through Hugging Face; that is his configuration, not a requirement to run DSH.
What Does "Everything Is a Plugin" Mean?
A conventional coding assistant often exposes a fixed agent loop with a few add-on tools. DSH lets a composition choose more of the machinery. The official repository calls this an everything-is-a-plugin architecture, while its Cordis primer explains how components connect. The distinction is useful: a model provider answers requests; the harness decides when to call it, what context and tools it receives, and how the session proceeds.
| Layer | What a plugin can change | First question to ask |
|---|---|---|
| Model access | Provider or adapter used for model calls | Where do credentials and task data go? |
| Tools | Actions exposed to the agent and how they execute | What can this tool read, write or run? |
| Prompt and context | Instructions and information made available to the loop | What is trusted input versus untrusted content? |
| Agent loop | The decision cycle itself, including whether a model is called | How does it stop, recover and report errors? |
The desktop modes Alejandro shows, including Standard, PTC, Minimal and Creator, illustrate different compositions. A custom loop that never calls a model is possible as an architecture demonstration; it would not, by itself, be a useful coding assistant.
Cordis in Five Ideas
Cordis is a separate open-source framework, not just a DSH-specific plugin folder. Its design paper describes composition across dependencies and time. For builders, the official primer reduces that to five practical ideas:
- Plugins provide capabilities. A module's
apply(ctx)runs when the plugin loads. - Services live in context. Other plugins can access a named capability through
ctx. - Dependencies are declared. An
injectlist delays activation until required services exist. - Events connect behavior. Plugins can listen, transform, or coordinate without directly importing every other plugin. Current docs describe several dispatch forms; choose the one that matches the result you need.
- Effects have a lifetime. Registrations made through Cordis can be undone on unload; external resources need an explicit disposer through
ctx.effect().
That last point is more than housekeeping. A plugin that adds a tool and cannot remove it cleanly makes experimentation and configuration changes much harder to reason about.
What Alejandro's Three Plugin Demos Actually Show
The code section moves from a minimal hello plugin to a named greeting tool and a guard around a shell action. The greeting shows dependency injection into DSH's tool service: the tool becomes available to the agent because the plugin registers it. The hello plugin makes the load step visible in the console. The guard shows that an event or execution boundary can be intercepted. It is not a comprehensive command policy or sandbox. String-based checks can miss equivalent operations, and any agent with broad filesystem access can cause damage through other routes. DSH's safety guidance calls for minimum permissions, backups, disposable environments and review of plugin code.
Try One Plugin Without Changing Your Daily Profile
This JQ AI SYSTEMS test follows DSH's official first-plugin tutorial. It verifies loading and unloading, not agent intelligence. Use a throwaway directory and current docs because the repository explicitly labels DSH a developer preview with breaking changes.
- Prepare the source checkout. Install Node.js, Git and pnpm, then clone the official repo. From its root, run
pnpm installandpnpm run build. Review scripts and dependencies before running them. - Create a scratch plugin. Make
scratch-plugin/src/my-plugin.tswith the minimal module below. It only logs that it loaded. - Add a temporary overlay. Make
scratch-plugin/cordis.ymlas below. Replace the example with the absolute path to your checkout; the official loader requires an absolute local plugin path here. - Launch and verify. From the repo root run
pnpm dsh web --patch ./scratch-plugin/cordis.yml. Openhttp://127.0.0.1:3080and confirm the terminal prints the hello-plugin message. Stop the process and restart without--patch; the message should be gone. No model key is needed to test this log-only plugin, but chatting with an agent requires configuring a model provider.
import type { Context } from '@deepseek-ai/cordis'
export const name = 'hello-plugin'
export function apply(ctx: Context) {
console.log('[hello-plugin] plugin loaded!')
}
scratch-plugin/cordis.yml:
- insert:
- id: hello
name: '/absolute/path/to/deepseek-harness/scratch-plugin/src/my-plugin.ts'
On Windows, use the absolute path format accepted by your checkout and verify it against the current tutorial. Do not paste a path from someone else's machine. This small plugin does not consume a service; a tool plugin would declare inject = ['tools'] before registering a tool. See the upstream example for that next step and for cleanup with ctx.effect().
From a Temporary Patch to a Desktop Plugin
A --patch overlay is a local experiment. For a plugin that should persist, the official packaging guide uses an npm bundle with a dsh.bundle manifest and a patch file, then adds that bundle to a named profile through dsh plugin --profile demo add ./hello-plugin. The CLI manages the profile under DSH's home directory; hand-editing its generated package manifest is not the recommended setup path. Alejandro shows a desktop installation in the video, but his screen is a point-in-time demo, not a compatibility promise for every release.
Before installing a third-party package, inspect its source and version, its requested services and its install scripts. The official packaging guide warns that allowing a git package's build script grants code execution during installation, outside an agent sandbox. Pin a revision and use a disposable profile for trials. A plugin that runs in your agent's process is not just a prompt template.
The Small Test Worth Running First
To decide whether DSH's flexibility is useful for your project, test one capability and its removal: (1) load a log-only plugin; (2) add a harmless greeting tool in a separate profile; (3) verify that the tool appears, returns the expected value and disappears when disabled; (4) inspect what the plugin could access before trying anything that touches files or commands. Record the DSH version, plugin revision and exact checks. That test tells you more about composability than a flashy self-modifying demo, and it gives you a baseline before adding model calls, network access or background execution. This is our suggested evaluation, not a benchmark claimed by Alejandro or DeepSeek.
Video Chapters
The application and its architecture
The framework and the build
| Time | Topic |
|---|---|
| 10:59 | What Cordis does |
| 15:04 | Context and services |
| 20:02 | Events |
| 24:00 | Plugin code demo |
| 28:54 | Loading the plugins |
Sources and Limits
Checked 9 November 2026. Alejandro's video and supplied transcript are the source for his demonstrations and ordering. We checked architecture and setup against DeepSeek's repository, the Cordis primer, plugin tutorial and packaging guide. Background: the Cordis repository and design paper. The official product page describes the public preview. We did not install DSH, run Alejandro's plugins or audit the security of third-party bundles for this article. Check the current docs before executing commands.
More from Alejandro AO: X profile and LinkedIn profile.