The DeepSeek Harness (DSH) Agent is stateless by default, meaning every session starts from scratch. In multi-turn conversations or long-running tasks, the Agent cannot directly reference previous decisions, preferences, or facts. While the community already has heavyweight memory solutions such as dsh-mnemon, for users who have already deployed Hindsight, this “all-in-one” layer can feel cumbersome.

dsh-hindsight is an official-grade plugin maintained by Ryu6Zero. It bridges DSH directly to the Hindsight REST API to provide cross-session memory capabilities for the Agent. It is a self-contained Cordis plugin that does not include the orchestration layer from dsh-mnemon and does not bundle a storage engine; essentially, it is a standalone HTTP client for the Hindsight REST API.

Installation and Prerequisites

Before installing, make sure your environment meets the requirements: Node.js version >= 20 and DeepSeek Harness version >= 0.1.1-rc.2.

Install it for both the Web profile (full UI) and the Headless profile (command-line tasks)—both expose the same set of tools:

dsh plugin --profile web add dsh-hindsight
dsh plugin --profile headless add dsh-hindsight

After installation, start the relevant profile to use it.

Core Features

  • /hindsight slash command: provides capabilities such as status queries, semantic recall, knowledge graph traversal, memory listing, asynchronous operation inspection, and memory remembering and forgetting.
  • 6 model tools: the Agent can directly call hindsight_status, hindsight_recall, hindsight_related, hindsight_list, hindsight_remember, and hindsight_forget.
  • Knowledge graph traversal: via hindsight_related, starting from a single memory and using BFS to traverse the neighbors (1-5 hops) of the Hindsight entity relationship graph, tracing related decisions.
  • Proactive memory guidance: when autoRemember is enabled, the model proactively identifies and saves persistently reusable facts (such as preferences, decisions, and constraints), and follows an “ask when uncertain” strategy to prevent dirty data.
  • Memory guidance injection: when systemPromptSection is enabled, the model receives a memory-guidance system prompt section in the first turn, making it clear when it should recall or save.
  • Asynchronous operations observability: via /hindsight operations or tools, inspect the state of the memory extraction queue, resolving the “just saved but not found” confusion.
  • Batch deduped writes: hindsight_condense supports submitting multiple facts at once and automatically skipping content that duplicates recent memories.
  • Recall cache: identical queries within 60 seconds return cached results directly, improving response speed.
  • Multi-bank read-only exploration: supports cross-project bank retrieval via the bank parameter or @bankName prefix (read-only).
  • Hot configuration: after changing configuration such as endpoint, token, or autoRemember, changes take effect immediately without a restart.
  • Deployment diagnostics: when the service is unreachable, hindsight_status returns specific diagnostic information and Docker startup guidance.
  • Standalone client: outside the plugin, HindsightClient can be reused for zero-dependency HTTP interactions.

Configuration

The default configuration points to a local Hindsight service. Override the defaults in the hindsight namespace of the DSH settings UI (directly modifying the bundle patch is not recommended):

Field Default Description
endpoint http://localhost:8888 Hindsight service endpoint
token '' Bearer Token for the remote service; leave empty for an open local service
bankId hermes Memory bank ID
defaultRecallLimit 10 Maximum items per recall
autoRemember true Whether to guide the model to proactively save facts
systemPromptSection true Whether to inject a memory-guidance section into the system prompt
recallCacheTtlMs 60000 Recall cache TTL (milliseconds); 0 disables the cache

Typical Usage

The following are typical command examples:

/hindsight status               # 查看记忆库统计、连接状态
/hindsight recall 记忆架构决策   # 语义召回相关记忆
/hindsight related <ID> [depth] # 查看知识图谱邻居
/hindsight list                 # 列出最近记忆
/hindsight operations [数量]     # 查看异步操作队列
/hindsight remember 记住X        # 主动保存一条事实
/hindsight forget <ID>          # 删除某条记忆

In conversation, the Agent can also autonomously perform the above operations by using model tools to “look up memory” or “remember this.”

Use Cases and Considerations

  • Use cases: suitable for developers who have already deployed the Hindsight service and want to add long-term memory and knowledge graph retrieval capabilities to the DSH Agent.
  • Asynchronous behavior: Hindsight asynchronously extracts memories through its own LLM/consolidation queue. A fact just remembered may need more than the test window before it appears in recall; this is Hindsight’s own mechanism, not a plugin issue.
  • Out-of-scope features: does not include a WebUI workbench, multi-provider orchestration, bundled storage, client/browser bundle, or extraction/distillation sub-Agents.

Summary

dsh-hindsight provides a lightweight HTTP client and a rich set of command tools, enabling the DSH Agent to integrate seamlessly with Hindsight’s vector memory and knowledge graph capabilities. If you need to add long-term memory to an Agent without introducing a complex orchestration layer, this is a ready-to-use option.

Repository: https://github.com/Ryu6Zero/dsh-hindsight