DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Opencontext — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-opencontext

Opencontext

DeepSeek Harness plugin that wires DSH agents to OpenContext for durable memory + retrieval-augmented context.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-opencontext@0.3.2
READMECompatibilityVersions

Compatibility and provenance

Opencontext is published as dsh-opencontext and currently resolves to version 0.3.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/20/2026

Versions

0.3.2stable
8/24/2026

Related plugins

Loading related plugins…

Latest
0.3.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
297.9 kB
Files
97
Surface
any
License
Apache-2.0
Source
npm
GitHub
★ 76
Weekly downloads
88
Last push
9/18/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in memory-context.

Memory Plugin@openviking/dsh-memory-pluginOpenViking memory and context bundle for DeepSeek HarnessContextdsh-contextA DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.Weknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Mnemondsh-mnemonComposable three-tier memory control plane for DeepSeek Harness: persistent runtime context, searchable project documents, pluggable long-term memory, guarded strategies, WebUI, and headless tools.

README

dsh-opencontext

DeepSeek Harness plugin that gives any DSH agent durable memory + retrieval-augmented context by plugging into @melandlabs/opencontext.

  • Package name: dsh-opencontext
  • License: Apache-2.0
  • Engine: Node ^22.19.0 || >=24.0.0
  • Tool prefix: oc_*
  • Skill: opencontext
  • Command: /oc doctor

Install

From npm (recommended)

# Install directly from npm
dsh plugin --profile web add dsh-opencontext

# Confirm it's mounted
dsh --profile web --dump-config | grep dsh-opencontext
#   ... should contain `id: dsh-opencontext`

# Start DSH web and verify
dsh web
#   Visit http://127.0.0.1:3080/plugins and confirm dsh-opencontext shows "Enabled"

From source (for development)

# 1. Clone the repo and navigate to the plugin directory
cd /path/to/opencontext/plugins/dsh-opencontext

# 2. Build the plugin (emits lib/)
pnpm install
pnpm build

# 3. Register it with your DSH
dsh plugin --profile web add /path/to/opencontext/plugins/dsh-opencontext

# 4. Confirm it's mounted
dsh --profile web --dump-config | grep dsh-opencontext
#   ... should contain `id: dsh-opencontext`

# 5. Start DSH web and verify
dsh web
#   Visit http://127.0.0.1:3080/plugins and confirm dsh-opencontext shows "Enabled"

Plugin view

dsh-opencontext plugin

Slash command

dsh-opencontext slash command

What you get

Core Tools (8)

ToolPurpose
oc_searchSearch long-term memory (unified across memory + insights + knowledge).
oc_rememberPersist one durable memory when the user explicitly asks.
oc_memory_listList recent memory entries in the current scope.
oc_memory_getRead one or more entries by id.
oc_memory_reviseSoft-deprecate an entry and store a successor.
oc_memory_retireSoft-deprecate an entry.
oc_prepare_contextManually build a bounded <opencontext_evidence> block.
oc_capture_sourceCapture an arbitrary content source for later retrieval.

Summary & Outcome Tools (3)

ToolPurpose
oc_session_summaryGenerate and store a session summary at natural breakpoints.
oc_task_outcomeRecord task outcomes, decisions, and achievements.
oc_recent_summariesList recent session summaries and task outcomes.

Insights Tools (2, opt-in)

ToolPurpose
oc_insights_searchSearch structured insights (decisions, preferences, outcomes).
oc_insight_captureCapture a structured insight from conversation.

Knowledge/RAG Tools (3, opt-in)

ToolPurpose
oc_knowledge_searchRAG search over uploaded documents.
oc_document_uploadUpload documents to the knowledge base.
oc_document_listList all documents in the knowledge base.

All tools return { ok: true, value } on success and { ok: false, error: { code, message } } on failure — they never throw to the model.

Recall waterfall

Every agent/pre-step event runs a recall waterfall:

  1. Derive a query from the last user message (truncated to 256 chars).
  2. backend.search({ query, limit: maxRecallItems, ... }) with a requestTimeoutMs-bounded timeout.
  3. Format hits as a fenced <opencontext_evidence> block, byte-capped to maxBytes (default 8000).
  4. The block is appended as a plugin-sourced user message with a header that flags it as untrusted historical evidence.
  5. On any backend error, the listener logs a warning and the turn continues without context.

Auto-capture

A second agent/pre-step listener runs after recall and writes each user message into the memory store under sourceType: "user_input". Gated by config.capturePrompts (default true; set OPENCONTEXT_DSH_CAPTURE_PROMPTS=0 to disable). Fire-and-forget by default so the turn is not blocked; opt into flushOnCapture: true if you need strict ordering.

Turn-end summarization

When autoSummarize is enabled, a turn/end listener:

  1. Generates a simple summary of the turn
  2. Stores it as a turn-summary memory
  3. Captures tool outcomes if captureToolOutcomes is enabled

Tool result capture

When captureToolResults is enabled, a tool/result listener captures tool call results as tool-interaction memories, creating a searchable log of all tool interactions.

