goecho/dsh-generation
dsh-generation
Fork agent presets and run tasks on the next generation. Make, not a compiler.
Install
npx @deepseek-ai/dsh plugin --profile web add github:goecho/dsh-generation#fb2f69dRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-generation)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from goecho/dsh-generation, cleaned of badges and images.
dsh-generation
English | 中文
A DeepSeek Harness plugin that forks agent presets and runs a task on the next generation.
It is make, not a compiler. Creator mode is already the compiler: it can inspect the runtime, edit files, and author presets. This plugin only records a lineage — copy a known-good preset, let the meta agent edit that copy with ordinary fs / bash, then start a new working session on it.
Install
dsh plugin --profile web add github:goecho/dsh-generation#fb2f69d
Then restart dsh --profile web so the host profile reloads. Pin that commit, or a later SHA from the commit history, after you have read the source. The package is plain JavaScript, so git installs do not need a prepare build allowlist.
Then open a Creator mode (cordis) session — or a copy of that preset whose composition still has a plugin row name: '@deepseek-ai/dsh-tool-cordis'.
dsh plugin add installs into the host profile, so the two tools are registered globally. This plugin then hides them from every non-Creator session (including user copies of standard / minimal / code) and from every agent with origin: subagent, including the workers generation_run starts. Execute still refuses a non-Creator caller.
This repository already has the dsh-plugin, dsh, and deepseek-harness GitHub topics.
Why
DeepSeek Harness splits composition into a Host plane (sandbox, model route, persistence) and an Agent plane (tools, persona, prompt). A session’s preset is locked once a turn has run, so you cannot hot-swap the working agent’s toolset without stranding logged tool calls.
The useful bootstrap is the same as a C compiler: each generation is a new binary. Stage N writes files for stage N+1; you do not patch the process that is currently compiling.
What it is not
- Not a replacement for Creator mode (
cordispreset) orcordis_define/cordis_run - Not a way to recompose the current session, or to give an in-process subagent a different preset
- Not a YAML/JS generator, scorer, or auto-promoter of the default creator
- Not a Host-plane kernel: it does not add services, session event types, or sandbox backends
- It does not depend on
@deepseek-ai/dsh-tools/@deepseek-ai/dsh-llm. Tools are registered as raw definitions so a second copy of those packages cannot split the host’s module identity.
Design
Four rules:
- The kernel stays assembly. No new Host services, no new
SessionEventtypes, no unlockingagent-preset-locked. - A generation is a new process of composition.
generation_runusesagents.create+agentPresets.mount(id), neverrecomposeon the meta session and nevercomposeFrom(in-process children inherit the parent preset). - This plugin is make. It does not write
agent.cordis.yml. Editing uses tools the creator preset already has. - A human is stage3.
forkandrungo throughtools/pre-executeask. Nothing is promoted to the default creator automatically. Lineage is the meta session log (tool/call/tool/result), not a second database.
meta session (cordis + this plugin)
→ generation_fork copy a preset to a new id
→ fs / bash edit the copy (not this plugin)
→ generation_run new agent, mount that id, run the task, dispose
→ summary back into the meta log
→ fork again or stop
…
