Delorun 文档

Update Delorun with many plugins

English

This page describes how Delorun works today.

Summary

This page is for people who run many plugins that other people wrote. A release can exclude a plugin whose declared version range does not admit it, and the update turns that plugin off. You can see which ones before you decide, try one anyway, and go back if the new release does not work for you. You need Delorun installed with its launcher and git (Updates lists the prerequisites). The steps run in order: before, check, update, after.

Contents

Before: what is saved

Delorun saves your setup itself, so you do not copy it by hand. Before the switch it records a profile history version named Before update to Delorun <version> (a snapshot). The version holds your plugin list and the versions you pinned, your bundle list, your patches and your plugin version exemptions. It does not hold the plugins' installed code; delorun recover and the studio's Setup versions screen bring the list back, and the profile installs from it.

Your chats are not part of that snapshot. Most releases store them as the release before did, and then nothing needs copying. When a release changes the chat-data format, Delorun offers a copy first. To take a copy for any update, add --data-copy:

delorun update --data-copy

For work you cannot lose, also write it out with delorun export <chat-or-workspace> --out <file>, which saves a chat, or a workspace with its chats, as a file another home imports (Daily use). Export covers chats and workspaces, not plugins.

Check: read the report

Run the report while Delorun runs. It installs the release beside yours and changes nothing:

delorun update --report

Read the lines under Changes. Each starts with what happens to the plugin:

  • kept: the plugin carries over. Delorun lists it only when you should see it, for example a plugin that runs under an exemption.
  • disabled: the update turns the plugin off. A line such as acme-tools requires DSH ^0.1.0; Delorun 0.2.0 runs DSH 0.2.2. says which range excludes the new release.
  • removed: the plugin or bundle leaves your lists.
  • An item that ends Delorun cannot predict this item. is one the report could not decide, for example because its package.json cannot be read.

Read each disabled line with the plugin's author in mind. A plugin that declares no range is kept, with a line saying its compatibility is not stated.

Check a plugin before the release exists, or one you are writing, with delorun plugin check <directory>. It reads the folder's package.json, runs none of its files, and says what each of the plugin's version ranges admits against the release you run. It applies no exemption.

When a disabled line is a DeepSeek Harness range and you want the plugin anyway, the report prints the way to try it. A version exemption accepts the risk for one exact plugin version on one exact DeepSeek Harness version:

delorun plugin allow-version acme-tools@1.2.0 --dsh-version 0.2.2 --accept-risk

Delorun prints the risk before it saves the exemption. Use the plugin version the report names and the DeepSeek Harness version it says the new release runs. An exemption does not carry to the next plugin version or the next Delorun release, so repeat it when either changes. delorun plugin version-exemptions lists the ones you have, and delorun plugin revoke-version removes one. A Delorun range (engines.delorun) has no exemption: ask the author for a release that admits the new version, or keep the plugin disabled.

Run delorun update --report again to see the line change, then decide.

Edge cases
  • If the report says a plugin runs today under your exemption that does not cover the new version, then the exemption names the old DeepSeek Harness version. Grant it again for the new one.
  • If you decline the update, then no plugin changes, and the exemption stays saved.

Update: the health check

Run delorun update. It prints the report again and asks Apply the update to Delorun <version>?. delorun update --yes confirms only a report that turns nothing off, removes nothing and holds nothing Delorun cannot predict, so with many plugins you will usually answer the question yourself. A report is valid for ten minutes.

After the switch, the new release has two minutes to pass its health check. The check verifies that:

  • the new release's own files match their signed list;
  • the studio answers;
  • every plugin, bundle and profile entry the update turned off was one the report named;
  • every entry the report did not name loads without an error, except one that already failed to load before;
  • your bundle list is the one the report predicted.

An exempted plugin that fails to load is an entry the report did not turn off, so the check fails. If any check fails, or the new release stops, Delorun goes back on its own to the release and profile you had and prints which check failed: Delorun <version> failed its health check (<check>); Delorun <previous> runs again with the profile from before. See delorun logs. On success it prints Delorun <version> runs now.

After: verify and go back

Check that your plugins are on: open the studio's Settings, Plugins page, or run delorun doctor, which reports a plugin the installer or the start refuses and prints the command that accepts the risk.

If the new release works but a plugin does not, the setup is in the history, so you can go back one step at a time:

You wantRun
The previous release and your profile from before the updatedelorun recover rollback
Your profile from before the update, on the new releasedelorun recover rollback --profile-only
Any saved version of your setupdelorun recover restore <version>, or Settings, Setup versions in the studio
To see where you standdelorun recover status
Delorun without your own pluginsdelorun recover safe-mode

The versions screen in the studio (Settings, Setup versions) lists every saved version newest first. What changes on a version shows which plugins would come back, change version or be removed, and which exemptions change; it writes nothing. Switch to this version saves your current setup first, so switching back is the same step. The rollback is described in Going back.

A rollback to the previous release needs the chat-data copy when the chat format changed; without one it refuses with ROLLBACK_NEEDS_DATA_COPY, and --profile-only still works.

Edge cases
  • If Delorun will not start after an update, then replace the program and keep your data: npx delorun@latest repair (Repair). A plugin that stops the start is a different case: delorun recover safe-mode.
  • If the release channel cannot be reached, then download the release's files and run delorun update --from <folder> (Update from files you downloaded). The report, the health check and the rollback are the same.
  • If a plugin you rely on has no compatible release, then do not update yet: keep running the release you have, which still checks the channel once a day and tells you when a newer one exists.
Go further
  • Look for plugins a release would turn off before you update: delorun update --check names how many, and delorun update --report names which.
  • Take the chat-data copy every time: delorun update --data-copy.
  • Check a plugin's declared ranges against the release you run: delorun plugin check <directory>.

Next

本页描述 Delorun 0.0.0。

English

本页目录