证据快照复核于 2026-09-16GitHub 数据核对日期: 2026-08-21
证据已验证Plugin Bundle记忆与上下文Web Profile

DSH Memory Vault

一组用于可搜索本地记忆和自动会话摘要捕获的 DSH 插件包。

快速了解

它能做什么

一组用于可搜索本地记忆和自动会话摘要捕获的 DSH 插件包。

本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。

使用场景
记忆与上下文记忆会话管理自动化
适配技术
deepseek-harnessMCPSQLite
兼容性

Web Profile
Not declared in supplied evidence

可信度与状态

证据已验证
核对日期 2026/9/15 UTC 14:13

有代码证据的贡献

它为 DSH 增加什么

记忆 MCP 客户端

通过 stdio 将 DSH 连接到本地 memory-vault 服务器。

机制证据
自动记忆捕获

在空闲、提交、压缩和会话结束检查点捕获会话摘要。

机制证据

选择前先看

DSH Memory Vault 包含两个关联插件:memory-mcp 通过本地 stdio MCP 记忆服务器连接 DeepSeek Harness,memory-auto 自动写入会话摘要。Vault 使用 Markdown 条目和 SQLite FTS5 索引,默认位于 Harness 主目录下。

适合谁

希望保留可搜索的项目记忆,并愿意检查本地插件配置的 DeepSeek Harness 用户。

常见任务

  • 让智能体搜索已保存的项目记忆。
  • 通过记忆 MCP 工具保存事实或决策。
  • 在提交、压缩、空闲活动和会话结束时自动捕获有用上下文。
  • 导出记忆或获取已保存的个人资料。

权限与数据

插件管理本地 vault 文件并启动本地 stdio MCP 服务器;自动捕获会通过已配置的 Harness LLM 服务处理由对话记录生成的摘要。

权限
  • 设置时读取 DSH_MEMORY_PATH 和 DSH_MEMORY_SERVER_DIR。
  • 默认在 DSH_HOME 下创建或使用 vault 和服务器目录。
  • 通过 Node 启动器和 stdio 传输启动记忆服务器。
数据处理
  • 以 Markdown 保存记忆条目,并使用 SQLite FTS5 建立索引。
  • 自动摘要会写入已配置的 vault。
  • 源码称首次启动复制的现有 vault 文件不会被覆盖。
外部服务
  • 自动摘要生成使用 Harness 中配置的 LLM 提供商。
  • 缺少 uv 时,首次启动可能通过网络安装 Python 依赖。
凭据
  • 未声明额外插件凭据;自动捕获使用 DSH 已配置的密钥。

局限

  • 提供的证据未验证 npm 注册表中的包版本;请使用不可变 Git 插件包源码。
  • 本次整理未实际执行安装或运行时行为。
  • memory-auto 声明了 prepare 构建脚本。
  • 提供的补丁默认启用自动捕获,并使用默认 DeepSeek 提供商和模型,除非重新配置。

DSHub 已核对

  • 固定提交中的两个包清单和 Cordis 插件包补丁均已通过结构验证。
  • @luisarg/memory-mcp 与 @luisarg/memory-auto 的不可变 Git 插件包交付已验证。
  • 源码声明 MIT 许可证。

DSHub 未核对

  • 未运行成功安装、首次启动依赖安装、MCP 连通性或记忆写入。
  • 提供的证据未声明 DeepSeek Harness 版本范围。
  • 未验证 npm 上是否提供 0.1.4 版本。

固定版本安装

安装 DSH Memory Vault

这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。

访问源码项目

维护者原文

项目 README

查看 commit e862b23 对应的 README
维护者编写的上游内容原文于 2026/9/15README.md 获取,正文和仓库相对媒体固定到 commit e862b23967bb,内容哈希为 f8da87375d00。以下是未经 DSHub 翻译的上游原文,语言可能与当前页面不同;第三方托管的 badge 可能独立更新。

dsh-memory-vault

DeepSeek Harness Cordis 4.0.1 pnpm 10.15.0 Node.js ≥22.18 TypeScript 5.9 Python ≥3.11 uv 0.11 MCP ≥1.2 SQLite FTS5 Vitest 3.2 tsdown 0.15 oxlint 1.13

Persistent OKF memory for DeepSeek Harness (DSH): a Python MCP server (SQLite FTS5 + Markdown), two Cordis plugins (memory-mcp, memory-auto) and a vault starter with templates and a type registry.

Stack architecture

Session digest pipeline

Components

