dsh-agentmemory
Agent-plane tool plugin: connects dsh to the agentmemory REST API (search / remember / forget / health) 用于为 DSH 智能体提供持久化记忆能力。适合需要通过 REST API 让智能体实现记忆存储、检索和删除任务的用户,需连接 agentmemory 服务。
Other repositories with this package name
Install
This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗
README
Read the full README ↗dsh-agentmemory
Agent-plane tool plugin: connects dsh (DeepSeek Harness) to an agentmemory persistent-memory REST API (rohitg00/agentmemory). No MCP, no skill+CLI indirection — four native tools registered directly on the harness tool runtime, each backed by one REST call.
Registered tools (visible to every agent after a dsh restart):
| Tool | Endpoint | Purpose |
|---|---|---|
memory_search | POST /agentmemory/search | semantic + keyword search over stored memories |
memory_remember | POST /agentmemory/remember | store a durable memory (type / concepts / files / ttlDays) |
memory_forget | POST /agentmemory/forget | delete by memoryId or sessionId |
memory_health | GET /agentmemory/health | connectivity + engine status check |
Quick install (from this repo)
Linux / macOS / Git Bash on Windows:
git clone https://github.com/Yogioo/dsh-agentmemory
cd dsh-agentmemory
./install.sh # agentmemory on the same machine
./install.sh --base-url https://:9999 # link a REMOTE agentmemory
Windows (PowerShell):
git clone https://github.com/Yogioo/dsh-agentmemory
cd dsh-agentmemory
powershell -ExecutionPolicy Bypass -File install.ps1 # local
powershell -ExecutionPolicy Bypass -File install.ps1 -BaseUrl https://:9999 # remote
Both installers are idempotent: they copy the plugin into
~/.dsh/profiles/node_modules/dsh-agentmemory/ and register the entry in
~/.dsh/profiles/web/cordis.patch.yml. Re-running never duplicates the
patch entry. No manual dependency linking is needed — dsh itself
maintains the flat fallback directory at every boot (one link per package
in the app's dependency closure: POSIX symlinks, Windows junctions — no
admin rights).
Replace `` with the hostname of your agentmemory server (for a same-machine install, omit
--base-url/-BaseUrlentirely and the defaulthttp://localhost:3111is used).
Then make the secret reach the dsh process (systemd does not read
~/.bashrc) — add to /etc/systemd/system/dsh.service:
Environment=AGENTMEMORY_SECRET=
then sudo systemctl daemon-reload && sudo systemctl restart dsh.
Verify: ask any agent to call memory_health, or
curl -s -H "Authorization: Bearer $AGENTMEMORY_SECRET" \
http://localhost:3111/agentmemory/health # local
curl -sk -H "Authorization: Bearer $AGENTMEMORY_SECRET" \
https://:9999/agentmemory/health # remote
Manual install (fallback)
- Copy this directory to
~/.dsh/profiles/node_modules/dsh-agentmemory/(that flat fallback dir is where the dsh loader resolves out-of-tree plugins from). - (Optional) Symlink the peer deps from the global dsh install — usually
unnecessary, because dsh boot creates these links automatically:
DSH_PKG=$(dirname "$(dirname "$(readlink -f "$(command -v dsh)")")") ln -s "$DSH_PKG/node_modules/@deepseek-ai/dsh-tools" ~/.dsh/profiles/node_modules/@deepseek-ai/ ln -s "$DSH_PKG/node_modules/@deepseek-ai/schemastery" ~/.dsh/profiles/node_modules/@deepseek-ai/ - Add to
~/.dsh/profiles/web/cordis.patch.yml:- insert: - id: agentmemory name: dsh-agentmemory config: baseUrl: http://localhost:3111 apiKeyEnv: AGENTMEMORY_SECRET - Restart dsh.
Config (all optional)
| Key | Default | Meaning |
|---|---|---|
baseUrl | http://localhost:3111 | agentmemory REST base URL (use https://host:9999 for a remote one) |
apiKeyEnv | AGENTMEMORY_SECRET | env var holding the Bearer secret |
apiKey | '' | literal secret, takes precedence over apiKeyEnv |
apiKeyFile | ~/.agentmemory/.env | dotenv fallback when the env var is unset |
timeoutMs | 30000 | per-request timeout |
Secret resolution order: config.apiKey → process.env[apiKeyEnv] →
apiKeyFile (agentmemory's own ~/.agentmemory/.env).
Cross-platform notes
- Code: the plugin is pure Node ESM (
node:fs,node:os, globalfetch,AbortSignal.any) — no native modules, same code runs on Linux / macOS / Windows. - Fallback directory:
dshmaintains$DSH_HOME/profiles/node_modulesat every boot (one junction/symlink per package in its dependency closure), so on Windows noln/admin rights are ever needed —install.ps1only drops the plugin directory and patches the config. - Git Bash users on Windows:
install.shworks too; itslnsteps skip anything already present. - Restart: on Linux with systemd:
sudo systemctl restart dsh; on Windows: close and relaunchdsh web(or restart whatever service runs it). Config edits incordis.patch.ymlhot-reload; a fresh plugin install needs a process restart.
Notes
- Remote linking: agentmemory's REST endpoint is reachable over the
network (Nginx TLS + Bearer auth). Point
baseUrlathttps://:9999and share the secret — the only access control is that bearer token, so treat it like a password. - Dependencies: imports only
@deepseek-ai/dsh-toolsand@deepseek-ai/schemastery; both live in dsh's own dependency closure and are linked into the fallback directory automatically at dsh boot — nopnpm installor network access needed at runtime. - Restart:
cordis.patch.ymlconfig edits hot-reload; plugin code changes need a dsh process restart. - Shared stores: with several machines on one memory store, tag
memory_rememberentries withproject/cwdand filter searches by them to keep namespaces tidy.
License
MIT — see LICENSE.