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¶
/hindsightslash 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, andhindsight_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
autoRememberis 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
systemPromptSectionis 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 operationsor tools, inspect the state of the memory extraction queue, resolving the “just saved but not found” confusion. - Batch deduped writes:
hindsight_condensesupports 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
bankparameter or@bankNameprefix (read-only). - Hot configuration: after changing configuration such as
endpoint,token, orautoRemember, changes take effect immediately without a restart. - Deployment diagnostics: when the service is unreachable,
hindsight_statusreturns specific diagnostic information and Docker startup guidance. - Standalone client: outside the plugin,
HindsightClientcan 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