Component What it does Bundle
memory-mcp MCP stdio wrapper: connects DSH to the memory vault server @luisarg/memory-mcp
memory-auto Auto memory capture: session digest with commit/compaction checkpoints @luisarg/memory-auto
memory-vault-server/ Python MCP server: SQLite FTS5 + Markdown OKF
memory-vault/ Vault starter: templates + type registry + tag vocabulary
scripts/digest_session.py Optional standalone post-session digest (CLI, not used by the plugins)

Quickstart

pnpm install
pnpm -r build

# local dev with an overlay (paths relative to the repo cwd)
dsh web --patch ./examples/dev-memory.cordis.yml

Install

# 1. install both plugins (npm, prebuilt — no build approvals, no repo clone)
dsh plugin --profile web add @luisarg/memory-mcp@0.1.4 @luisarg/memory-auto@0.1.4

# 2. launch — first boot installs the vault server + starter under $DSH_HOME
#    (~/.dsh/memory-vault-server and ~/.dsh/memory-vault) automatically
dsh web

# verify
dsh --profile web --dump-config | grep -A8 memory

uv on PATH is recommended but no longer required: the bundled launcher.mjs runs the server with uv run when uv is present and falls back to a pip-managed venv (python3 -m venv + pip install -r requirements.txt, first boot needs network) when it is not. The packages are self-contained: they ship the Python vault server and the OKF vault starter, and copy them into place on first boot (existing files are never overwritten; upgrades copy only the missing launcher.mjs and requirements.txt). The version is pinned because pnpm's default minimumReleaseAge (3 days) would otherwise resolve an older release. Paths resolve as: env (DSH_MEMORY_PATH, DSH_MEMORY_SERVER_DIR) → $DSH_HOME/memory-vault(-server) → profile patch (see Path resolution). Launch from any directory.

Developers (local checkout instead of npm):

dsh plugin --profile demo add ./packages/memory-mcp ./packages/memory-auto

Offline: pnpm --filter @luisarg/memory-mcp pack and add the .tgz files.

Installing the repo root from GitHub is not supported (root has no dsh.bundle; pnpm lacks git subdirectory specs) — use npm or the tarball.

Releases are published by CI: pushing a v<version> tag builds, tests, validates the tarballs and publishes both packages to npm with a provenance attestation, authenticated by GitHub OIDC — no publish token exists in this repository or on the maintainer's machine. What runs before an artifact ships, and the guardrails around it, are in docs/releasing.md.

Usage & interaction commands

Once installed, the agent can read and write the vault through the mcp__memory__* tools — just ask it in the chat:

You say Tool the agent uses
"search your memory for <topic>" mcp__memory__search_memory
"remember this: <fact/decision>" mcp__memory__store_decision / store_fact / …
"export everything you know about <project>" mcp__memory__export_memories
"summarize my profile" mcp__memory__get_profile

Automatic capture (memory-auto): git commits, compactions and session ends trigger digests; idle checkpoints capture when there is activity. Digests log as [memory-auto] … lines in the harness console, and writes land under <vault>/projects/<project>/<type>/ (Markdown) + the SQLite FTS5 index.

Verify the installation and the stored memory:

# composed config shows both bundles with the resolved paths
dsh --profile web --dump-config | grep -A8 memory

# what the vault holds (default vault: ~/.dsh/memory-vault)
ls ~/.dsh/memory-vault/projects/               # per-project OKF entries
grep -i "digest" ~/.dsh/memory-vault/log.md    # digest markers

# talk to the vault MCP server directly (standalone smoke test)
printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"cli","version":"0"}}}' \
  '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ping","arguments":{}}}' \
  | MEMORY_PATH=$HOME/.dsh/memory-vault uv run --directory memory-vault-server python server.py

Run a second harness instance on another port (for testing without touching your main session):

pnpm dsh web --port 3090

Second MCP client: opencode (zona central ~/.memories)

Since 2026-09-09 the vault lives in a dedicated git repo at ~/.memories (union of the former DSH vault and the legacy opencode-memory-vault bundle; see docs/central-zone.md). opencode is a second stdio MCP client over the same server and vault — ~/.config/opencode/opencode.json:

"mcp": {
  "memory-server": {
    "type": "local",
    "command": ["uv", "run", "--directory", "<repo>/memory-vault-server", "python", "server.py"],
    "enabled": true,
    "environment": { "MEMORY_PATH": "<absolute path to your vault>" }
  }
}

opencode requires the key environment (not env — that one is silently ignored and the server falls back to the repo default vault).

