返回目录
Agent 与会话 插件

dsh-agentmemory

Yogioo/dsh-agentmemory

dsh plugin bridging agentmemory REST API: memory_search / memory_remember / memory_forget / memory_health

Stars
1
Forks
0
Issues
0
更新
4 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:Yogioo/dsh-agentmemory

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

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://<your-host>: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://<your-host>: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 <your-host> with the hostname of your agentmemory server (for a same-machine install, omit --base-url/-BaseUrl entirely and the default http://localhost:3111 is used).

Then make the secret reach the dsh process (systemd does not read ~/.bashrc) — add to /etc/systemd/system/dsh.service:

Environment=AGENTMEMORY_SECRET=<the agentmemory bearer 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://<your-host>:9999/agentmemory/health # remote

Manual install (fallback)

  1. 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).
  2. (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/
  3. Add to ~/.dsh/profiles/web/cordis.patch.yml:
    - insert:
        - id: agentmemory
          name: dsh-agentmemory
          config:
            baseUrl: http://localhost:3111
            apiKeyEnv: AGENTMEMORY_SECRET
  4. 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.apiKeyprocess.env[apiKeyEnv]apiKeyFile (agentmemory's own ~/.agentmemory/.env).

Cross-platform notes

  • Code: the plugin is pure Node ESM (node:fs, node:os, global fetch, AbortSignal.any) — no native modules, same code runs on Linux / macOS / Windows.
  • Fallback directory: dsh maintains $DSH_HOME/profiles/node_modules at every boot (one junction/symlink per package in its dependency closure), so on Windows no ln/admin rights are ever needed — install.ps1 only drops the plugin directory and patches the config.
  • Git Bash users on Windows: install.sh works too; its ln steps skip anything already present.
  • Restart: on Linux with systemd: sudo systemctl restart dsh; on Windows: close and relaunch dsh web (or restart whatever service runs it). Config edits in cordis.patch.yml hot-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 baseUrl at https://<host>:9999 and share the secret — the only access control is that bearer token, so treat it like a password.
  • Dependencies: imports only @deepseek-ai/dsh-tools and @deepseek-ai/schemastery; both live in dsh's own dependency closure and are linked into the fallback directory automatically at dsh boot — no pnpm install or network access needed at runtime.
  • Restart: cordis.patch.yml config edits hot-reload; plugin code changes need a dsh process restart.
  • Shared stores: with several machines on one memory store, tag memory_remember entries with project / cwd and filter searches by them to keep namespaces tidy.

License

MIT — see LICENSE.

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类Agent 与会话
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: agentmemory、memory。