When developing agents in DeepSeek Harness (DSH), developers often need to modify historical inputs or redo the previous step. The existing Web interface lacks direct undo or regeneration features. dsh-retrace fills this gap through the plugin mechanism and provides session rollback capabilities similar to a “time machine.”

What Is This

dsh-retrace is a DeepSeek Harness plugin that provides session “time machine” functionality. It is a compatibility-fix fork based on yamingmou/dsh-retrace. The plugin supports message revocation, edit-and-resend, regeneration, and versioning for conversation history and file artifacts. It is deeply compatible with the plugin service registration mechanism in DSH 0.1.5+ and is designed to address problems caused by accidental operations and difficult iteration.

Core Features

This plugin provides the following core capabilities:

  1. Full-turn revocation: With one click, revoke the current turn (including the prompt, tool calls, and response). The original prompt is automatically echoed back into the input box.
  2. Edit-and-resend: Modify a historical prompt in place at any time and regenerate the response. The interface includes a collapsible reference to the original prompt.
  3. Regeneration: Keep the original prompt unchanged, revoke the previous response with one click, and let the agent answer again.
  4. Session and artifact versioning: Supports independent or synchronized rollback of conversation context and file artifacts, and provides write-safety mechanisms to ensure that /compact remains valid.

Installation and Enablement

After installing or updating the plugin, you must restart DSH and refresh the page for the changes to take effect.

Web installation:

dsh plugin --profile web add github:daha1216/dsh-retrace

Desktop installation:

dsh plugin --profile desktop add github:daha1216/dsh-retrace

If dsh is not globally configured in your environment variables, prefix the command with npx --yes -p @deepseek-ai/dsh.

Typical Usage

  • One-click revocation: In the conversation list, click the revoke button. The current full turn (including tool-call records) is removed, and the prompt text is automatically filled into the input box for resending.
  • Edit-and-resend: Expand the history, modify the prompt content in the input box, and click send. The system generates a response based on the updated prompt and retains the original prompt as a reference.
  • Regeneration: If you are not satisfied with a response, click the regenerate button directly. The system removes the current response and regenerates it using the same prompt.

Applicable Scenarios and Notes

  • Intended users: DSH agent developers who need fine-grained control over conversation flow, frequently revise prompts, or need to roll back conversation history.
  • Permission note: The plugin runs with the permissions of the current DSH process. Before installation, it is recommended to review the source code and license (MIT).

The plugin enhances DSH’s interaction safety through versioning mechanisms, making session management more controllable. For more details, consult the plugin directory or the GitHub repository.