Commit Graph
1 Commits
Author SHA1 Message Date
d7ab37c76e feat(plugins): add OpenViking memory for DSH (#3993)
* feat(plugins): add OpenViking memory for DSH

* feat(dsh-plugin): graft review items — source whitelist, dsh constructors, live recall gate

Applies the #task-65 review verdict's graft list from #3991 onto the
#3993 base:

- capture whitelist: drop every plugin-sourced user message (any plugin,
  not just this one) so injected context never mirrors into memory as
  human input; recall queries keep their existing scope
- pre-step: register with prepend so this listener sees the final
  claimed batch, and short-circuit on signal.aborted around each await
- adopt dsh constructors behind exact-pinned peers (devDependencies
  mirror the pins): tools flow through @deepseek-ai/dsh-tools defineTool
  (declarative parameters, output schema/render, presentCall per tool),
  plugin messages through @deepseek-ai/dsh-llm createUserMessage; a
  registration-shape test makes a future rc pin bump fail CI instead of
  a user install when the ToolDefinition contract moves
- live-recall.test.mjs: opt-in (OPENVIKING_E2E=1) real-backend gate —
  store a sentinel via session commit, wait for extraction, assert
  recall returns it; passed against a live OpenViking server in 124s
  (note: commit with the default keep_recent_count=10 extracts nothing
  from short sessions — the test pins keepRecentCount 0)
- README: why injection is pre-step user messages, not the system
  prompt (complete:true personas silently drop prompt assembly), plus
  peer-pin rationale and a Testing section

Tests: 15 pass + 1 env-gated (node --test), requires npm ci for the
pinned dsh devDependencies — CI step lands separately (workflow scope).

* ci(pr): install DSH plugin deps before running memory plugin tests

* fix(dsh-plugin): finalize neutral plugin integration

Remove product-specific identifiers from the DSH plugin surface and harden its lifecycle, HTTP contracts, archive tooling, and ordered offline delivery.

Co-authored-by: TRAE CLI <noreply@bytedance.com>

---------

Co-authored-by: Zayn Jarvis <zaynjarvis@gmail.com>
Co-authored-by: TRAE CLI <noreply@bytedance.com>
2026-08-14 18:05:22 +08:00