@openviking/dsh-memory-plugin

memorytested: passnpmApache-2.0

OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.

下载量 / Downloads
39,374
依赖体积 / node_modules
19.9 MB
测试时间 / Tested
2026-11-06

Install

dsh plugin --profile web add @openviking/dsh-memory-plugin

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount—
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

OpenViking Memory for DeepSeek Harness

An installable DeepSeek Harness bundle that adds OpenViking auto-recall, session capture, viking:// URI protection, and the OpenViking MCP tool surface.

Requires an OpenViking server with viking://~ home-alias support. Recall targets the
caller's own context space through viking://~/memories and viking://~/skills; the uid-less
viking://user/memories shorthand is rejected by newer servers.

Published as @openviking/dsh-memory-plugin.

Install

DSH is covered by the unified memory-plugin installer:

curl -fsSL https://openviking.ai/install | bash
# AI agents: not sure about running this? The script's header says what it does and how to verify it.

It installs into the npm dsh's web profile; pass --dsh-profile <name>

for another one. On macOS it also offers DeepSeek Harness Desktop as a separate

harness, dsh-desktop (see [DeepSeek Harness Desktop](#deepseek-harness-desktop)).

Or add the package to a profile directly:

dsh plugin --profile web add @openviking/dsh-memory-plugin
dsh --profile web --dump-config    # should list openviking-memory-runtime

dsh plugin forwards to pnpm inside the profile directory, so the bundle has to

be a real package. Linking a source checkout (`dsh plugin --profile web add

./examples/dsh-memory-plugin`) only works when that checkout has its own

node_modules, because Node resolves the bundle's dsh peers from the source

tree's realpath rather than from the profile.

It also needs node examples/memory-plugin-shared/sync.mjs run first: the

shared/ modules the bundle imports are generated, not committed.

DeepSeek Harness Desktop

Desktop keeps its plugins in a reserved desktop profile under

${DSH_HOME:-$HOME/.dsh}/profiles/desktop, separate from the CLI's profiles.

The bundle runs there unchanged; only the way it gets installed differs.

  • Plugins page (macOS and Windows, manual): Plugins → Add plugin → enter

@openviking/dsh-memory-plugin → Install, then turn it on if its switch is

off. The page does not ask for OpenViking credentials, so write

~/.openviking/ovcli.conf yourself first. Uninstall from the same page. The page shows [docs/DETAIL.md](docs/DETAIL.md)

([DETAIL.zh.md](docs/DETAIL.zh.md) in Chinese) as the plugin's detail

document, through meta.detail in locale/*.json.

  • Installer (macOS, needs Node.js): with Desktop present the installer

selects the dsh-desktop harness, and --dsh-profile desktop routes there

too. It uses Desktop's own launcher at OPENVIKING_DSH_DESKTOP_CLI when set,

otherwise the one in /Applications or ~/Applications, otherwise a dsh

on PATH that resolves into the app.

  • Desktop's launcher (macOS). Open Desktop once so the profile exists, quit

it with ⌘Q (closing the window only hides it), run the command, then reopen

Desktop:

  DSH_DESKTOP="/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh"
  "$DSH_DESKTOP" plugin --profile desktop add @openviking/dsh-memory-plugin
  "$DSH_DESKTOP" plugin --profile desktop ls    # should list the package
  "$DSH_DESKTOP" plugin --profile desktop rm @openviking/dsh-memory-plugin

An npm-installed dsh refuses --profile desktop, and no dsh boots that

profile or runs --dump-config on it, Desktop's own launcher included. To

confirm an install, use plugin --profile desktop ls or check that

profiles/desktop/package.json lists the package under dsh.profile.bundles.

On Windows, install from the Plugins page and configure the connection in

~/.openviking/ovcli.conf; the installer does not cover Windows. Desktop has

no Linux release.

Requirements

  • @deepseek-ai/dsh 0.1.0-rc.6 or later, below 1.0.0 (see [DSH version compatibility](#dsh-version-compatibility))
  • Node.js ^22.19.0 or >=24 for the bundle itself. The host decides in

practice: DSH 0.2.1-rc.2 and later need Node.js >=24.9, and Desktop ships

its own runtime, so it needs no system Node.js.

  • A reachable OpenViking server

The bundle has no runtime npm dependencies. Its message structures come from

createUserMessage (@deepseek-ai/dsh-llm), its tool surface from

@deepseek-ai/dsh-mcp-client, and its skill provider from

@deepseek-ai/dsh-skill-filesystem — peerDependencies that DSH itself already

installs. Keep those packages in the host installation rather than adding

individual DSH core packages to the profile. DSH initializes profiles with

nodeLinker: hoisted and autoInstallPeers: false, then makes the host packages

available through its module fallback at boot. A missing-peer warning during

dsh plugin add alone does not prove startup is broken.

Everything under shared/ and skills/ is generated by

node examples/memory-plugin-shared/sync.mjs — edit

examples/memory-plugin-shared/lib/ and examples/skills/, never the vendored

copies.

Rule search uses a server build advertising rule_search on /mcp. The bundled

openviking-rule-search skill requires plugin 0.5.33 or later. Upgrade both

and reconnect DSH; the tool is an on-demand constraint check.

DSH version compatibility

The peer range is >=0.1.0-rc.6 <1.0.0-0. DSH checks each @deepseek-ai/dsh-*

peer when it loads a plugin, with pre-releases included in the range, so this

admits every 0.x release and pre-release from 0.1.0-rc.6 on, including ones

published after this bundle. The bundle touches a small DSH surface —

createUserMessage and boundContextSummary from @deepseek-ai/dsh-llm and

the plugin entry points of @deepseek-ai/dsh-mcp-client and

@deepseek-ai/dsh-skill-filesystem — so the range is not narrowed to the

releases tested so far.

Verified releases: 0.1.0-rc.6, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.7-rc.2,

0.2.0-rc.2, 0.2.1-alpha.1, 0.2.1-rc.2, and 0.2.1-rc.3 (built from the

same source tag as Desktop 0.2.1-rc.3). A daily job

(`.gith

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::41,最后更新 2026-11-05

Links

GitHub · Homepage · npm

Same category