Skill: opencontext

Loaded at plugin-apply time. Primes the model on the recall / capture contract, the trust model, and all available oc_* tools.

Command: /oc doctor

Prints a JSON status payload:

{
  "ok": true,
  "plugin": "dsh-opencontext",
  "backend": "lib",
  "scope": "local:9cd22c419df9",
  "db": "/Users/you/.opencontext/memory/store.db",
  "probe": { "ok": true, "mode": "lib", "details": "db=/Users/you/.opencontext/memory/store.db" },
  "recentCount": 0,
  "features": ["insights", "knowledge", "prompt-capture"]
}

Configuration

Resolved in this order (highest first):

  1. cordis.patch.yml row under id: dsh-opencontext
  2. OPENCONTEXT_DSH_* environment variables
  3. Defaults declared in ConfigSchema
FieldTypeDefaultEnv var
baseUrlstringhttp://127.0.0.1:8000OPENCONTEXT_DSH_BASE_URL
authorizationstring""OPENCONTEXT_DSH_AUTHORIZATION
scopeIdstring"" (auto)OPENCONTEXT_DSH_SCOPE_ID
timeoutMsnumber4000OPENCONTEXT_DSH_TIMEOUT_MS
requestTimeoutMsnumber1000OPENCONTEXT_DSH_REQUEST_TIMEOUT
maxBytesnumber8000OPENCONTEXT_DSH_MAX_BYTES
capturePromptsbooltrueOPENCONTEXT_DSH_CAPTURE_PROMPTS (1/0)
flushOnCaptureboolfalseOPENCONTEXT_DSH_FLUSH_ON_CAPTURE (1/0)
maxRecallItemsnumber8OPENCONTEXT_DSH_MAX_RECALL_ITEMS
autoSummarizeboolfalseOPENCONTEXT_DSH_AUTO_SUMMARIZE (1/0)
captureToolResultsboolfalseOPENCONTEXT_DSH_CAPTURE_TOOL_RESULTS (1/0)
enableInsightsbooltrueOPENCONTEXT_DSH_ENABLE_INSIGHTS (1/0)
enableKnowledgebooltrue (/)

Presence-only switch:

  • OPENCONTEXT_DSH_HTTP_URL — flip to HTTP mode (any non-empty value).

Trust model

The <opencontext_evidence> block surfaced by the recall waterfall is host-supplied context, not instructions. It is explicitly framed as untrusted historical evidence; if it ever contradicts the user, the user wins. The block is never placed in the system-prompt role — it is appended as a plugin-sourced user message, so the model can ignore it without breaking the system contract.

Development

pnpm install
pnpm typecheck
pnpm test          # 59 unit tests
pnpm build         # tsc → lib/

Architecture

┌──────────────────────────────────────────────────────────────────────────┐
│                                DSH Agent                                 │
│  ┌────────────────────────────────────────────────────────────────────┐  │
│  │  agent/pre-step pipeline                                           │  │
│  │  ┌───────────────────────────┐    ┌───────────────────────────┐        │  │
│  │  │  Recall                   │    │  Capture                  │        │  │
│  │  │  (search history)         │    │  (store user input)       │        │  │
│  │  └───────────────────────────┘    └───────────────────────────┘        │  │
│  └────────────────────────────────────────────────────────────────────┘  │
│                               │                                    │
│                               v                                    │
│  ┌────────────────────────────────────────────────────────────────────┐  │
│  │  turn/end & tool/result listeners                                  │  │
│  │  ┌───────────────────────────┐    ┌───────────────────────────┐        │  │
│  │  │  Session Summ.            │    │  Tool Capture             │        │  │
│  │  │  (session summary)        │    │  (tool output capture)    │        │  │
│  │  └───────────────────────────┘    └───────────────────────────┘        │  │
│  └────────────────────────────────────────────────────────────────────┘  │
│                               │                                    │
│                               v                                    │
│  ┌────────────────────────────────────────────────────────────────────┐  │
│  │                dsh-opencontext plugin (16 tools)                   │  │
│  │  ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐          │  │
│  │  │ Core      │ │ Summary   │ │ Insights  │ │ Knowledge │          │  │
│  │  │ (8)       │ │ (3)       │ │ (2)       │ │ (3)       │          │  │
│  │  └───────────┘ └───────────┘ └───────────┘ └───────────┘          │  │
│  └────────────────────────────────────────────────────────────────────┘  │
│                               │                                    │
│                               v                                    │
│  ┌────────────────────────────────────────────────────────────────────┐  │
│  │                         OpenContext Backend                        │  │
│  │  ┌───────────────────────────┐    ┌───────────────────────────┐        │  │
│  │  │  Lib Mode                 │    │  HTTP Mode                │        │  │
│  │  │  (in-process)             │    │  (daemon)                 │        │  │
│  │  └───────────────────────────┘    └───────────────────────────┘        │  │
│  └────────────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────────────┘

License

Apache-2.0. See LICENSE.

OPENCONTEXT_DSH_ENABLE_KNOWLEDGE
1
0