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.

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

dsh-tdai-memory

Tdai Memory

TencentDB Agent Memory port for DeepSeek Harness: L0 conversation capture → L1 structured memory extraction → L2 scenarios/L3 profiles, automatic recall injection + memory/conversation search tools; reuses existing ~/.memory-tencentdb/memory-tdai data; includes a Web UI settings panel.

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

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

Compatibility and provenance

Tdai Memory is published as dsh-tdai-memory 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
web
Release source
npm
Registry updated
9/20/2026

Versions

0.3.2stable
9/10/2026
0.3.1stable
9/10/2026
0.3.0stable
9/3/2026
Show 6 more versionsCollapse versions
0.2.14stable
8/24/2026
0.2.13stable
8/21/2026
0.2.12stable
8/21/2026
0.2.11stable
8/21/2026
0.2.10stable
8/16/2026
0.2.9stable
8/16/2026

Related plugins

Loading related plugins…

Latest
0.3.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
714.5 kB
Files
72
Surface
web
License
MIT
Source
npm
GitHub
★ 7
Weekly downloads
313
Security scan
✓ v0.3.2 scan passed
Last push
9/10/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.Memsearch Dsh@zilliz/memsearch-dshMemSearch plugin for DeepSeek Harness: shared markdown memory across agents, with capture, pre-step context injection, memory-recall skill, and a skill-candidate review panel.

README

dsh-tdai-memory

GitHub: Scorp1o117/dsh-tdai-memory · npm: dsh-tdai-memory

Part of the DeepSeek Harness Enhancement Suite — Vision · Soul/Persona · Long-term Memory · Plugin Marketplace.

A port of TencentDB Agent Memory (Tencent Cloud's open-source four-layer memory system, originally an OpenClaw plugin) into DeepSeek Harness.

Features

  • L0 conversation capture: every turn (turn end, request boundary) is written to raw conversation storage (JSONL + SQLite + FTS + vectors)
  • L1 structured memory: a background pipeline uses an LLM to extract facts / preferences / events (persona / episodic / instruction) from conversations, stored in records/ + SQLite + FTS + vectors
  • L2 scenes / L3 persona: scene blocks and user profile generation (pipeline-scheduled)
  • Automatic recall injection: on every prompt assembly, relevant memories and the user profile are retrieved by the current user message and injected as dynamic context (the model "just remembers")
  • Tools: tdai_memory_search (L1 structured search), tdai_conversation_search (L0 raw-text search)

The data directory reuses the existing ~/.memory-tencentdb/memory-tdai, so previously accumulated memories carry over seamlessly.

Architecture (porting approach)

LayerContent
CoreThe host-neutral core of tdai-memory-openclaw-plugin (src/core, src/utils), tsc-compiled to ESM (dist-dsh/), zero changes
Host adapterStandaloneHostAdapter (official standalone mode, direct OpenAI-compatible calls)
dsh shellindex.js: config mapping, session/event + session/flush capture, system-prompt/assemble recall injection on agent.ctx, tool registration, lifecycle
Fallbackrecall-inject.js: preset-row recall injection (used when mounted inside an agent preset)

Hard-won wiring details:

  • Capture: session/flush listener (await semantics; must complete before headless exits); turn/start timestamps as the L0 cursor floor; turn-id dedup
  • Headless one-shot runs: wait for core.handleSessionEnd() inside flush (L1 extraction finishes before exit; otherwise the 5s shutdown timeout kills it)
  • Recall injection: must be registered on agent.ctx (assembly runs in the agent scope; root listeners never see it); attach one tick after session/created by resolving the agent from the agents service

Configuration (profile patch + settings)

Configuration is settings-namespace driven: the profile patch is the base layer, and the tdai-memory: section of $DSH_HOME/settings.yaml overrides it (LLM/embedding keys live in settings.yaml). The Web UI Settings → 记忆 section edits every field (v0.2.0, write-only keys); TdaiCore is built at startup, so changes apply after a restart.

# $DSH_HOME/settings.yaml
tdai-memory:
  llm:
    apiKey: 'sk-...'
  embedding:
    apiKey: 'local-no-key'
# profile patch (base layer)
- id: tdai-memory
  name: 'dsh-tdai-memory'
  config:
    extraction:
      enabled: true
      enableDedup: false      # dedup LLM output parsing is flaky; off by default
    llm:                      # L1/L2/L3 extraction model (OpenAI-compatible)
      baseUrl: 'https://opencode.ai/zen/go/v1'
      model: 'mimo-v2.5'      # deepseek-v4-flash produces invalid extraction JSON
      sendSessionHeader: true # send x-opencode-session on LLM requests (required by OpenCode Go & similar gateways)
      sessionId: ''           # fixed session id; empty = persistent auto id under the data dir
    embedding:                # vectors (OpenAI-compatible /v1/embeddings)
      baseUrl: 'http://127.0.0.1:8088/v1'
      model: 'Qwen3-Embedding-0.6B'
      dimensions: 1024
      sendDimensions: false

Install

dsh plugin --profile web add dsh-tdai-memory

then mount it in $DSH_HOME/profiles/web/cordis.patch.yml:

- insert:
    - id: tdai-memory
      name: 'dsh-tdai-memory'
      config: {}          # keys can live in settings.yaml instead

and restart dsh web. LLM/embedding API keys can be set in the Web UI settings page (记忆 / Memory) or directly in settings.yaml under tdai-memory:.

Note for users

  • This plugin is a standard profile bundle (dsh.bundle.patch): dsh plugin --profile web add dsh-tdai-memory installs and mounts it in one step — no manual cordis.patch.yml edits needed.
  • DSH exposes the registered tdai-memory settings namespace directly; the plugin does not modify files in the host installation.
  • Settings changes apply after a restart (TdaiCore is built at startup).
  • Version 0.2.13 and newer require DSH 0.1.0-rc.7 or newer and are tested against 0.1.0-rc.7, 0.1.0-rc.8, and 0.1.1-rc.1.
  • DSH 0.1.0-rc.6 users must pin dsh-tdai-memory@0.2.11, the last release carrying the legacy settings-allowlist compatibility patch.

node-llama-cpp is an optional peer used only by the fully local embedding backend. It is intentionally not installed by default because its native build requires explicit pnpm build approval. Remote OpenAI-compatible embeddings do not need it. Users who select the local backend should install and approve node-llama-cpp in the target DSH profile separately.

Known trade-offs

  • Extraction model: mimo-v2.5 extracts correctly but takes 20-30s per call (background execution, does not block the conversation); deepseek-v4-flash is fast but its JSON output is non-compliant (extracts 0)
  • dedup: LLM conflict-detection output parsing is unstable (once caused stored=0); off by default; enable only with a more reliable model
  • L1 memory vectors: written with storage (8088 embedding is fast); L0 vectors run as a background task, drained by destroy() on headless exit
  • Upgrades: after pulling new upstream code, rerun npx tsc -p dsh-tsconfig.json in the tdai project dir (output in dist-dsh/)

License

MIT