Skip to content
Cursos/DeepSeek Harness (DSH)/DeepSeek Harness · Phase 6
Revisión pendiente desde 21 ago 20262 fuentes primarias

Plugins and custom profiles

Plugins give the agent capabilities; a profile chooses the appropriate combination. Add one piece at a time and measure its effect.

Qué vas a conseguir ahora

Una decisión o prueba aplicada a «Plugins and custom profiles».

  1. 1Entiende el criterio
  2. 2Haz una práctica pequeña
  3. 3Guarda una evidencia
Evidencia

Una nota breve con qué hiciste, qué salió bien, qué falló y qué revisarías después.

Objetivos de aprendizaje
  • Identify the capabilities a task actually needs.
  • Avoid collecting unnecessary tools.
  • Create a reproducible profile.

Minimum capabilities

A code review may need search, read access and tests. A document summary does not need shell access. Every extra tool increases the error surface and audit burden.

  • Model: provider, name and parameters.
  • Tools: files, shell, web or APIs only when necessary.
  • Policy: which actions need confirmation.
  • Observability: logs and execution evidence.

How a Profile is composed

A profile contains a `package.json` with plugin dependencies and a `dsh.profile` manifest with the ordered bundle list. It also has a `cordis.patch.yml` with your configuration layer.

The CLI composes bundle patches first, then the profile patch, then `$DSH_HOME/cordis.patch.yml`, then overlays passed through `--patch`.

Terminal
Conceptual order:
1. profile bundles
2. profile cordis.patch.yml
3. $DSH_HOME/cordis.patch.yml
4. --patch overlays

# Inspect without booting
 dsh --profile web --dump-default-config
 dsh --profile web --dump-config

Your first minimal plugin

The official development guide starts with a TypeScript plugin exporting `name` and `apply(ctx)`. Cordis calls `apply` when loading it, and the context registers capabilities.

To test it in the Web UI from a repository checkout, create an absolute-path patch and run `pnpm dsh web --patch ./scratch-plugin/cordis.yml`.

Terminal
import type { Context } from '@deepseek-ai/cordis'

export const name = 'hello-plugin'

export function apply(ctx: Context) {
  console.log('[hello-plugin] plugin loaded!')
}

Dependencies and cleanup

If a plugin consumes a service such as `tools`, declare `inject = ['tools']`; Cordis waits for the service before loading it.

Everything registered through `ctx` is cleaned up on unload. For external resources such as sockets or timers, use `ctx.effect()` and return a disposer.

Terminal
export const name = 'my-tool-plugin'
export const inject = ['tools']

export function apply(ctx) {
  ctx.tools.register(/* ... */)

  ctx.effect(() => {
    const timer = setInterval(() => {}, 5000)
    return () => clearInterval(timer)
  })
}

Regression check

After adding a plugin, repeat a short task you already know. If it worsens the result, raises cost or introduces unrequested actions, revert to the previous profile.

Terminal
Profile: read-only-review
Tools: search, read
Forbidden: write, network, destructive commands
Output: findings with file and line evidence
Comprueba que funciona. Document one profile with a name, purpose, allowed tools and one check it must pass.
Guardar y reabrir el proyecto.
Modular does not mean installing everything; it means justifying every part.

Si has guardado la evidencia de esta lección, continúa con «Subagents, skills and orchestration». Si no, repite la comprobación antes de avanzar.

Complete Aulafy mapSee how this lesson fits without leaving your path.

Complete Aulafy map

How all courses connect

This is not a checklist. Start with the foundation, choose an outcome, and go deeper only when your project needs more control.

  1. 1Understand
  2. 2Apply or build
  3. 3Operate with confidence
01

Choose an application

Turn the foundation into a visible outcome: a website, a business improvement, media, or an interactive experience.

Continue into the technical branch when you need to maintain code, data, or infrastructure.

02

Build with code

Prepare your environment, work with coding agents, and run models while keeping control of your projects.

This branch prepares you to design and operate reliable AI systems.

03

Take systems to production

Combine retrieval, agents, evaluation, security, deployment, and model adaptation when the problem requires it.

You do not need every course: choose the component your system needs and return as it grows.

View full catalogue