Introduction

DeepSeek Harness divides agent development into a host plane (sandbox, model routing, persistence) and an agent plane (tools, personas, prompts). Once a session’s preset is locked, you cannot hot-swap a working agent’s toolset without interrupting logging. The dsh-generation plugin enables copying a known-good preset by recording lineage, editing the copy with standard fs/bash tools, and starting a new working session on top of it.

What It Is

This is a DeepSeek Harness plugin for forking agent presets and running tasks in the next generation. It is maintained by goecho, belongs to the workflow category, and uses the MIT license.

Core Capabilities

The plugin provides the following core capabilities:
1. Fork agent presets: Copy existing agent presets (such as standard, minimal, or ptc).
2. Run tasks in the next generation: Execute tasks on the forked preset.
3. Record lineage: Log tool calls and results via meta session logging tools.
4. Create new working sessions: Establish independent working environments.
5. Tool registration: Register tools globally in the host configuration file.

Installation and Enablement

Install the plugin into the host configuration file via the command line:

dsh plugin --profile web add github:goecho/dsh-generation

After installation, restart dsh --profile web so the host configuration file is reloaded.

Typical Usage

The plugin provides two main tools: generation_fork and generation_run.

generation_fork

This tool is used to copy a preset. It calls agentPresets.copy(from, id) and writes the purpose into the new preset’s preset.yml description.

Parameters:
* from (required): The preset ID to copy. standard, minimal, or ptc are recommended.
* id (required): The new preset ID. The format must match /^[a-z0-9][a-z0-9-]*$/, and it must not already exist.
* purpose (required): A single sentence written into the new preset’s description.

Return value:

{ "ok": true, "id": "...", "from": "...", "purpose": "...", "path": "...", "compositionPath": "..." }

generation_run

This tool is used to run a task on a forked preset. After approval, it creates an agent, mounts the preset, executes followup(task), waits until idle or timeout, and then cleans up.

Parameters:
* preset (required): The preset ID mounted into the new working session. It cannot be cordis.
* task (required): A self-contained follow-up task passed to the worker. The worker cannot see the meta session history.

Return value:

{ "ok": true, "sessionId": "...", "presetId": "...", "stopReason": "...", "toolsUsed": [...], "lastAssistantText": "..." }

Use Cases and Considerations

Use Cases

Suitable for scenarios requiring iterative development, configuration changes, or experimenting with new behaviors based on existing reliable presets. Through chained calls, you can continuously fork, edit, and run new sessions in the meta session.

Limitations and Notes

  1. Not a replacement: It is not a replacement for Creator mode (the cordis preset) or cordis_define/cordis_run, nor is it intended for reorganizing the current session or swapping presets for sub-agents.
  2. No dependencies: The plugin does not depend on @deepseek-ai/dsh-tools or @deepseek-ai/dsh-llm. Tools are registered with raw definitions to avoid module identity splitting.
  3. Global registration: Tools are registered globally in the host configuration file and are hidden from non-creator sessions.
  4. Restart requirement: You must restart dsh --profile web after installation.
  5. Worker restrictions: Worker presets cannot be cordis and must not contain the @deepseek-ai/dsh-tool-cordis plugin line.
  6. Security: Treat a Creator session that can fork and run as shell access. Each fork and run requires human approval.

Summary

dsh-generation is designed to provide a copy-based iterative construction approach for agent development through the “Make, rather than Compiler” philosophy, instead of patching running sessions.