swaylq/dsh-genie

Keeps what the agent builds at runtime: turns a cordis_define dynamic package into a real installed plugin that survives restart, writing the bundle and registering the profile layer with no pnpm, no network, and no build authorization.

Keeps what the agent builds at runtime. DeepSeek Harness can already write its own plugins with cordis_inspect / cordis_define / cordis_run and hot-load them into the live process — but the official docs state those dynamic packages live only in the shared DSH process memory, survive no restart and cannot be promoted automatically. dsh-genie collapses the "regular development workflow" into one tool call: when you tell the agent to keep a working experiment, genie_keep turns the cordis_define dynamic package into a real installed plugin that is still there after a restart. It needs no pnpm, no network and no build authorization.

Development & Runtime ★ 0 updated 2026-08-15
View on GitHub ↗

Install

dsh plugin --profile web add github:swaylq/dsh-genie

README: install the bundle into a profile (the github:swaylq/dsh-genie form is shown). The launcher resolves its own bundles, so it works from a link: checkout or a git install. Nothing extra is needed to grant a wish: no pnpm, no network, no build authorization — a granted wish is written straight into $DSH_HOME/genie/ and linked where the launcher already resolves modules.

Compatibility

DSH builds that ship the self-referential cordis_inspect / cordis_define / cordis_run toolset. Grants persist outside the dynamic-package layer; the README notes dsh plugin's reconcile pass only removes a bundle whose name it manages, so adding other plugins leaves your wishes alone.

Details

Recent updates

README contrasts the two paths: the normal git-install route needs a prepare script from the author and an allowBuilds grant from you (arbitrary code execution at install time), whereas a granted wish is written directly into $DSH_HOME/genie/ and linked where the launcher already resolves modules.

FAQ

How do I install dsh-genie?
Run dsh plugin --profile web add github:swaylq/dsh-genie (a link: checkout works too — the launcher resolves its own bundles).
Why do dynamically written DSH plugins disappear?
The official toolset documents that dynamic packages live only in the shared DSH process memory: they create no plugin file, install no package, change no config, do not survive restart and cannot be promoted automatically. dsh-genie provides that promotion step.
Does keeping a wish need a build step or network access?
No — a granted wish is written straight into $DSH_HOME/genie/ and linked where the launcher already resolves modules, so no pnpm, network or build authorization is involved.

More plugins in Development & Runtime

Browse more in Development & Runtime

Guides for Development & Runtime plugins