Memory stack

The plugins work on an OKF vault (memory-vault/ in this repo, or your own). Runtime: uv on PATH, or Python ≥3.11 with a network on first boot — both launch paths go through the bundled launcher.mjs, which uses uv run and falls back to a pip-managed .venv (requirements.txt) when uv is missing.

The post-session digest runs in-process through the harness's own LLM service (ctx.llm, provider deepseek-official by default — configurable with provider/model), so the plugins need no external CLI and store no credentials: they use the same key DSH is configured with.

Path resolution (cwd-independent)

DSH does not chdir — the launch directory is irrelevant. Paths resolve in this order:

  1. Env vars (override everything): DSH_MEMORY_PATH, DSH_MEMORY_SERVER_DIR.
  2. Defaults under the harness home: $DSH_HOME/memory-vault and $DSH_HOME/memory-vault-server (~/.dsh when $DSH_HOME is unset).
  3. Profile patch (cordis.patch.yml) or --patch overlay with explicit values.
Env var Used for Default
DSH_MEMORY_PATH vault directory $DSH_HOME/memory-vault
DSH_MEMORY_SERVER_DIR directory with server.py (MCP server) $DSH_HOME/memory-vault-server
# run the MCP server standalone:
MEMORY_PATH=./memory-vault uv run --directory ./memory-vault-server python server.py

Vault

memory-vault/ is an OKF bundle: templates/ (per-type templates), type-registry.yaml (source of truth for types), tag-vocabulary.json (tag normalization). Runtime data (projects/, raw/, logs/, memory.db) is created by the server on first use and excluded from git (.gitignore).

Architecture & diagrams

Interactive versions of the diagrams (standalone HTML, open in any browser):

Editable specs live in docs/diagrams/*.json (generated with archify). Full write-up: docs/architecture.md; index: docs/README.md.

Repository layout

packages/memory-mcp/          # cordis bundle: MCP stdio client to the vault
packages/memory-auto/         # cordis bundle: automatic session digest
memory-vault-server/          # Python MCP server (SQLite + Markdown OKF)
memory-vault/                 # vault starter (templates + type registry)
scripts/digest_session.py     # optional standalone digest CLI (not used by the plugins)
examples/dev-memory.cordis.yml      # memory-mcp
examples/dev-memory-auto.cordis.yml # memory-mcp + memory-auto

Layer order

  1. dsh.profile.bundles (base + every installed bundle)
  2. $DSH_HOME/profiles/<name>/cordis.patch.yml
  3. $DSH_HOME/cordis.patch.yml
  4. --patch overlays

Patch replaces config wholesale — it does not merge.

Troubleshooting pnpm

  • unable to open database file → the pnpm store is not writable in a sandboxed environment. Use --store-dir ./.pnpm-store on every pnpm install and on dsh plugin --profile X --store-dir ./.pnpm-store add ....
  • dsh: pnpm failed when installing from GitHub → only applies to packages with a prepare script; copy the printed key into the profile's pnpm-workspace.yaml (allowBuilds). Note: the subpackages of this monorepo cannot be installed with github:... (pnpm has no git-subdirectory support) — use npm or a tarball.

Docs

有意识地管理

安装与管理

前置条件与目标 Profile

目标 Web Profile

交付方式 Git Bundle — Luisarg03/dsh-memory-vault#e862b23967bbadf37c2d126797f0ec7070b2c8d5

验证、更新与移除

显示生命周期命令
验证
dsh plugin --profile web list

兼容性与访问范围

DeepSeek Harness DSH bundles; memory-auto requires dsh-llm Not declared in supplied evidence

检查兼容性证据

风险事实

local-data-storage

Stores memory as Markdown and a SQLite FTS5 index under the configured vault path.

证据
llm-processing

Automatic digest capture uses the Harness LLM service; the default configuration selects deepseek-official and deepseek-v4-flash.

证据
network-on-first-boot

Without uv on PATH, first boot may create a Python virtual environment and install requirements over the network.

证据
证据与编辑审查Manifest、Bundle patch、分发与新鲜度

不可变证据

审查状态与源码活动

AI 已审查

这是一个带自动捕获选项的本地记忆插件包;用于敏感会话前,请检查其路径与 LLM 配置。

AI 审查于 2026/9/15 UTC 14:14GitHub 事实核对日期: 2026/9/15 UTC 14:14

自当前证据基线以来,没有记录到重要源码变化。

下一步

按 Plugin 安装流程操作

订阅重要变化: DSH Memory Vault