feat(plugin): add DeepSeek Harness memory adapter - #2254
Conversation
|
|
Thanks for putting this together — a first-party DSH adapter is exactly what the ecosystem needs. We've been running a parallel lightweight implementation ( Findings from our implementation
Happy to run any integration checks against our local setup (Hermes + DSH side by side) if that helps validate the multi-agent coexistence story. |
🤖 Open Code ReviewTarget: PR #2254 🔍 OpenCodeReview found 53 issue(s) in this PR. 1.
|
|
## Description Fix the DSH Viewer static-root resolution exposed by the 2.0.16 release dry run. In a clean checkout, the test job runs before `prepack` builds `viewer/dist`; the previous existence-based fallback therefore selected `apps/viewer/dist` instead of the plugin-owned Viewer directory. The resolver now identifies the package root through its stable `package.json` marker, so both source (`adapters/deepseek-harness`) and packed (`dist/adapters/deepseek-harness`) layouts resolve to `<package>/viewer/dist` even before Viewer assets are built. A regression test covers both clean layouts, including a package root itself named `dist`. Failed dry-run evidence: https://github.com/MemTensor/MemOS/actions/runs/31927133607 Related Issue (Required): Follow-up fix for #2254 ## Type of change - [x] Bug fix (non-breaking change which fixes an issue) ## How Has This Been Tested? - [x] Unit Test: `npx vitest run tests/unit/adapters/deepseek-harness-viewer.test.ts` (11 passed) - [x] Test Script Or Test Steps: `npm run lint` - [x] Test Script Or Test Steps: `npx vitest run --silent` (175 files passed; 1448 passed, 2 skipped) - [x] Test Script Or Test Steps: `npm pack --pack-destination tmp/dsh-viewer-static-root-pack` and verified the tarball contains the compiled DSH adapter plus `viewer/dist/index.html` ## Checklist - [x] I have performed a self-review of my own code | 我已自行检查了自己的代码 - [x] I have commented my code in hard-to-understand areas | 我已在难以理解的地方对代码进行了注释 - [x] I have added tests that prove my fix is effective or that my feature works | 我已添加测试以证明我的修复有效或功能正常 - [x] Documentation update is not applicable for this packaging-path fix - [x] I have linked the originating PR and failed release run ## Reviewer Checklist - [ ] Made sure Checks passed - [x] Tests have been provided
Description
Adds DeepSeek Harness support to
@memtensor/memos-local-pluginas an out-of-tree Cordis bundle while preserving the existing OpenClaw and Hermes integrations.Key changes:
safeCutoffon cancellable timeout/provider failure/malformed filter output, and disables malformed-JSON retries for DSH.mainHermes Windows restart behavior while keeping DSH's manual profile-restart handoff immediate.Related Issue (Required): N/A — this is a new integration proposal without an existing tracking issue.
Type of change
How Has This Been Tested?
Tested on macOS with Node.js 22.23.1 and Python 3.11.7.
Results:
2.0.16-beta.1, Viewer startup, recall/tool use, and profile shutdown behavior verified.Checklist
Reviewer Checklist
Release follow-up
After this PR is merged, publish
@memtensor/memos-local-plugin@2.0.16with npm dist-taglatestthrough the repository's standalone local-plugin publisher. The workflow will synchronizepackage.json,package-lock.json, and the Hermes manifest for the release tag;pnpm-lock.yamldoes not require a version-only refresh.