Delorun 文档

Where to customise what

English

This page describes how Delorun works today.

Summary

You can reshape Delorun at six levels, from a setting in the studio to the harness's own source. Each level reaches further than the one before it and costs more at each update, so choose the first one that can make your change. None of them edits Delorun's signed release, though the last runs files you changed, and an update shows what it would turn off before it does (updates never take your work away).

Contents

The levels

LevelWhat it changesWhere it livesWhat an update costs you
SettingsWhat a plugin's settings page offersThe studio's Settings and Plugins pagesNothing: settings carry over
Profile patchAny plugin's configuration; turning a plugin offYour profile's cordis.patch.ymlA key a new version renames or removes; a patch restates a plugin's whole config
Agent presetThe tools, instructions, skills and models an agent starts withPresets made in Creator mode, kept in your profileLittle: a preset names plugins, so only a removed or renamed one breaks it
Your own pluginNew tools, studio parts, services, plugin rowsA package installed into your profileIts engines ranges: a range that excludes the new release turns the plugin off until you widen it and test
Fork of a shipped pluginHow one of DeepSeek Harness's plugins behavesA renamed copy installed into your profile, with the shipped row turned offYou merge every upstream change to that plugin yourself, and its interfaces can change in any minor release before 1.0
The harness itselfAnything, the plugin loop includedYour own copy of the installed release's program files, made by delorun changes edit-harnessEach change belongs to the installed version, and the update report says how it carries over; you run code Delorun did not sign

Change a plugin's settings

Most plugins have a settings page in the studio, which saves into your profile. For what a page does not offer, your profile's cordis.patch.yml, under ~/.delorun/profiles/<profile>/, patches any plugin's row by its id. A patch replaces the row's whole config, so restate every key the plugin needs, and disabled: true turns a row off. DeepSeek Harness's loading order explains which layer wins. Delorun refuses to start with a patch that turns off one of its protections, and names the file.

Make an agent preset

An agent preset decides which tools, instructions, skills and model an agent starts with. Make one in the studio by starting a chat in Creator mode, or package one as a plugin with delorun plugin new <name> --kind preset (Write a plugin for Delorun). A preset names the plugins it uses, so an update affects it only when one of them is removed or renamed.

Write a plugin

A plugin adds behaviour without changing anything Delorun ships: a tool, a part of the studio, a service other plugins use, or a bundle of settings for existing plugins. Write a plugin for Delorun goes from delorun plugin new to an installed plugin. You can also start one from Settings, Plugins, Create a plugin, or ask the agent in a chat to make one in your workspace (from the studio, in a chat); in both, turning it on is your step at the computer. Changes protection is off by default, so edits to a plugin you linked, including the agent's, reload live and are logged as loaded without review; turn protection on and they wait for your approval (Changing your harness). Declare engines.dsh and engines.delorun: at an update, Delorun turns off a plugin whose ranges exclude the new release and tells you before it does, and delorun/docs/contracts/c22-delorun-plugin-interface.md says what each release may change.

Fork a shipped plugin

Delorun loads the packages it ships from its own installation, so a package in your profile with a shipped package's name never loads. To change how one of DeepSeek Harness's plugins behaves:

  1. Copy its package into a folder and give it a new name in package.json, such as my-todo for @deepseek-ai/dsh-tool-todo, with its own engines ranges and a dsh.bundle declaration.

  2. In the copy's cordis.patch.yml, turn the shipped row off and insert yours under a new id, with the configuration the shipped row had:

    - id: tool-todo
      disabled: true
    - insert:
        - id: my-todo
          name: my-todo
          config:
            allowParallelInProgress: true
  3. Install the copy with delorun plugin add ./my-todo, or work on it with delorun plugin dev ./my-todo.

Delorun's own plugins and the rows its protections need, such as the sandbox, cannot be replaced this way: Delorun refuses to start with any of them off and names the file that turned it off. Change those through their settings, or edit the harness. A fork keeps the plugin's code as it was when you copied it, so check each release's changelog for the plugin and bring its changes over yourself.

Edit the harness itself

A change to the plugin loop, the composition or Delorun's protections goes in your own copy of the installed Delorun's program files: delorun changes edit-harness makes the copy and prints its folder, and each file you save there is a change to Delorun itself that delorun changes list shows and delorun changes undo takes back. The installed release is never edited, but Delorun's signature and release log no longer describe the code you run, and delorun verify lists the files you changed. Changing your harness covers protection, which waits for your review before a change loads, and the studio's Changes section. Prefer a plugin wherever one can make the change.

本页描述 Delorun 0.0.0。

English

本页目录