agentic-memory-hermes 0.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agentic_memory_hermes-0.1.1/.gitignore +74 -0
- agentic_memory_hermes-0.1.1/PKG-INFO +205 -0
- agentic_memory_hermes-0.1.1/README.md +184 -0
- agentic_memory_hermes-0.1.1/plugins/context_engine/agentic-memory/__init__.py +396 -0
- agentic_memory_hermes-0.1.1/plugins/context_engine/agentic-memory/plugin.yaml +3 -0
- agentic_memory_hermes-0.1.1/plugins/memory/agentic-memory/__init__.py +514 -0
- agentic_memory_hermes-0.1.1/plugins/memory/agentic-memory/cli.py +75 -0
- agentic_memory_hermes-0.1.1/plugins/memory/agentic-memory/plugin.yaml +8 -0
- agentic_memory_hermes-0.1.1/pyproject.toml +58 -0
- agentic_memory_hermes-0.1.1/src/agentic_memory_hermes/__init__.py +9 -0
- agentic_memory_hermes-0.1.1/src/agentic_memory_hermes/hermes_plugin.py +70 -0
- agentic_memory_hermes-0.1.1/src/agentic_memory_hermes/installer.py +180 -0
- agentic_memory_hermes-0.1.1/tests/test_hermes_plugins.py +389 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.pyc
|
|
4
|
+
*.pyo
|
|
5
|
+
.venv/
|
|
6
|
+
venv/
|
|
7
|
+
.pytest_cache/
|
|
8
|
+
.pytest-tmp/
|
|
9
|
+
pytest-cache-files-*/
|
|
10
|
+
.coverage
|
|
11
|
+
htmlcov/
|
|
12
|
+
*.egg-info/
|
|
13
|
+
*cache*/
|
|
14
|
+
|
|
15
|
+
# Node
|
|
16
|
+
node_modules/
|
|
17
|
+
dist/
|
|
18
|
+
build/
|
|
19
|
+
*.tsbuildinfo
|
|
20
|
+
.cache/
|
|
21
|
+
|
|
22
|
+
# Rust benchmark harnesses
|
|
23
|
+
target/
|
|
24
|
+
|
|
25
|
+
# SpacetimeDB generated bindings
|
|
26
|
+
packages/am-temporal-kg/generated-bindings/
|
|
27
|
+
|
|
28
|
+
# Environment
|
|
29
|
+
.env
|
|
30
|
+
.env.local
|
|
31
|
+
.env.*.local
|
|
32
|
+
|
|
33
|
+
# OS
|
|
34
|
+
.DS_Store
|
|
35
|
+
Thumbs.db
|
|
36
|
+
|
|
37
|
+
# Wrangler
|
|
38
|
+
.wrangler/
|
|
39
|
+
|
|
40
|
+
# Logs
|
|
41
|
+
*.log
|
|
42
|
+
npm-debug.log*
|
|
43
|
+
|
|
44
|
+
# MIMIC/PhysioNet derived artifacts should remain VM-local unless a tiny
|
|
45
|
+
# synthetic fixture is deliberately created under tests/fixtures.
|
|
46
|
+
experiments/healthcare/exp7_mimic_temporal_evidence_retrieval/generated/
|
|
47
|
+
|
|
48
|
+
# Local migration bundles may contain backend secrets, product state, and Neo4j
|
|
49
|
+
# dumps. They are operator artifacts only and must never be committed.
|
|
50
|
+
.migration/
|
|
51
|
+
|
|
52
|
+
# Local agent/editor artifacts
|
|
53
|
+
.claude/worktrees/
|
|
54
|
+
~/.config/cursor/
|
|
55
|
+
repomix-output.md
|
|
56
|
+
docs/notebooklm
|
|
57
|
+
|
|
58
|
+
.personal/
|
|
59
|
+
|
|
60
|
+
# media
|
|
61
|
+
artifacts*/
|
|
62
|
+
media-and-branding/*
|
|
63
|
+
|
|
64
|
+
# agent tools and artifacts - put pointers in agents.md
|
|
65
|
+
.agents/
|
|
66
|
+
.claude/
|
|
67
|
+
.kilocode/
|
|
68
|
+
|
|
69
|
+
# mock-data
|
|
70
|
+
mock-data/*
|
|
71
|
+
scratch-5.7.md
|
|
72
|
+
skills-lock.json
|
|
73
|
+
|
|
74
|
+
docs/mimic/
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agentic-memory-hermes
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: One-command installer for the Agentic Memory Hermes Agent plugins
|
|
5
|
+
Project-URL: Homepage, https://github.com/jarmen423/agentic-memory
|
|
6
|
+
Project-URL: Repository, https://github.com/jarmen423/agentic-memory
|
|
7
|
+
Project-URL: Issues, https://github.com/jarmen423/agentic-memory/issues
|
|
8
|
+
Author-email: Agentic Memory <support@agentmemorylabs.com>
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
Keywords: agentic-memory,context-engine,hermes-agent,memory,plugin
|
|
11
|
+
Classifier: Development Status :: 3 - Alpha
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Requires-Python: >=3.10
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
|
|
22
|
+
# Agentic Memory for Hermes Agent
|
|
23
|
+
|
|
24
|
+
This package is a showcase Hermes Agent integration for Agentic Memory. It ships
|
|
25
|
+
two Hermes provider plugins side by side:
|
|
26
|
+
|
|
27
|
+
- `plugins/memory/agentic-memory`
|
|
28
|
+
- a Hermes `MemoryProvider`
|
|
29
|
+
- recalls Agentic Memory context before model calls
|
|
30
|
+
- exposes explicit memory search/read tools
|
|
31
|
+
- persists completed turns to Agentic Memory in a background thread
|
|
32
|
+
- `plugins/context_engine/agentic-memory`
|
|
33
|
+
- a Hermes `ContextEngine`
|
|
34
|
+
- replaces default compression with Agentic Memory-backed context resolution
|
|
35
|
+
- keeps Hermes token counters and returns valid OpenAI-format messages
|
|
36
|
+
|
|
37
|
+
The directory layout follows the Hermes docs:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
plugins/
|
|
41
|
+
├── memory/
|
|
42
|
+
│ └── agentic-memory/
|
|
43
|
+
│ ├── __init__.py
|
|
44
|
+
│ ├── cli.py
|
|
45
|
+
│ └── plugin.yaml
|
|
46
|
+
└── context_engine/
|
|
47
|
+
└── agentic-memory/
|
|
48
|
+
├── __init__.py
|
|
49
|
+
└── plugin.yaml
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## One-Command Install
|
|
53
|
+
|
|
54
|
+
Install the Hermes integration with `uvx` from the published wheel:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
uvx --from https://github.com/jarmen423/agentic-memory/releases/download/hermes-v0.1.1/agentic_memory_hermes-0.1.1-py3-none-any.whl agentic-memory-hermes install --force
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
That command installs both Hermes plugin slots and configures Hermes to use
|
|
61
|
+
Agentic Memory:
|
|
62
|
+
|
|
63
|
+
- memory provider: `~/.hermes/plugins/agentic-memory`
|
|
64
|
+
- context engine: `~/.hermes/hermes-agent/plugins/context_engine/agentic-memory`
|
|
65
|
+
- `memory.provider = agentic-memory`
|
|
66
|
+
- `context.engine = agentic-memory`
|
|
67
|
+
|
|
68
|
+
For an isolated Hermes profile, pass the profile home explicitly:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
uvx --from https://github.com/jarmen423/agentic-memory/releases/download/hermes-v0.1.1/agentic_memory_hermes-0.1.1-py3-none-any.whl agentic-memory-hermes install --force --hermes-home "$HERMES_HOME"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
If you install the package directly into Hermes' own Python environment, Hermes
|
|
75
|
+
can also discover the plugin through the `hermes_agent.plugins` entry point:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
~/.hermes/hermes-agent/venv/bin/pip install agentic-memory-hermes
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Once the project is published to PyPI, the shorter command will be:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
uvx agentic-memory-hermes install --force
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Manual Install Into Hermes
|
|
88
|
+
|
|
89
|
+
Copy the memory provider into the Hermes profile plugin directory, then copy
|
|
90
|
+
the context engine into the Hermes project plugin directory. Hermes v0.13 scans
|
|
91
|
+
those two plugin types differently:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
cp -R packages/am-hermes/plugins/memory/agentic-memory \
|
|
95
|
+
~/.hermes/plugins/agentic-memory
|
|
96
|
+
|
|
97
|
+
cp -R packages/am-hermes/plugins/context_engine/agentic-memory \
|
|
98
|
+
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Configure Hermes:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
hermes memory setup
|
|
105
|
+
hermes config set memory.provider agentic-memory
|
|
106
|
+
hermes config set context.engine agentic-memory
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The setup wizard writes non-secret configuration to:
|
|
110
|
+
|
|
111
|
+
```text
|
|
112
|
+
$HERMES_HOME/agentic-memory.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Secrets are expected in the Hermes `.env` file via:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
AGENTIC_MEMORY_API_KEY=...
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
If you need a managed account key during Hermes setup, use the
|
|
122
|
+
Hermes-attributed account URL:
|
|
123
|
+
|
|
124
|
+
```text
|
|
125
|
+
https://backend.agentmemorylabs.com/account/auth/google/start?connector_source=hermes
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Direct website signups do not receive a free hosted runtime trial by default.
|
|
129
|
+
Connector-attributed signups can receive a configured trial when Agent Memory
|
|
130
|
+
Labs is running that acquisition campaign.
|
|
131
|
+
|
|
132
|
+
Optional environment overrides:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
AGENTIC_MEMORY_BACKEND_URL=https://backend.agentmemorylabs.com
|
|
136
|
+
AGENTIC_MEMORY_DATA_PLANE_URL=
|
|
137
|
+
AGENTIC_MEMORY_WORKSPACE_ID=hermes
|
|
138
|
+
AGENTIC_MEMORY_DEVICE_ID=hermes-local
|
|
139
|
+
AGENTIC_MEMORY_AGENT_ID=hermes-agent
|
|
140
|
+
AGENTIC_MEMORY_PROJECT_ID=
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
For managed hosted accounts, `AGENTIC_MEMORY_BACKEND_URL` is the control-plane
|
|
144
|
+
URL. During setup the memory provider tries to fetch
|
|
145
|
+
`/product/account/runtime-route`; when the account runtime is ready it saves a
|
|
146
|
+
branded data-plane URL such as `https://rt-abc123.agentmemorylabs.app` in
|
|
147
|
+
`agentic-memory.json`. Normal memory and context calls then use that owned
|
|
148
|
+
runtime URL. Raw provider origins are not written to Hermes config.
|
|
149
|
+
|
|
150
|
+
## Troubleshooting
|
|
151
|
+
|
|
152
|
+
If Hermes reports `HTTP 403` with `error code: 1010`, the request was blocked
|
|
153
|
+
at the Cloudflare edge before it reached Agentic Memory. Check these first:
|
|
154
|
+
|
|
155
|
+
- `AGENTIC_MEMORY_BACKEND_URL` should normally be
|
|
156
|
+
`https://backend.agentmemorylabs.com`.
|
|
157
|
+
- `AGENTIC_MEMORY_DATA_PLANE_URL` should be empty unless setup saved a current
|
|
158
|
+
account runtime route in `~/.hermes/agentic-memory.json`.
|
|
159
|
+
- `AGENTIC_MEMORY_WORKSPACE_ID` should match the workspace bound to the API key
|
|
160
|
+
when using workspace-bound keys. Account-scoped keys can use the default
|
|
161
|
+
`hermes` workspace.
|
|
162
|
+
- `AGENTIC_MEMORY_API_KEY` must be present in the Hermes environment.
|
|
163
|
+
- Hosted edge rules must allow the `agentic-memory-hermes/0.1.0` User-Agent.
|
|
164
|
+
|
|
165
|
+
The plugin records background write failures instead of printing thread
|
|
166
|
+
tracebacks, so search/context tool errors are the canonical symptom to inspect.
|
|
167
|
+
|
|
168
|
+
## Backend Contract
|
|
169
|
+
|
|
170
|
+
The Hermes plugins use the same backend routes as the OpenClaw integration:
|
|
171
|
+
|
|
172
|
+
- `GET /product/account/runtime-route`
|
|
173
|
+
- `POST /openclaw/session/register`
|
|
174
|
+
- `POST /openclaw/memory/search`
|
|
175
|
+
- `POST /openclaw/memory/read`
|
|
176
|
+
- `POST /openclaw/memory/ingest-turn`
|
|
177
|
+
- `POST /openclaw/context/resolve`
|
|
178
|
+
|
|
179
|
+
That keeps this integration a thin host adapter. Agentic Memory remains the
|
|
180
|
+
system of record for storage, retrieval, project scope, and hosted/self-hosted
|
|
181
|
+
backend behavior.
|
|
182
|
+
|
|
183
|
+
## Verify From This Repo
|
|
184
|
+
|
|
185
|
+
The tests use local Hermes ABC shims so this module can be checked without a
|
|
186
|
+
Hermes checkout:
|
|
187
|
+
|
|
188
|
+
```powershell
|
|
189
|
+
.\.venv-agentic-memory\Scripts\python.exe -m pytest packages/am-hermes/tests -q
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## WSL Paths
|
|
193
|
+
|
|
194
|
+
When this repo is checked out on Windows at `D:\code\agentic-memory`, the WSL
|
|
195
|
+
copy commands are:
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
mkdir -p ~/.hermes/plugins ~/.hermes/hermes-agent/plugins/context_engine
|
|
199
|
+
|
|
200
|
+
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/memory/agentic-memory \
|
|
201
|
+
~/.hermes/plugins/agentic-memory
|
|
202
|
+
|
|
203
|
+
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/context_engine/agentic-memory \
|
|
204
|
+
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory
|
|
205
|
+
```
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Agentic Memory for Hermes Agent
|
|
2
|
+
|
|
3
|
+
This package is a showcase Hermes Agent integration for Agentic Memory. It ships
|
|
4
|
+
two Hermes provider plugins side by side:
|
|
5
|
+
|
|
6
|
+
- `plugins/memory/agentic-memory`
|
|
7
|
+
- a Hermes `MemoryProvider`
|
|
8
|
+
- recalls Agentic Memory context before model calls
|
|
9
|
+
- exposes explicit memory search/read tools
|
|
10
|
+
- persists completed turns to Agentic Memory in a background thread
|
|
11
|
+
- `plugins/context_engine/agentic-memory`
|
|
12
|
+
- a Hermes `ContextEngine`
|
|
13
|
+
- replaces default compression with Agentic Memory-backed context resolution
|
|
14
|
+
- keeps Hermes token counters and returns valid OpenAI-format messages
|
|
15
|
+
|
|
16
|
+
The directory layout follows the Hermes docs:
|
|
17
|
+
|
|
18
|
+
```text
|
|
19
|
+
plugins/
|
|
20
|
+
├── memory/
|
|
21
|
+
│ └── agentic-memory/
|
|
22
|
+
│ ├── __init__.py
|
|
23
|
+
│ ├── cli.py
|
|
24
|
+
│ └── plugin.yaml
|
|
25
|
+
└── context_engine/
|
|
26
|
+
└── agentic-memory/
|
|
27
|
+
├── __init__.py
|
|
28
|
+
└── plugin.yaml
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## One-Command Install
|
|
32
|
+
|
|
33
|
+
Install the Hermes integration with `uvx` from the published wheel:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
uvx --from https://github.com/jarmen423/agentic-memory/releases/download/hermes-v0.1.1/agentic_memory_hermes-0.1.1-py3-none-any.whl agentic-memory-hermes install --force
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
That command installs both Hermes plugin slots and configures Hermes to use
|
|
40
|
+
Agentic Memory:
|
|
41
|
+
|
|
42
|
+
- memory provider: `~/.hermes/plugins/agentic-memory`
|
|
43
|
+
- context engine: `~/.hermes/hermes-agent/plugins/context_engine/agentic-memory`
|
|
44
|
+
- `memory.provider = agentic-memory`
|
|
45
|
+
- `context.engine = agentic-memory`
|
|
46
|
+
|
|
47
|
+
For an isolated Hermes profile, pass the profile home explicitly:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
uvx --from https://github.com/jarmen423/agentic-memory/releases/download/hermes-v0.1.1/agentic_memory_hermes-0.1.1-py3-none-any.whl agentic-memory-hermes install --force --hermes-home "$HERMES_HOME"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
If you install the package directly into Hermes' own Python environment, Hermes
|
|
54
|
+
can also discover the plugin through the `hermes_agent.plugins` entry point:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
~/.hermes/hermes-agent/venv/bin/pip install agentic-memory-hermes
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Once the project is published to PyPI, the shorter command will be:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
uvx agentic-memory-hermes install --force
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Manual Install Into Hermes
|
|
67
|
+
|
|
68
|
+
Copy the memory provider into the Hermes profile plugin directory, then copy
|
|
69
|
+
the context engine into the Hermes project plugin directory. Hermes v0.13 scans
|
|
70
|
+
those two plugin types differently:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
cp -R packages/am-hermes/plugins/memory/agentic-memory \
|
|
74
|
+
~/.hermes/plugins/agentic-memory
|
|
75
|
+
|
|
76
|
+
cp -R packages/am-hermes/plugins/context_engine/agentic-memory \
|
|
77
|
+
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Configure Hermes:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
hermes memory setup
|
|
84
|
+
hermes config set memory.provider agentic-memory
|
|
85
|
+
hermes config set context.engine agentic-memory
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The setup wizard writes non-secret configuration to:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
$HERMES_HOME/agentic-memory.json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Secrets are expected in the Hermes `.env` file via:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
AGENTIC_MEMORY_API_KEY=...
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
If you need a managed account key during Hermes setup, use the
|
|
101
|
+
Hermes-attributed account URL:
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
https://backend.agentmemorylabs.com/account/auth/google/start?connector_source=hermes
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Direct website signups do not receive a free hosted runtime trial by default.
|
|
108
|
+
Connector-attributed signups can receive a configured trial when Agent Memory
|
|
109
|
+
Labs is running that acquisition campaign.
|
|
110
|
+
|
|
111
|
+
Optional environment overrides:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
AGENTIC_MEMORY_BACKEND_URL=https://backend.agentmemorylabs.com
|
|
115
|
+
AGENTIC_MEMORY_DATA_PLANE_URL=
|
|
116
|
+
AGENTIC_MEMORY_WORKSPACE_ID=hermes
|
|
117
|
+
AGENTIC_MEMORY_DEVICE_ID=hermes-local
|
|
118
|
+
AGENTIC_MEMORY_AGENT_ID=hermes-agent
|
|
119
|
+
AGENTIC_MEMORY_PROJECT_ID=
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
For managed hosted accounts, `AGENTIC_MEMORY_BACKEND_URL` is the control-plane
|
|
123
|
+
URL. During setup the memory provider tries to fetch
|
|
124
|
+
`/product/account/runtime-route`; when the account runtime is ready it saves a
|
|
125
|
+
branded data-plane URL such as `https://rt-abc123.agentmemorylabs.app` in
|
|
126
|
+
`agentic-memory.json`. Normal memory and context calls then use that owned
|
|
127
|
+
runtime URL. Raw provider origins are not written to Hermes config.
|
|
128
|
+
|
|
129
|
+
## Troubleshooting
|
|
130
|
+
|
|
131
|
+
If Hermes reports `HTTP 403` with `error code: 1010`, the request was blocked
|
|
132
|
+
at the Cloudflare edge before it reached Agentic Memory. Check these first:
|
|
133
|
+
|
|
134
|
+
- `AGENTIC_MEMORY_BACKEND_URL` should normally be
|
|
135
|
+
`https://backend.agentmemorylabs.com`.
|
|
136
|
+
- `AGENTIC_MEMORY_DATA_PLANE_URL` should be empty unless setup saved a current
|
|
137
|
+
account runtime route in `~/.hermes/agentic-memory.json`.
|
|
138
|
+
- `AGENTIC_MEMORY_WORKSPACE_ID` should match the workspace bound to the API key
|
|
139
|
+
when using workspace-bound keys. Account-scoped keys can use the default
|
|
140
|
+
`hermes` workspace.
|
|
141
|
+
- `AGENTIC_MEMORY_API_KEY` must be present in the Hermes environment.
|
|
142
|
+
- Hosted edge rules must allow the `agentic-memory-hermes/0.1.0` User-Agent.
|
|
143
|
+
|
|
144
|
+
The plugin records background write failures instead of printing thread
|
|
145
|
+
tracebacks, so search/context tool errors are the canonical symptom to inspect.
|
|
146
|
+
|
|
147
|
+
## Backend Contract
|
|
148
|
+
|
|
149
|
+
The Hermes plugins use the same backend routes as the OpenClaw integration:
|
|
150
|
+
|
|
151
|
+
- `GET /product/account/runtime-route`
|
|
152
|
+
- `POST /openclaw/session/register`
|
|
153
|
+
- `POST /openclaw/memory/search`
|
|
154
|
+
- `POST /openclaw/memory/read`
|
|
155
|
+
- `POST /openclaw/memory/ingest-turn`
|
|
156
|
+
- `POST /openclaw/context/resolve`
|
|
157
|
+
|
|
158
|
+
That keeps this integration a thin host adapter. Agentic Memory remains the
|
|
159
|
+
system of record for storage, retrieval, project scope, and hosted/self-hosted
|
|
160
|
+
backend behavior.
|
|
161
|
+
|
|
162
|
+
## Verify From This Repo
|
|
163
|
+
|
|
164
|
+
The tests use local Hermes ABC shims so this module can be checked without a
|
|
165
|
+
Hermes checkout:
|
|
166
|
+
|
|
167
|
+
```powershell
|
|
168
|
+
.\.venv-agentic-memory\Scripts\python.exe -m pytest packages/am-hermes/tests -q
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## WSL Paths
|
|
172
|
+
|
|
173
|
+
When this repo is checked out on Windows at `D:\code\agentic-memory`, the WSL
|
|
174
|
+
copy commands are:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
mkdir -p ~/.hermes/plugins ~/.hermes/hermes-agent/plugins/context_engine
|
|
178
|
+
|
|
179
|
+
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/memory/agentic-memory \
|
|
180
|
+
~/.hermes/plugins/agentic-memory
|
|
181
|
+
|
|
182
|
+
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/context_engine/agentic-memory \
|
|
183
|
+
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory
|
|
184
|
+
```
|