Introduction

In DSH’s long sessions, context accumulates over multiple rounds of dialogue. After compression or summarization, what remains in the model window might just be a summary, making it inconvenient to locate the original wording, specific settings, or temporary discussions again. dsh-recall turns “searching chat history” into a recall tool callable by an agent, used to retrieve original text fragments from the session when needed.

What is it

dsh-recall is a DSH plugin maintained by Relistencode for retrieving original session history in DeepSeek Harness. It provides literal, fuzzy, and semantic three-layer retrieval. The documentation states it is completely local and offline, without external model APIs.

The version listed in the documentation is 0.2.2, with an MIT license, and requires Node >=22. It is designed for installation into a DSH web profile and can be called via the recall tool when needed by the agent.

Core Features

Three-Layer Hybrid Retrieval

dsh-recall merges literal, fuzzy, and semantic retrieval results. Literal and fuzzy handle direct keywords and approximate phrasing; the semantic layer only participates if it covers ≥90% of the literal/fuzzy hits, otherwise it silently degrades.

When a layer is unavailable, the mechanism degrades to the next layer rather than throwing an error directly. This ensures the recall tool can continue to return available results.

Progressive Disclosure

By default, dsh-recall returns a lightweight coarse recall. When more complete content is needed, one can further read the original text window.

This allows the plugin to first provide a summary or snippet sufficient for judgment, and then expand the original text on demand, avoiding loading too much context at the start.

Event Aggregation

Multiple mentions of the same topic are merged into an event. The documentation claims this can organize scattered mentions into a more complete set of content, which can be obtained by further reading to get the full event text.

For recurring settings, decisions, or requirements, this is closer to a complete discussion than fragmented individual mentions.

Active Recall

An agent can call the recall tool itself when needed. Typical scenarios include after compression, when the current context lacks early details, or when the user explicitly requests to retrieve previously discussed content.

The default scope is the current session. workspace and all scopes are only used when explicitly requested by the user.

Compression Anchors and History Overlap

During compaction/summary, dsh-recall injects lightweight anchors. The index covers compressed history, so original text can still be retrieved after summarization.

The documentation also lists incremental indexing and background warm-up for completing index preparation in the background.

Local Offline and Optional Models

The documentation for dsh-recall claims it is completely local and offline, without external model APIs.

If the optional dependency dsh-recall-models cannot be resolved, the documentation states that models within the repository will be used.

Installation and Enablement

Installation

Execute the following command to install a specific version:

dsh plugin --profile web add dsh-recall@0.2.2

After installation, restart dsh web.

The documentation also mentions that dsh-recall can also be installed, disabled, or uninstalled from the Add-ons block in dsh-extension-hub.

Installation from Source

If installing from source, the command is:

dsh plugin --profile web add git+https://github.com/Relistencode/dsh-recall.git

This method is suitable for offline environments.

Optional Configuration

If disabling the semantic layer and keeping only literal and fuzzy, you can configure:

- id: recall
  name: dsh-recall
  config:
    semantic: false

If you want to reduce the CPU usage of background warm-up, you can configure:

- id: recall
  name: dsh-recall
  config:
    warmup: gentle

The above configuration items are from verified documentation; actual usage is subject to the plugin’s current version documentation.

Typical Usage

After installing and restarting DSH web, you can let the agent search for early context in the conversation. Users can also explicitly make recall requests, for example, asking to confirm if a configuration, decision, or requirement was previously discussed.

Recall starts from the current session by default. If you need to expand to workspace or all scope, it should be explicitly requested by the user.

If the lightweight coarse recall is not complete enough, you can further read the original text window; if the same topic is scattered in multiple places, you can first view the aggregated events, then read the full event text.

Use Cases and Notes

dsh-recall is more suitable for sessions with a long history, which have been compressed, or where the same topic appears multiple times. It provides original records on demand, rather than stuffing a large amount of history into the context at once.

Please note: As a DSH plugin, dsh-recall runs with the permissions of the current dsh process. Before installing, you should check the source code, dependencies, and MIT license, and confirm that its local offline behavior meets your usage environment.

Links

  • Directory Page: https://www.skillhub.cn/plugins/Relistencode/dsh-recall
  • GitHub: https://github.com/Relistencode/dsh-recall