Summary
install_hermes_memory_tencentdb.sh currently symlinks the Hermes plugin only into:
$HERMES_AGENT_DIR/plugins/memory/memory_tencentdb
On Hermes hosts where the main checkout is updated/replaced, that symlink can disappear while memory.provider: memory_tencentdb remains configured.
When that happens:
hermes memory status reports Plugin: NOT installed
- the Tencent sidecar on
127.0.0.1:8420 does not start
- new Hermes chats continue working, but Tencent
vectors.db and gateway logs stop advancing
This is a high-severity operational bug because memory silently detaches while the main gateway still looks healthy.
Environment
- Host: Linux
- Hermes installed under:
/home/admin/.hermes/hermes-agent
- Tencent plugin checkout:
/home/admin/.memory-tencentdb/tdai-memory-openclaw-plugin
- Hermes config still points to
memory.provider: memory_tencentdb
- memory LLM:
deepseek-v4-flash
- embedding enabled
Verified live failure
Observed on a real Hermes host after the Tencent plugin had been working previously.
1) Hermes main gateway still healthy
systemctl is-active hermes-gateway.service
# active
So the main Hermes gateway is up.
2) Hermes memory status says provider configured but plugin missing
Returned:
Memory status
────────────────────────────────────────
Built-in: always active
Provider: memory_tencentdb
Plugin: NOT installed ✗
Install the 'memory_tencentdb' memory plugin to ~/.hermes/plugins/
3) Tencent sidecar not listening
curl http://127.0.0.1:8420/health
# connection refused
4) Hermes plugin path missing even though Tencent source plugin still exists
Missing:
/home/admin/.hermes/hermes-agent/plugins/memory/memory_tencentdb
/home/admin/.hermes/plugins/memory/memory_tencentdb
Still present:
/home/admin/.memory-tencentdb/tdai-memory-openclaw-plugin/hermes-plugin/memory/memory_tencentdb
5) Memory writes stopped completely until symlink was restored
Direct DB check on vectors.db showed no new records in the last ~48h while Hermes itself was still being used:
l0_conversations latest: 2026-06-05T01:29:31.656Z
l1_records latest: 2026-06-05T01:29:50.363Z
last 48h L0 additions: 0
last 48h L1 additions: 0
This means chat activity continued, but Tencent memory ingest did not.
Why this appears to happen
The installer currently links only into the Hermes checkout tree:
scripts/install_hermes_memory_tencentdb.sh
- around Step 2.5:
HERMES_PLUGIN_DIR="$HERMES_AGENT_DIR/plugins/memory/memory_tencentdb"
PLUGIN_SRC_DIR="$TDAI_INSTALL_DIR/hermes-plugin/memory/memory_tencentdb"
rm -rf "$HERMES_PLUGIN_DIR"
ln -sf "$PLUGIN_SRC_DIR" "$HERMES_PLUGIN_DIR"
I do not see the installer also creating a user-scope plugin symlink under:
~/.hermes/plugins/memory/memory_tencentdb
So if the Hermes checkout under $HERMES_AGENT_DIR is replaced/updated, the only plugin mount can disappear.
Minimal recovery that worked immediately
Restoring the symlink fixed the issue.
mkdir -p /home/admin/.hermes/hermes-agent/plugins/memory
ln -sfn \
/home/admin/.memory-tencentdb/tdai-memory-openclaw-plugin/hermes-plugin/memory/memory_tencentdb \
/home/admin/.hermes/hermes-agent/plugins/memory/memory_tencentdb
To make it more resilient against Hermes checkout changes, I also added a user-scope symlink:
mkdir -p /home/admin/.hermes/plugins/memory
ln -sfn \
/home/admin/.memory-tencentdb/tdai-memory-openclaw-plugin/hermes-plugin/memory/memory_tencentdb \
/home/admin/.hermes/plugins/memory/memory_tencentdb
After that:
hermes memory status -> Plugin installed ✓, Status available ✓
curl 127.0.0.1:8420/health -> status ok
And a smoke test chat immediately wrote new L0 records into vectors.db again.
Expected behavior
If memory.provider: memory_tencentdb is configured and the Tencent plugin source directory still exists, a normal Hermes update/restart should not silently detach the memory provider.
Suggested fix
I think the installer should do at least one of these:
- Create the plugin symlink under
~/.hermes/plugins/memory/memory_tencentdb (user-scope plugin dir) instead of relying only on the mutable Hermes checkout tree.
- Or create both links:
$HERMES_AGENT_DIR/plugins/memory/memory_tencentdb
~/.hermes/plugins/memory/memory_tencentdb
- Add a post-install / post-start verification step that fails loudly if:
- config says
memory.provider: memory_tencentdb
- but plugin discovery does not find
memory_tencentdb
Severity
High operational severity.
This failure mode leaves users in a bad state where:
- Hermes gateway is still active
- chats still work
- but memory ingest/recall through Tencent is effectively detached until someone manually inspects plugin paths
Duplicate check
I searched current issues for Hermes plugin / sidecar / 8420 / provider missing / symlink related reports and did not find a matching existing issue.
Summary
install_hermes_memory_tencentdb.shcurrently symlinks the Hermes plugin only into:$HERMES_AGENT_DIR/plugins/memory/memory_tencentdbOn Hermes hosts where the main checkout is updated/replaced, that symlink can disappear while
memory.provider: memory_tencentdbremains configured.When that happens:
hermes memory statusreportsPlugin: NOT installed127.0.0.1:8420does not startvectors.dband gateway logs stop advancingThis is a high-severity operational bug because memory silently detaches while the main gateway still looks healthy.
Environment
/home/admin/.hermes/hermes-agent/home/admin/.memory-tencentdb/tdai-memory-openclaw-pluginmemory.provider: memory_tencentdbdeepseek-v4-flashVerified live failure
Observed on a real Hermes host after the Tencent plugin had been working previously.
1) Hermes main gateway still healthy
systemctl is-active hermes-gateway.service # activeSo the main Hermes gateway is up.
2) Hermes memory status says provider configured but plugin missing
Returned:
3) Tencent sidecar not listening
curl http://127.0.0.1:8420/health # connection refused4) Hermes plugin path missing even though Tencent source plugin still exists
Missing:
Still present:
5) Memory writes stopped completely until symlink was restored
Direct DB check on
vectors.dbshowed no new records in the last ~48h while Hermes itself was still being used:This means chat activity continued, but Tencent memory ingest did not.
Why this appears to happen
The installer currently links only into the Hermes checkout tree:
scripts/install_hermes_memory_tencentdb.shI do not see the installer also creating a user-scope plugin symlink under:
~/.hermes/plugins/memory/memory_tencentdbSo if the Hermes checkout under
$HERMES_AGENT_DIRis replaced/updated, the only plugin mount can disappear.Minimal recovery that worked immediately
Restoring the symlink fixed the issue.
To make it more resilient against Hermes checkout changes, I also added a user-scope symlink:
After that:
And a smoke test chat immediately wrote new L0 records into
vectors.dbagain.Expected behavior
If
memory.provider: memory_tencentdbis configured and the Tencent plugin source directory still exists, a normal Hermes update/restart should not silently detach the memory provider.Suggested fix
I think the installer should do at least one of these:
~/.hermes/plugins/memory/memory_tencentdb(user-scope plugin dir) instead of relying only on the mutable Hermes checkout tree.$HERMES_AGENT_DIR/plugins/memory/memory_tencentdb~/.hermes/plugins/memory/memory_tencentdbmemory.provider: memory_tencentdbmemory_tencentdbSeverity
High operational severity.
This failure mode leaves users in a bad state where:
Duplicate check
I searched current issues for Hermes plugin / sidecar / 8420 / provider missing / symlink related reports and did not find a matching existing issue.